Weblap Hová jutunk?

A for ciklus erénye.707.

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.
Nézzünk egy nem túl bonyolult feladatot.
Ha nekünk kellene kiszámolni, elvenne egy kis időt, még programunk egy szemvillanás alatt, sorszámozott sorokban kiírja az eredményeket.

Számoljuk ki, a félkörívben látható oszlopok magasságát.
Körív átmérője = 200 méter
Oszlopok egymástól való távolsága = 1 méter
Így 200 db oszlopra van szükségünk, bal és jobb oldalra 100-100db. Melyek szimmetrikusak.
Elég kiszámolni egyik oldal 100 db oszlopának méretét, mert a másikra is, ezen, méretekre van szükség.


A következő elmélet és matematika alapján végezzük el a számításokat

A szemléltető ábrán látható, ha "a" oldal hossza növekszik, akkor "b" oldal hossza csökken, "c" hossza álandó

JavaScript nem alkalmaz négyzetgyök jelet , helyette egy beépített matematikai függvénnyel rendelkezik, ez a Math.sgrt( );

Első lépésként definiáljuk, azaz bevezetjük a változókat, és mindjárt rendelünk hozzájuk értéket is.

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>
Megjegyzés:
A ciklusban, hól legyen az "a" változó:
- ciklus elején, akkor kezdeti értéke = 1, és ezen értékkel kezdődik a számolás
- ciklus végén, akkor kezdeti értéke = 0, és ezen értékkel kezdődik a számolás

Ha az eredményt, egész számra akarjuk kerekíteni, helyezzünk el programunkban egy újabb változót, (például var k=0;) és rendeljük hozzá a parseInt(); függvényt. (k=parseInt(b); Majd a document.write sorban töröljük a "b" változót, és írjuk helyére a "k" változót.

Programunk megjelenése weblapunkon

Minden sor:
- Sorszámozva, vastagon kiemelve jelenik meg
- Tartalmaz egy leírást (jelen esetben: sorszámú eredmény)
- Eredmény, vastagon kiemelve, a sor végén jelenik meg

A for ciklus futása közben is kiírathatjuk az értéket.

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));
k=parseInt(b); // Csak az egész számokat írja ki, a tizedes jel utáni számokat nem.

if (s % 10 == 0) document.write ("<b>"+ s +".</b> sorszámú eredmény = <b>"+ k +"</b> <br />");

a++;
}
</script>
</p>

Kapott eredmény

 

 

Vissza a lap elejére