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