Weblap Hová jutunk?

A for ciklus, x lefutásonkénti eredményének kiíratása. 708

A for ciklus leghatékonyabb előnye, hosszú matematikai feladatok gyors kiértékelése esetén válik igazán hatásossá.
Természetesen rövidebb feladatokra is igen hasznos.

Programunk, mind a 100 lefutási eredményt, kiírja

JavaScript program:
A for ciklus 100-szor fut le, mert a kisebb-mint <101, a 101-et már nem hajtja végre

<p>
<script language="JavaScript" type="text/javascript" >
var s=0, a=0, b=0, c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ b +"</b> <br />");
a++;
}
</script>
</p>

A ciklusok futását tetszőleges helyen megállíthatjuk.

Ehhez, a cikluson belül, tetszőleges helyen, kell elhelyezni a break utasítást, melynek végrehajtását egy feltételhez kell beállítani.

Példa:
if (s==10) break;
s : lefutások számlálója
== : teljesen egyenlő
10 : tizedik lefutás után teljesül a break utasítás
break : kilépés a ciklusból

JavaScript program:
A for ciklus 100-szor futna le, de a break utasítás 10 lefutás után megállítja, és programunk kilép a ciklusból

<p>
<script language="JavaScript" type="text/javascript" >
var s=0, a=0, b=0, c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ b +"</b> <br />");
a++;
if (s==10) break;
}
</script>
</p>

Kapott eredmény

Ciklus futása közben, kiírathatunk meghatározott sorszámú eredményeket.

Ilyenkor meg kell adni egy feltételben, milyen sorszám lépték elérésekor jelenítse meg, az éppen aktuális eredményt.
Ez akkor is hasznos, ha nagyon hosszú a programunk, és időközönként, még a lefutása előtt, meg akarunk győződni bizonyos sorszámú eredményekről, vagy dolgozik e még számítógépünk az adott matematikai műveleten.

JavaScript program:
A for ciklusbó 100-szor fut le, de csak minden 10.-et íratjuk ki

<p>
<script language="JavaScript" type="text/javascript" >
var s=0; a=0; b=0; c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
if (s % 10 == 0) document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ b +"</b> <br />");
a++;
}
</script>
</p>

Az if (s % 10 == 0) értelmezése:

Kapott eredmény

Ciklus futása közben, tetszőleges sorszámú eredmény kiíratása.

JavaScript program:
A for ciklusbó 100-szor fut le, de csak minden 10.-et íratjuk ki

<p>
<script language="JavaScript" type="text/javascript" >
var s=0; a=0; b=0; c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
if (s==20) document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ b +"</b> <br />");
a++;
}
</script>
</p>

Kapott eredmény

Eredményeknél, csak az egész számokat írja ki.

A következő függvény parseInt( ); az eredményekből, csak az egész számokat írja ki, a tizedes jel utáni értékeket nem veszi figyelembe.

JavaScript program:
A for ciklusbó 100-szor fut le, de csak minden 10.-et íratjuk ki

<p>
<script language="JavaScript" type="text/javascript" >
var s=0; a=0; b=0; c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
k=parseInt(b); //Csak, az egész számokat írja ki
if (s % 10 == 0)
document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ k +"</b> <br />");
a++;
}
</script>
</p>

Kapott eredmény

További kiíratási feltételek

Ha egy meghatározott tizedesig akarjuk kiíratni az eredményt

Nézzünk egy példát, a Math.round() függvény esetére.
Ahhoz, hogy mennyi tizedesig akarjuk kiíratni, egy kis trükköt kell alkalmaznunk.

Példa:
A "b" változó értéke = 75, 1234567890
A számsort, azaz "b" értékét, írassuk ki 2 tizedesig
Első lépéskén, megszorozzuk 100-al. b= 75, 1234567890 * 100 "b" eredménye 75 12,34567890 lesz
Második lépés, egész számra kerekítés b=7512
Harmadik lépés osztunk 100-al b= 7512 / 100 "b" eredménye 75,12 lesz
Képletünk: Math.round(75, 1234567890 * 100) / 100

JavaScript programunkban, így fog kinézni

Elhelyezünk egy újabb változót, "d", mely tárolja az új eredményt, és ezt íratjuk ki.

<p>
<script language="JavaScript" type="text/javascript" >
var s=0; a=0; b=0; c=100;
for (i=1; i < 101; i++ ) {
s++;
b= Math.sqrt((c*c)-(a*a));
d=Math.round( b*100) / 100;
if (s % 10 == 0) document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ d +"</b> <br />");
a++;
}
</script>
</p>

Kapott eredmény

Ha az eredmény végén "0" szerepel, akkor a "0"-át nem írja ki. Ennek matematikában sincs értelme, mert 1,70 = 1,7 - el

 

 

Vissza a lap elejére