1 / 19

JavaScript - 4. část Strukturované příkazy: příkazy if, while, for

Ústav automatizace inženýrských úloh a informatiky FAST VUT v Brně. 0U2 - Základy informatiky a výpočetní techniky 2. JavaScript - 4. část Strukturované příkazy: příkazy if, while, for. Příkazy pro větvení. –. +. podm. příkaz. Neúplný podmíněný příkaz if.

ilar
Download Presentation

JavaScript - 4. část Strukturované příkazy: příkazy if, while, for

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ústav automatizace inženýrských úloh a informatiky FAST VUT v Brně 0U2 - Základy informatiky a výpočetní techniky 2 JavaScript - 4. část Strukturované příkazy: příkazy if, while,for

  2. Příkazy pro větvení – + podm. příkaz Neúplný podmíněný příkaz if • umožňuje rozhodnout o provedení příkazu na základě splnění nějaké podmínky. if (podmínka) příkaz relační nebo logický výraz provede se, pokud má výraz v podmínce hodnotu true Příklad if (a>b) document.write(″a je větší″);

  3. Příklady - neúplný if Příklad 1: Skript spočítá celkovou cenu za zboží při kliknutí na tlačítko „Výpočet ceny“. Celková cena je součinem hodnot zadaných do textových polí formuláře (cena * počet kusů). Je-li celková cena větší než 1000 Kč, vypíše se navíc text „Díky za nákup“. Výsledky se vypíší do připraveného odstavce. Příklad 2: Skript spočítá celkovou cenu za zboží, dopravu a balné při kliknutí na tlačítko „Výpočet ceny“. Je-li celková cena větší než 1000 Kč, vypíše se navíc text „Díky za nákup“. Výsledky se vypíší do připraveného odstavce. Dopravné a balné se připočítá k ceně zboží, pokud budou zaškrtnuta příslušná tlačítka. Pokud je zaškrtnuto „radio“ tlačítko (ANO), odpočítá se 10% z ceny za zboží.

  4. <HTML><HEAD><TITLE>IF</TITLE> <SCRIPT> function Vyp() { c=document.f1.CENA.value; k=document.f1.KS.value; c=c*k; s="<B>Celková cena je: "+c+",- Kč</B>"; if (c>1000) s+="&nbsp; Díky za nákup"; document.all.D.innerHTML=s; } </SCRIPT> </HEAD> <BODY bgcolor="lightblue"> <H1 align="center"><FONT color="darkblue">Výpočet celkové ceny zboží:</FONT></H1><HR> <FORM name ="f1"> Cena: <INPUT type="text" size="6" value="0" name="CENA"> &nbsp;&nbsp;&nbsp;&nbsp;Ks: <INPUT type="text" size="3" value="0" name="KS"> &nbsp;&nbsp;&nbsp;&nbsp;<BR><BR> <INPUT type="button" value="Výpočet ceny" onclick="Vyp()"> <INPUT type="reset" value="Vymazání" > </FORM> <DIV id="D"></DIV> <HR></BODY></HTML> Příklad 1

  5. <HTML><HEAD><TITLE>IF</TITLE> <SCRIPT> function Vyp() {c=parseFloat(document.f.CENA.value); if (isNaN(c)) alert("CHYBA V ZADÁNÍ"); if (document.f.R[0].checked) c=c-0.1*c; if (document.f.C[0].checked) c=c+500; if (document.f.C[1].checked) c=c+95; s="<B>Celková cena je: "+c+",- Kč</B>"; if (c>1000) s+="&nbspDíky za nákup"; document.all.D.innerHTML=s; } </SCRIPT> </HEAD> <BODY bgcolor="lightblue"><H1 align="center"> <FONT color="darkblue">Výpočet celkové ceny zboží:</FONT></H1><HR> <FORM name="f"> Cena: <INPUT type="text" size="6" value="0" name="CENA">&nbsp; Clen klubu: Ano<INPUT type="radio" name="R">&nbsp; Ne<INPUT type="radio" name="R" checked><BR> Doprava:<INPUT type="checkbox" name="C"> Zabalení: <INPUT type="checkbox" name="C"><BR> <INPUT type="button" value="Výpočet ceny" onclick="Vyp()"> <INPUT type="reset" value="Vymazání" > </FORM> <DIV id="D"></DIV> <HR></BODY></HTML> Příklad 2 if(document.f.R[0].checked==true) c=c-0.1*c; p=document.f.R[0].checked; if(p==true)c=c-0.1*c;

  6. + podm. příkaz2 příkaz1 provede se, jestliže má výraz hodnotu true provede se, jestliže má výraz hodnotu false Úplný podmíněný příkaz if else if (podmínka) příkaz1 else příkaz2 Příkladif (a>b) document.write(″a je větší″); elsedocument.write(″b je větší″);

  7. <HTML><HEAD><TITLE>IF</TITLE> <SCRIPT> function Vyp() {c=parseFloat(document.f.CENA.value); if (isNaN(c)) alert("CHYBA V ZADÁNÍ"); else{ if (document.f.R[0].checked) c=c-0.1*c; if (document.f.C[0].checked) c=c+500; if (document.f.C[1].checked) c=c+95; s="<B>Celková cena je: "+c+",- Kč</B>"; if (c>1000) s+="&nbspDíky za nákup"; document.all.D.innerHTML=s; } } </SCRIPT></HEAD> <BODY bgcolor="lightblue"><H1 align="center"> <FONT color="darkblue">Výpočet celkové ceny zboží:</FONT></H1><HR> <FORM name="f"> Cena: <INPUT type="text" size="6" value="0" name="CENA">&nbsp; Clen klubu: Ano<INPUT type="radio" name="R">&nbsp; Ne<INPUT type="radio" name="R" checked><BR> Doprava:<INPUT type="checkbox" name="C"> Zabalení: <INPUT type="checkbox" name="C"><BR> <INPUT type="button" value="Výpočet ceny" onclick="Vyp()"> <INPUT type="reset" value="Vymazání" > </FORM> <DIV id="D"></DIV> <HR></BODY></HTML> Příklad 2 (použit úplný if)

  8. Složený příkaz • umožňuje provést více příkazů tam, kde syntaxe dovoluje provést pouze jeden příkaz • příkazy uzavřeme do složených závorek Příklad if (r>0) {S=Math.PI*r*r; document.write("Obsah kruhu je "); } else {document.write("Zadali jste záporný poloměr"); document.bgColor("gray"); }

  9. <HTML><HEAD> <TITLE>Obsah kruhu</TITLE> <SCRIPT language="JavaScript"> function vypocet() { var r,S; r=document.f.R.value; if (r>0) {S=Math.round(100*Math.PI*r*r)/100; document.all.odst1.innerHTML="Obsah kruhu je"+S;} else {document.all.odst1.innerHTML="Zadali jste záporný poloměr"; document.bgColor="gray"} } </SCRIPT></HEAD> <BODY bgcolor="ivory"> <H2> Obsah kruhu</H2> <FORM name="f"><H3>Zadej poloměr:</H3> <P><INPUT type="text" name="R" > <INPUT type="button" value="odeslat" onclick="vypocet()"> <INPUT type="reset" value="Vymaž formulář"></P> <H3>Výsledky:</H3> <DIVid="odst1" ></DIV></FORM></BODY></HTML> Příklad 3 (výpočet obsahu kruhu)

  10. Příkazy cyklu while,for Příkazy, které umožňují opakované provádění příkazu (příkazů)

  11. - podm. + příkaz Příkaz while • umožňuje provádět určitý příkaz opakovaně v závislostina platnosti podmínky • příkaz cyklu s testem podmínky na začátku while (podmínka)příkaz Relační nebo logický výraz je prováděn tak dlouho, dokud má výraz v podmínce hodnotu true Příkladwhile (s<100) s=s+a;

  12. Příklad - while Příklad 4: Skript spočítá, kolik bylo zadáno vstupních hodnot (čísel) a najde z nich největší. Zadávání hodnot končí jakoukoli neprázdnou nečíselnou odpovědí. • Na test, zda proměnná x neobsahuje číslo, použijeme funkci isNaN(x) - vrací hodnotu true, je-li testovaná hodnota nečíslo • Počáteční hodnotu proměnné pro maximum nastavíme buď na „hodně malé“ číslo (např. Number.MIN_VALUE) nebo do ní uložíme první načtené číslo.

  13. <HTML><HEAD><TITLE>Statistika</TITLE></HEAD> <BODY> <SCRIPT language="JavaScript"> var i=0,max=Number.MIN_VALUE; document.write("<H2>Největší číslo</H2>"); document.write("Zadaná čísla:<BR>"); x=prompt("Zadej číslo:", ""); while (!(isNaN(x))) { x=parseFloat(x); i=i+1; if (x>max) max=x; document.write(x," "); x=prompt("Zadej číslo:", ""); } document.write("<BR>Počet zadaných čísel: ",i); document.write("<BR>Největší číslo: ",max); </SCRIPT></BODY></HTML> Příklad 4

  14. Příkaz for • tzv. počítaný cyklus • typicky se používá, jestliže je znám počet opakování • opakování je řízeno tzv. řídící proměnnou změna hodnoty řídící proměnné na konci každého průchodu cyklem nastavení řídící proměnné na počáteční hodnotu for (inicializace;podmínka;aktualizace) příkaz testuje se vždy na začátku cyklu;určuje, jak dlouho se mají příkazy v cyklu opakovat

  15. Jednoduché příklady Výpočet součtu 1 + 2 + 3 + ... + 10 • var k,s=0; for (k=1;k<=10;k=k+1) s=s+k; • s=0; for (k=1;k<=10;k++) s=s+k; • s=0; for (k=1;k<=10;k++) s+=k; • k=1;s=0; while (k<=10){s+=k; k=k+1} Výpočet součtu 2 + 4 + 6 + ... + 20 • var i,s=0; for (i=2;i<=20;i=i+2) s=s+i;

  16. Jednoduché příklady Výpočet faktoriálu 1 * 2 * 3 * ... * n • var i,n,f; f=1; n=prompt(“zadej n“, ““);for (i=1;i<=n;i=i+1) f=f*i; • var i,n,f=1; n=prompt(“zadej n“, ““);for (i=1;i<=n;i=i+1) f*=i; • f=1; n=prompt(“zadej n“, ““);for (i=n;i>=1;i=i-1) f=f*i;

  17. Příklad - for Příklad 5: Skript spočítá celkovou cenu za zboží při kliknutí na tlačítko „Cena celkem“. Součet cen se provede pouze pro zaškrtnuté položky. Výsledek se vypíše do připraveného textového pole formuláře. • Zde je uveden skript bez cyklu, na dalším slide je s cyklem for.

  18. <HTML><HEAD><TITLE>caj</TITLE> <SCRIPT> function vypocet() { s=0;p=0; for (i=0;i<3;i++) {if (document.f.C[i].checked) s=s+parseFloat(document.f.C[i].value); } document.f.VYS.value=s+" Kč"; } </SCRIPT> </HEAD> <BODY bgcolor="lightblue"> <FORM name="f"> <H2>Objednávka</H2> <PRE><B> čaj cena</B><BR> <INPUT TYPE="checkbox" name= "C" value="32.5">MILFORD-malina 32.50 Kč<BR> <INPUT TYPE="checkbox" name= "C" value="33.5">MILFORD-borůvka 33.50 Kč<BR> <INPUT TYPE="checkbox" name= "C" value="34">MILFORD-citron 34.00 Kč<BR> <INPUT TYPE="button" VALUE="Cena celkem" onClick="vypocet()"> <INPUT TYPE="text" name= "VYS" size="8"> </PRE></FORM></BODY></HTML>

  19. Další příkazy - pro cykly (nebudeme je používat ve cvičení) • příkaz break -slouží k násilnémuukončení cyklu bez ohledu na hodnotu podmínky cyklu • příkaz continue -způsobí vynechání následujících příkazů cyklu - u příkazu for se neprovedou příkazy za příkazem continue, provede se aktualizace a testování podmínky cyklu - u příkazu while se provede přímo testování podmínky cyklu (příkaz je opět přípustný pouze pro cykly)

More Related