AK-Automatisierungs und Kommunikationstechnik – TI – Technische Informatik NWT – Netzwerktechnik – www.munz-udo.de Javascript Kontrollstrukturen Arbeitsauftrag ‐ Labor if‐else‐Verzweigung <script language="javascript"> function fnTest(a) { var b=""; if (a=="1") { b = "a ist gleich 1"; } else { b = "a ist ungleich 1"; } return b; } </script> Beispiel: Aufruf von fnTest(a) mit Parameter a=1 Code: <b onclick="alert(fnTest(1));">Hier klicken</b> Test: Hier klicken Beispiel: Aufruf von fnTest(a) mit Parameter a=3 Code: <b onclick="alert(fnTest(3));">Hier klicken </b> Test: Hier klicken for‐Schleife <script language="javascript"> function zaehl(von, bis){ var i; var zaehler; for (i=1;i<=10;i++) { zaehler=zaehler+i; } return zaehler;} } document.writeln(zaehl(1,10)); </script> Aufgabe 1: Erstelle ein Programm, das den Betrag einer Zahl x ausgibt. a) ohne HTML‐Formular. b) mit HTML‐Formular, in das die Zahl eingegeben werden kann und bei Knopfdruck ihr Betrag ausgegeben wird. Aufgabe 2: Erstelle ein Programm, das die Lösungsmenge einer linearen Gleichung ax+b=0 ausgibt. a) ohne HTML‐Formular. b) mit HTML‐Formular, in das die Zahlen a und b eingegeben werden können und bei Knopfdruck die Lösungsmenge ausgegeben wird. Aufgabe 3: Erstelle ein Programm, das die Lösungsmenge einer quadratischen Gleichung ax2+bx+c=0 ausgibt. a) ohne HTML‐Formular. b) mit HTML‐Formular, in das die Zahlen a, b und c eingegeben werden können und bei Knopfdruck die Lösungsmenge ausgegeben wird. C:\Users\munz\Desktop\Kommunikationstechnik\Javascript\Labor_If_For.doc 1 AK-Automatisierungs und Kommunikationstechnik – TI – Technische Informatik NWT – Netzwerktechnik – www.munz-udo.de Beispiel (Gauss): <HTML> <script language="JavaScript"> var erg; erg = 0; for (var i = 1; i <= 100; i = i+1){ erg = erg + i; }; document.write(erg); </script> </HTML> Der kleine Carl F. Gauss hat dieses Problem ja bekanntermaßen ebenso schnell ohne einen Computer gelöst... Wie lautete seine Lösung??? Beispiel 2 (BRD): <HTML> <script language="JavaScript"> for (var i = 1; i <= 5; i = i+1){ for (var j = 1; j <= 45; j = j+1){ document.write("*"); }; document.write("<br>"); }; for (var i = 1; i <= 5; i = i+1){ for (var j = 1; j <= 45; j = j+1){ document.write("<font color='red'>*</font>"); }; document.write("<br>"); }; for (var i = 1; i <= 5; i = i+1){ for (var j = 1; j <= 45; j = j+1){ document.write("<font color='gold'>*</font>"); }; document.write("<br>"); }; </script> </HTML> Aufgabe 1: Erstelle ein Programm, das die Summe der Quadrate aller Zahlen von 1 bis 100 berechnet. a) Das Programm soll lediglich das Ergebnis ausgeben. b) Jedes Zwischenergebnis soll ebenfalls ausgegeben werden. c) Die Zwischenergebnisse sollen zusätzlich von 1 bis 100 durchnummeriert werden. Aufgabe 2: Erstelle ein Programm, das für jede natürliche Zahl n untersuchen kann, ob es sich um eine Primzahl handelt oder nicht. (Hinweis: Mit dem Prozentzeichen wird der Rest bei der Division zweier natürlicher Zahlen a und b berechnet (a%b). Zum Beispiel liefert 5%2 als Egebnis 1 oder 13%5 als Ergebnis 3 oder 80%8 als Ergebnis 0.) Good luck and have fun!! Munz Die For‐Schleife machen wir noch exakt und detailiert im Theorie‐Unterricht!! C:\Users\munz\Desktop\Kommunikationstechnik\Javascript\Labor_If_For.doc 2