referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Statisches Array

Array in Delphi

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

In einem Array können mehrere Datenelemente des gleichen Typs gespeichert werden. Der Vorteil liegt bei der leichteren Handhabbarkeit. Jedes Element hat einen festen Platz bzw. Index und kann durch Angabe des Indexwertes direkt aufgerufen werden.

  rf645x2226yffl 22645xrb26yfl5b

  1. Eindimensionale Arrays

  rf645x2226yffl 22645xrb26yfl5b

Der Name des Arrays wird durch eine Typendeklaration festgelegt:

type ArrayTypName = array[IndexTyp] of ElementeTyp

Als Elementtyp ist jeder Typ erlaubt, der Indextyp muss hingegen abzählbar sein. Es gibt ein- und mehrdimensionale Arrays. Ein eindimensionales Array kann man sich als Linie vorstellen:

  rf645x2226yffl 22645xrb26yfl5b

Beispiel:

type TIntListe = array[1..10] of Integer;

TZeichen = array['a'..'z'] of Byte;

var intL: TIntListe; z: TZeichen;

Der Zugriff:

intL[4] := 100;

z['a'] := 5;

m[17, 0] := 12.34;

  rf645x2226yffl 22645xrb26yfl5b

Arrays aus Strukturvariablen

  rf645x2226yffl 22645xrb26yfl5b

Von besonderem Interesse sind Arrays, deren Elementetypen Strukturvariablen (Records) sind.

Beispiel: Mit einem Typ TPerson soll ein Array aufgebaut werden, in welchem 100 Personen

abgespeichert werden können:

type TPersListe = array[1..100] of TPerson;

var list1: TPersListe;

Der Zugriff auf die fünfte Person erfolgt z.B. mit

list1[5].name := 'Einstein';

  rf645x2226yffl 22645xrb26yfl5b

Strukturvariablen mit Arrays

  rf645x2226yffl 22645xrb26yfl5b

Auch die Felder von Strukturvariablen (records) können Arrays sein. Es bedarf allerdings eines gewissen Abstraktionsvermögens, um dabei den Überblick zu behalten.

  rf645x2226yffl 22645xrb26yfl5b

Am folgenden Beispiel sollte die Vorgehensweise deutlich werden.

  rf645x2226yffl 22645xrb26yfl5b

Beispiel:

type TPerson = record

Name: string[20];

Geschlecht: Boolean;

Geburtsjahr: Integer;

Groesse: Single

end;

  rf645x2226yffl 22645xrb26yfl5b

const maxp = 4; //maximal 4 Personen

type TpersArray = array[1..maxp] of TPerson;

  rf645x2226yffl 22645xrb26yfl5b

var

Form1: TForm1;

Person: TpersArray;

implementation

  rf645x2226yffl 22645xrb26yfl5b

{$R *.DFM}

  rf645x2226yffl 22645xrb26yfl5b

procedure TForm1.Button1Click(Sender: TObject);

var S: String;

i, code: Integer;

w: Single;

begin

for i:=1 to maxp do begin

  rf645x2226yffl 22645xrb26yfl5b

//String-Wert:

s := InputBox('Personal-Eingabe','Geben Sie den '+IntToStr(i)+ '. Namen ein!',

Person[i].Name); // Anzeige/Eingabe

Person[i].Name := s; // in Array speichern

Label2.Caption := s; // im Label anzeigen

  rf645x2226yffl 22645xrb26yfl5b

//Bool'scher Wert:

if Person[i].Geschlecht = True then s := 'ja' else S:= 'nein';

s := InputBox('Personal-Eingabe','männlich? (ja/nein)',s);

if s = 'ja' then Person[i].Geschlecht := True

else Person[i].Geschlecht := False;

Label3.Caption := s; // im Label anzeigen

  rf645x2226yffl 22645xrb26yfl5b

// Integer-Wert:

s := IntToStr(Person[i].Geburtsjahr); // aus Array lesen

s := InputBox('Personal-Eingabe','Geburtsjahr?',s); // Anzeige/Eingabe

Person[i].Geburtsjahr := StrToInt(s); // in Array speichern

Label4.Caption := s; // im Label anzeigen

  rf645x2226yffl 22645xrb26yfl5b

// Gleitkomma-Wert:

Str(Person[i].Groesse:3:2, s); // 3 Stellen, davon 2 nach dem Komma

s := InputBox('Personal-Eingabe','Körpergröße?', s);

Val (s, Person[i].Groesse, code); // fehlerfrei, wenn code = 0

Label5.Caption := s;

end

end;

  rf645x2226yffl 22645xrb26yfl5b

Array-Konstanten

  rf645x2226yffl 22645xrb26yfl5b

Auch Konstanten lassen sich in einem Array übersichtlich speichern.

Beispiel:

const tage: array[1..7] of string = ('Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So');
var woBeginn: string;

. . .

woBeginn := tage[1];

Etwas komplizierter wird es bei mehreren Dimensionen.

Beispiel:

const tabs: array[1..5, 1..2] of Word = ((50,20), (55,21), (63,35), (110,77), (200,5));
var tab1: Word;

Die Anordnung der Elemente:

  rf645x2226yffl 22645xrb26yfl5b

Zugriff:

tab1 := tabs[4,2]; // weist den Wert 77 zu

  rf645x2226yffl 22645xrb26yfl5b

  1. Zweidimensionale Arrays

  rf645x2226yffl 22645xrb26yfl5b

Zweidimensionale Arrays kann man sich als Tabelle vorstellen.

Beispiel:

type TMatrix = array[0..10, 0..100] of Single;

var m: TMatrix; [Spalten,Zeilen]

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

  1. Dreidimensionale Arrays

  rf645x2226yffl 22645xrb26yfl5b

Dreidimensionale Array kann man sich gut am Beispiel eines Zauberwürfels veranschaulichen. Ein solcher Würfel besteht zum Beispiel aus 64 (= 4 * 4 * 4) kleinen und verschiebbaren Elementen.

  rf645x2226yffl 22645xrb26yfl5b

So werden dreidimensionale Arrays deklariert:

  rf645x2226yffl 22645xrb26yfl5b

  rf645x2226yffl 22645xrb26yfl5b

So kann man sich ein Dreidimensionales Array vorstellen:

  rf645x2226yffl 22645xrb26yfl5b

+: Sehr gut aufgebautes Referat mit verständlichen Erklärungen und schönen Grafiken.

-: Keine Quellenangaben.