Zuletzt bearbeitet am 9. Dezember 2009
Dieses Skript war ein Test (27.4.2004), um eine Speicherbelegung zu verdeutlichen.
| 1. Abfrage | Zahl N der zu belegenden Speicher, die mit Zahlen aufgefüllt werden |
| 2. Abfrage | Nummer des Speicherplatzes |
| Meldefenster | Speicherinhalt |
Start (Anzeigen eines bestimmten Wertes)
| Quellcode | Erläuterungen |
|---|---|
|
n = new Array(N); N = prompt("Geben Sie N ein:", ""); |
Ein Datenfeld mit N Werten wird in 'n' abgelegt. new erzeugt hier ein neues Objekt. N wird über ein prompt-Eingabefeld eingegeben. |
|
i = 0; n = new Array(N); n[i] = 1; while (n[i]<N) { i += 1; n[i] = n[i-1] + 1; } |
Der Anfangswert n[0] = 1 wird gesetzt und dann schrittweise in einer while-Schleife hochgezählt, bis N erreicht ist. Der Index i läuft mit. |
| j = prompt("Geben Sie eine Zahl zwischen 0 und " + i + " ein:", ""); | Eingabe von j. |
| alert("Im Speicher steht: " + n[j]); | n[j] ist der j-te Wert des n-Datenfeldes. Er wird in einem Meldefenster ausgegeben. Beachte: Die Zählung beginnt bei j = 0! |
Alternative Darstellung, bei der N allerdings überschaubar bleiben sollte (bis ca. 30).
| Quellcode | Erläuterungen |
|---|---|
| var umbr = "\n"; | \n ist ein Steuerzeichen, das einen Zeilenumbruch bewirkt. |
|
nummer = i+1; ausgabe = "n(" + nummer + ") = " + n[i]+ umbr; |
Nachdem, wie oben, n[0]=1 gesetzt worden ist, wird alert(ausgabe); vorbereitet. nummer ersetzt die Indexfolge 0,1,2... durch die Ordnungszahlen 1,2,3,..., ausgabe legt n[1]=1 fest und schließt mit einem Zeilensprung ab. |
|
j=i; for (j=1; j<N; j++) { n[j] = n[j-1] + 2*j + 1; nummer = j+1; ausgabe += "n("; ausgabe += nummer; ausgabe += ") = "; ausgabe += n[j]; ausgabe += umbr;} |
Die Rekursionsformel n[j] = n[j-1] + 2*j + 1 erzeugt Quadratzahlen. |