Forum » Programiranje » while in for odštevanje - kot rezultat upošteva tudi izhodiščno vrednost
while in for odštevanje - kot rezultat upošteva tudi izhodiščno vrednost
slitkx ::
Tole je delujoča koda, sintaktično pravilna, morda je kaj tudi odveč napisanega (npr.
Zanima me, kaj mi je storiti, da pri izpisovanju ne bo izpisalo tudi "Trenutni rezultat odštevanja je 40."? Želim, da začne s 36.
Ni nujno, da mi podate direktno rešitev - tudi namig k razmišljanju bo ok.
var i = 40;).
Zanima me, kaj mi je storiti, da pri izpisovanju ne bo izpisalo tudi "Trenutni rezultat odštevanja je 40."? Želim, da začne s 36.
Ni nujno, da mi podate direktno rešitev - tudi namig k razmišljanju bo ok.
// Tole sta 'for' in 'while' zanki, v kateri bo program najprej izpisal // začetno vrednost 40, nato po preverjanju pogoja trenutno vrednost // zmanjšal za 4 ter izpisal novo vrednost. Nato zopet sledi preverjanje // pogoja ter izpisovanje trenutne vrednosti, vse dokler program // ne pride do 0 in izpiše tudi to vrednost. console.log("Začetna vrednost je 40."); var i = function () { var i = 40; while (i >= 0) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); i-=4; } }; for (i = 40; i >= 0; i-=4) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); }
slitkx ::
Naloga je sicer s Codecademy, potrebno je bilo uporabiti 'while' in 'for' zanki hkrati. Lahko bi ju tudi v eni kodi skupaj. (Tudi tukaj velja, da mi lahko predlagate rešitev oz. namignete.)
Eh, sem že pogruntal, lol. :D
Eh, sem že pogruntal, lol. :D
// Tole sta 'for' in 'while' zanki, v kateri bo program najprej izpisal // začetno vrednost 40, nato po preverjanju pogoja trenutno vrednost // zmanjšal za 4 ter izpisal novo vrednost. Nato zopet sledi preverjanje // pogoja ter izpisovanje trenutne vrednosti, vse dokler program // ne pride do 0 in izpiše tudi to vrednost. console.log("Začetna vrednost je 40."); var i = function () { var i = 36; while (i >= 0) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); i-=4; } }; for (i = 36; i >= 0; i-=4) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); }
Zgodovina sprememb…
- spremenil: slitkx ()
root987 ::
Bravo :)
Da ne bom samo nekoristen - to da imaš ime funkcije enako kot spremenljivka je zelo grda praksa in kar kličeš po težavah - ko sem prvič videl tvojo kodo sem pričakoval da imaš že probleme zaradi tega. i je sicer dokaj standardno ime za spremenljivke za loope, tako da bi na tvojem mestu funkcijo preimenoval.
Poleg tega je tukaj ali ta loop ali pa funkcija nekoristna - v trenutni različici se izvrši samo loop, saj v loopu takoj prepišeš funkcijo i s številom 36.
Če hočeš s funkcijo:
Da ne bom samo nekoristen - to da imaš ime funkcije enako kot spremenljivka je zelo grda praksa in kar kličeš po težavah - ko sem prvič videl tvojo kodo sem pričakoval da imaš že probleme zaradi tega. i je sicer dokaj standardno ime za spremenljivke za loope, tako da bi na tvojem mestu funkcijo preimenoval.
Poleg tega je tukaj ali ta loop ali pa funkcija nekoristna - v trenutni različici se izvrši samo loop, saj v loopu takoj prepišeš funkcijo i s številom 36.
Če hočeš s funkcijo:
var zacetna = 40; var odstevajpo = 4; console.log("Začetna vrednost je "+zacetna); var odstevalnik = function () { var i = zacetna - odstevajpo; while (i >= 0) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); i -= odstevajpo; } }; odstevalnik();
"Myths which are believed in tend to become true."
--- George Orwell
--- George Orwell
Zgodovina sprememb…
- spremenil: root987 ()
slitkx ::
A pa se da to tudi na elegantnejši način izvesti, s kakim pogojem, primerjavami? Ker direktno vpisovanje 36 deluje cheap.
Fora naloge je, da imam HKRATI while in for zanko, ki izvršita enako.
Funkcijo sem na začetku zapisal, ker je tako tudi v Codecademy primeru. Poleg tega, ko sem odstranil deklaracijo funkcije, se koda ni izvršila, brskalnik se je pa obesil. ;)
Fora naloge je, da imam HKRATI while in for zanko, ki izvršita enako.
Funkcijo sem na začetku zapisal, ker je tako tudi v Codecademy primeru. Poleg tega, ko sem odstranil deklaracijo funkcije, se koda ni izvršila, brskalnik se je pa obesil. ;)
Zgodovina sprememb…
- spremenil: slitkx ()
root987 ::
Am, razen tega da narediš kot začetni pogoj
A, oki, nisem vedel kaj je cilj naloge. Ampak potem moraš dodati še izvršitev funkcije, saj se ti po tvoji kodi ne izvrši.
Kako misliš to da si odstranil deklaracijo funkcije?
var i = zacetna - odstevajpo;, mi kaj drugega trenutno ne pade na pamet.
A, oki, nisem vedel kaj je cilj naloge. Ampak potem moraš dodati še izvršitev funkcije, saj se ti po tvoji kodi ne izvrši.
Kako misliš to da si odstranil deklaracijo funkcije?
"Myths which are believed in tend to become true."
--- George Orwell
--- George Orwell
TEDY ::
samo v tem primeru ti gre lahko tudi v minus, moraš popraviti pogoj.
še za for zanko:
še za for zanko:
for(i=40; i-=4, i>=0;)
slitkx ::
Torej končni izpisa z while in for hkrati ter morebiti brez funkcije je?
Ker tudi če i-=4 prestavim, ni haska.
Zdajle sicer premetavam kodo gor-dol...
Ker tudi če i-=4 prestavim, ni haska.
Zdajle sicer premetavam kodo gor-dol...
Zgodovina sprememb…
- spremenil: slitkx ()
slitkx ::
slitkx ::
console.log("Začetna vrednost je 40."); var i = 40; while (i >= 0) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); i-=4; } for (i = 40; i >= 0; i-=4) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); }
Tole zgoraj je toliko popravljena koda, da ne jamra več z onima napakama. Ampak še zmeraj pa izpiše pri odštevanju tudi 40.
Zdajle skušam sestaviti kodo tako, da bi bila 'for' v 'while'.
Aja, pa tole premikanje i-=4; pred izpis ni imelo efekta.
Zgodovina sprememb…
- spremenil: slitkx ()
TEDY ::
var i = 40; while (i >= 4) { i-=4; console.log("Trenutni rezultat odštevanja je" + " " + i + "."); } for (i = 40; i-=4, i >= 0;) { console.log("Trenutni rezultat odštevanja je" + " " + i + "."); }
slitkx ::
Hvala, koda se izvrši, kot je pričakovano. (Vendar pa zopet javi opozorila (ne z rdečim X-om, temveč klicajem), a bo že treba ignorirati...)
Zgodovina sprememb…
- spremenil: slitkx ()
Baja ::
A pa se da to tudi na elegantnejši način izvesti, s kakim pogojem, primerjavami? Ker direktno vpisovanje 36 deluje cheap.
Fora naloge je, da imam HKRATI while in for zanko, ki izvršita enako.
Funkcijo sem na začetku zapisal, ker je tako tudi v Codecademy primeru. Poleg tega, ko sem odstranil deklaracijo funkcije, se koda ni izvršila, brskalnik se je pa obesil. ;)
ce hočeš met začetno vrednost 40, prvi rezultat pa 36, potem prvo odštej 4 in nato izpiši s console.log() ;)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JavaScript] ObjectsOddelek: Programiranje | 2780 (2242) | noraguta |
» | jQuery - proži samo enkratOddelek: Programiranje | 1187 (984) | luksorzi |
» | [js] json kompresijaOddelek: Programiranje | 3834 (3183) | infiniteLoop |
» | [jquery] .appendOddelek: Programiranje | 942 (769) | korenje3 |
» | Spletna stran oz. program za preverjanje delovanja JavaScript kode?Oddelek: Programiranje | 711 (636) | slitkx |