[edit] [comment] [remove] |2006-05-03| e1 # Aufgabe 1

Der gegebene Code-Abschnitt berechnet in einer while-Schleife die Fakult鋞 einer positiven nat黵lichen Zahl.

<html><body><pre><script type="text/javascript">

var n = 6, i = 1, fak = 1;
while (i <= n) {
   fak *= i;
   i++;
}
document.write(n + "! = " + fak); 

</script></pre></body></html>
  1. Ver鋘dern Sie n.
  2. Formulieren Sie das Programmst點k unter Verwendung der for - Schleife um.
  3. Ver鋘dern Sie das Programm so, dass die Fakult鋞 nicht aufsteigend mittels 1򈭿򉕙�6 sondern absteigend per 6򉩄򉁪�1 berechnet wird.
 

[edit] [comment] [remove] |2006-05-03| e2 # Aufgabe 2

Erstellen Sie ein Programm nach folgendem Algorithmus:

  1. Benutzereingabe eines Zeichens (window.prompt)
  2. Fehlermeldung, wenn mehr als ein Zeichen eingegeben wurde (string.length , window.alert)
  3. Erkennungsmeldung, wenn das Zeichen ein Vokal, also Element der Menge _[aeiouAEIOU]_ ist (string.charAt(0) , window.alert).

Verwenden Sie in Schritt 3. zuerst die if .. else Anweisung und anschliessend die switch Verzweigungsanweisung.

 

[edit] [comment] [remove] |2006-05-03| e3 # Aufgabe 3

Nachfolgend sehen wir ein einfaches Programm zur zeichenweise Stringanalyse:

<html><body><pre><script type="text/javascript">

var str = "Hallo Welt", out = "\n";
for (var i=0; i<str.length; i++) {
   out += str.charAt(i) + "\n";
}
document.write(out);
</script></pre></body></html>
  1. Geben Sie das Programm ein und lassen Sie es laufen.
  2. 膎dern Sie den Programmcode so, dass der String r點kw鋜ts ausgegeben wird.
  3. 膎dern Sie weiterhin den Programmcode dahingehend, dass nur Konsonanten und Leerzeichen (also keine Vokale) ausgegeben werden.

Aufgabenteil b Nachfolgend aufgelisteter Programmcode sollte richtig sein!

<html><body><pre><script type="text/javascript">

var str = " Hallo Welt", out = "\n";
for (var i=str.length;i>0; i--){
out+= str.charAt(i) + "\n";
}
document.write(out);

</script></pre></body></html>

Viel Spa� beim Probieren.

rosemi


die Schleife muss korrekt lauten

for (var i=str.length-1;i>=0; i--)

da die Indizes bei einem angenommenen 10-Zeichen String von 9 bis 0 laufen m黶sen.

(sg)


Aber bewirke ich nicht den gleichen Effekt, wenn ich anstelle >=0 nur >0 schreibe?

rosemi

zu Aufg. c:

Hallo,

wei� jemand, wie man die Schleife so umschreibt, dass bei der Ausgabe alle Vokale - und nicht nur der erste (a) ausgeblendet sind? K鰊nte es ggf. an einer Doppelbelegung der Variable out liegen? Nachfolgend der noch fehlerhafte Programmcode:

<html><body><pre><script type="text/javascript">

var str = "Hallo Welt", out = "\n", b="a" || "e" || "i" || "o" || "u" || "A" || "E" || "I" || "O" ||"U";

for (var i=0;i<=str.length; i++){
	if (str.charAt(i)==b)
	{out;
	}
	else if (str.charAt(i)!=b)
	{
	out+= str.charAt(i) + "\n";
	}
}
document.write(out);
</script></pre></body></html>

Vielen Dank schonmal f黵 Anregungen. Gre

rosemi

[edit] [comment] [remove] |2006-05-03| e4 # Aufgabe 4

Wir gehen nun das Zitat

Loriot

Das Schmieren von Politikern ist turnusm溥ig durchzuf黨ren, damit eine festgefahrene Politik immer mal wieder ins Rutschen kommt…

zeichenweise von vorne nach hinten durch und z鋒len die Leerzeichen. Hierzu lehnen wir uns an folgenden Pseudocode an:

define new variables n = 0, i=0, str = "Das Schmieren von ...";
while (i less than length of str) {
   if (character at position i is blank)
      increment n;
   increment i;
}
output of n;
  1. Vervollst鋘digen Sie die rudiment鋜e Zeichenkette im Pseudocode auf das gesamte Zitat. Beachten Sie dabei, dass innerhalb eines Strings keine neue Zeile angefangen werden kann! Wie behelfen wir uns?
  2. Verwenden Sie an den entsprechenden Stellen im Programm die Eigenschaft length und die Methode charAt eines Strings.
 

[edit] [comment] [remove] |2006-05-03| e5 # Aufgabe 5

Wir wollen nun eine Multiplikationstafel f黵 unseren Neffen in der 3. Klasse programmieren. Diese sieht f黵 n = 4 etwa so aus:

-1234
11234
22468
336912
4481216

Der dazugeh鰎ige HTML-Code lautet:

<table style="border:1px solid black;">
  <tr><th>-</th><th>1</th><th>2</th><th>3</th><th>4</th></tr>
  <tr><th>1</th><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  <tr><th>2</th><td>2</td><td>4</td><td>6</td><td>8</td></tr>
  <tr><th>3</th><td>3</td><td>6</td><td>9</td><td>12</td></tr>
  <tr><th>4</th><td>4</td><td>8</td><td>12</td><td>16</td></tr>
</table>
  1. Lassen Sie die Dimension n der Tabelle vom Benutzer (Neffen) eingeben (window.prompt).
  2. 躡erlegen Sie sich eine geeignete Vorgehensweise (Algorithmus) f黵 ein beliebiges ganzzahlig positives n.
  3. Erzeugen Sie mittels Javascript den HTML-Code der zugeh鰎igen Tabelle zun鋍hst ohne die <th> - Elemente.
  4. F黦en Sie nun die 鋟sseren fetten <th> - Elemente als Zeilen- und Spaltenkopfzellen hinzu.
  5. Fangen Sie mit einer geeigneten Fehlermeldung (window.alert) eine unsinnige Eingabe von n ab.

Hinweis: Verwenden Sie zwei ineinandergeschachtelte for - Schleifen.