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 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.
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
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>