Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
Jan28
HV vaatleja
liitunud: 31.08.2017
|
31.08.2017 16:12:16
Andke nõu algajale |
|
|
Millise programmiga on mõistlik lahendada seda ülesannet?
Kirjuta kood, mis:
• väljastab <ul> listi kõigist täisarvudest vahemikus 1-100
• kõigi numbrite asemel, mis jaguvad 3-ga, väljastab teksti “foo”
• kõigi numbrite asemel, mis jaguvad 5-ga, väljastab teksti “bar”
• numbrite asemel, mis jaguvad nii 3 kui 5-ga, väljastab teksti “foobar”
|
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
31.08.2017 16:39:13
|
|
|
Head kooliaasta algust. Eeldan, et sa mõtled "programmi" all programmeerimiskeelt.
Kuna
on HTML keele "tag", siis soovitaksingi kasutada HTMLi koos Javascriptiga. Javascripti saad kasutada niisama sellisena nagu ta on või siis kasutada mõnda Javascripti "libraryt" nagu jQuery. Kõige "lihtsam" oleks seda teha kasutades AngularJS raamistikku, aga see vajab natuke rohkem nokitsemist, et esialgne süsteem püsti saada.
Kõige suuremaks abiks on Google ning iseseisev õppimine.
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
Jan28
HV vaatleja
liitunud: 31.08.2017
|
31.08.2017 18:36:49
|
|
|
Oi ma täpsustan olukorda! Ma pusin esimesi samme PHP kallal.
Palun vihjeid, kuidas seda kõike PHPga lahendada?
|
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
CommandsRef
HV kasutaja
liitunud: 04.09.2002
|
31.08.2017 19:22:35
|
|
|
Jan28 kirjutas: |
Oi ma täpsustan olukorda! Ma pusin esimesi samme PHP kallal.
Palun vihjeid, kuidas seda kõike PHPga lahendada? |
Kuhu see isetegemise rõõm siis jääb? OK, võtame selle rõõmu ära, tee nii nagu pea iga teisegi keelega algaja teeks: tsükkel 0-st 100-ni ning sinna 2 IF-lauset, võid ka 3 teha kui 2 maagia tundub.
|
|
Kommentaarid: 12 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
12 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
01.09.2017 09:15:49
|
|
|
Jan28, märksõnad on "for" ja "if".
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
01.09.2017 14:14:57
|
|
|
Psych0 kirjutas: |
Head kooliaasta algust. Eeldan, et sa mõtled "programmi" all programmeerimiskeelt.
Kuna
on HTML keele "tag", siis soovitaksingi kasutada HTMLi koos Javascriptiga. Javascripti saad kasutada niisama sellisena nagu ta on või siis kasutada mõnda Javascripti "libraryt" nagu jQuery. Kõige "lihtsam" oleks seda teha kasutades AngularJS raamistikku, aga see vajab natuke rohkem nokitsemist, et esialgne süsteem püsti saada.
Kõige suuremaks abiks on Google ning iseseisev õppimine. |
Algajal on php või mõne muu backend keelega seda lihtsam teha, javascriptiga peab hakkama veel seda ka õppima, kuidas need elemendid DOM-s õigesse kohta toppida.
Teemaalgatajele - nagu öeldud vihjeks on for ja if. Ühe vihje annan siiski veel. Näiteks seda kas kolmega jagub saad kontrollida nii:
if($number % 3 == 0){
//siia kood mis juhtub kui jagub kolmega
}
|
|
Kommentaarid: 76 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
59 |
|
tagasi üles |
|
|
andresv
HV kasutaja
liitunud: 06.12.2004
|
01.09.2017 15:49:40
|
|
|
siin veidi lahatud seda ülesannet:
Spoiler
Peaks arusaadav olema ka neile, kes veel for loopi progeda ei oska
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
5 |
|
tagasi üles |
|
|
CommandsRef
HV kasutaja
liitunud: 04.09.2002
|
04.09.2017 08:54:33
|
|
|
Peaks koodi üles panema ja vaatama, kas järgmisel aastal ka keegi sama asja küsib.
|
|
Kommentaarid: 12 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
12 |
|
tagasi üles |
|
|
LKits
HV Guru
liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
infidel
HV kasutaja
liitunud: 31.01.2004
|
07.09.2017 11:25:55
|
|
|
Teema läheb veidi lappama...
Asi taandub sellele, et õpetaja-õpilase suhtluses on auk ja põhitõed pole arusaadavaks tehtud. Üritaks siis ise.
Programmeerimises (sõltumata keelest) on kolm peamist elementi: muutujad, tsüklid ja tingimused.
Muutuja on mingi parameeter, mille väärtust saab muuta. Tsükkel tähendab seda, et programm teeb sama asja järjest. Tingimus tähendab seda, et mingi väärtuse järgi tehakse midagi.
Antud ülesande raames on üks tsükkel - numbrite lugemine. Tsüklis on tingimus, et 100st edasi ei loeta, st tsükkel katkestatakse.
Lisaks on veel tingimused jaguvuse kohta, neid vaatame edaspidi.
Hetkel vaatluse all olev number on muutuja väärtus sellel hetkel. Seega on programmi ülesehitus järgmine:
Muutuja saab algväärtuse 1.
Tsükkel algab.
Toimuvad kontrollid, kas jaguvuse tingimused on täidetud:
Kui muutuja ei jagu 3 ega 5-ga, siis läheb väljundisse number
Kui muutuja jagub 3-ga aga mitte 5-ga, siis läheb väljundisse "foo"
Kui muutuja jagub 5-ga aga mitte 3-ga, siis läheb väljundisse "bar"
Kui muutuja jagub 3 ja 5-ga, siis läheb väljundisse "foobar"
Muutuja väärtus kasvab 1 võrra, st võetakse järgmine täisarv.
Kui muutuja väärtus on väiksem kui piirväärtus, siis minnakse tsükli algusesse tagasi.
PHP-s on seda võimalik realiseerida päris mitut moodi. Tsükli puhul võib seada näiteks tingimuse:
https://www.w3schools.com/php/php_looping.asp
Või võtta tsükli aluseks numbrijada:
https://www.w3schools.com/php/php_looping_for.asp
Tingimuste jaoks on enam-vähem kõigis laiatarbekeeltes IF.
https://www.w3schools.com/php/php_if_else.asp
Edasi tuleks proovida eelpool toodud struktuur PHP-sse ümber kirjutada. Siis tuleb järgmine samm - optimeerimine. Toodud kirjelduses kontrollitakse samu asju mitu korda ja need on võimalik omavahel üsna lihtsalt ühendada. Seda on aga parem teha siis, kui on enam-vähem ülevaade sellest, mida miski tähendab.
|
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
34 |
|
tagasi üles |
|
|
LKits
HV Guru
liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
LKits
HV Guru
liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
napoleon
Unknown virus
liitunud: 08.12.2008
|
07.09.2017 13:52:20
|
|
|
Miks otse minna kui ringiga saab
php:
|
$arv = 98; //ülesandes olev suvaline arv vahemikus 1 kuni 100 if ($arv % 3 == 0 ) //täisarv else //ei ole täisarv
|
või kui tahad ilmtingimata javascriptiga teha, siis põmst sama
javascript:
|
arv = 98; //ülesandes olev suvaline arv vahemikus 1 kuni 100 if ( arv % 3 == 0 ) //täisarv else //ei ole täisarv
|
kindlasti leiab erandeid, aga kui keelel on mingi toimingu jaoks operaator olemas, siis performance osas on see üldjuhul kiirem kui ise jalgratta leiutamine
|
|
Kommentaarid: 76 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
59 |
|
tagasi üles |
|
|
NATAS999
HV Guru
liitunud: 02.04.2007
|
07.09.2017 14:29:01
|
|
|
infidel, milleks 3 muutujat 3 või 5 või 3 ja 5ga jaguvuse jaoks? kui jagub kolmega siis väljundisse, foo, kui jagub 5ga, väljundisse bar, kui jagub mõlemaga, laseb foo ja bar üksteisele selga.
|
|
Kommentaarid: 41 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
39 |
|
tagasi üles |
|
|
infidel
HV kasutaja
liitunud: 31.01.2004
|
07.09.2017 14:46:43
|
|
|
NATAS999 kirjutas: |
infidel, milleks 3 muutujat 3 või 5 või 3 ja 5ga jaguvuse jaoks? kui jagub kolmega siis väljundisse, foo, kui jagub 5ga, väljundisse bar, kui jagub mõlemaga, laseb foo ja bar üksteisele selga. |
Ainult selleks, et võimalikult vähe uusi asju oleks ja kõik tegevused oleks lihtsalt mõistetavad (vt postituse viimast lõiku). Ei ole mõtet algaja jaoks asja liiga keeruliseks ajada
|
|
Kommentaarid: 35 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
34 |
|
tagasi üles |
|
|
LKits
HV Guru
liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
|
|