PMG/Kurs 11/Felder
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
== Der Datentyp Feld (Array) ==
Neben den einfachen Datentypen gibt es auch zusammengesetzte, z.B. Felder (auch Listen, Array).
In einem Array werden Werte gleichen Datentyps gespeichert.
Die Deklaration eines Arrays erfolgt folgendermaßen:
var xyz: ''array''[startindex .. endindex] ''of'' Datentyp;
startindex..endindex gibt den Bereich zwischen Startwert und Endwert angeben (Randwerte werden mit eingeschlossen).
Dies entspricht dem bereitgehaltenen Speicherplatz.
Über den Index (meist mit <math>i</math> bezeichnet) kann man auf die einzelnen Werte zugreifen.
var beispiel: ''array''[0..20] ''of'' integer;
Ein Feld wird über den Index gefüllt, z.B. für <math>i=1</math> und <math>i=5</math> so:
beispiel[1]:=3;
beispiel[5]:=22;
Das Feld sei dann z.B. so gefüllt ist: [10,3,6,7,9,22,...].<br>
''Bestimmen Sie die Werte, die dann die Variablen <math>a</math> und <math>b</math> nach den folgenden Anweisungen liefern!''
a:=beispiel[0];
b:=beispiel[2];
'''weitere Hinweise z.B. unter [http://www.delphi-treff.de/object-pascal/komplexe-datentypen/]'''
== Beispiele zu Feldern ==
=== Zufallszahlen und Felder ===
<code id="4bf2b9d355fac">
function zufall2(a:integer):integer;
begin
result:=random(a);
end;
</code>
<eval id="4bf2b9d357ee5">
var z:array[0..10] of integer;
var i:integer;
begin
for i:=0 to 5 do
begin
z[i]:=zufall2(100);
writeln(inttostr(z[i]));
end;
end.
</eval>
<font color="darkgreen">'''''zum Weiterarbeiten:'''''</font> Füllen Sie ein [[Feld mit 5 zufälligen Zahlen]]. Bestimmen Sie die Position (Index) des Maximums. Lassen Sie sich zur Kontrolle die Zufallszahlen anzeigen.
var feld:array[0..4]of integer;
var i,max,index:integer;
begin
max:=0;index:=0;
for i:=1 to 5 do feld[i-1]:=random(100);
for i:=1 to 5 do
if feld[i-1]>max then begin
max:=feld[i-1];
index:=i;
end;
for i:=1 to 5 do writeln(inttostr(feld[i-1]));
writeln('Maximum an Position '+inttostr(index));
end.