Die Klausur ist am 10.01.
Unser Info-Lehrer war so freundlich uns all die Sachen
über die Ferien auf zu geben. Wir hatten nur 1 Stunde Unterricht
darüber. Und in der haben wir das Beispiel ganz oben gemacht.
Was ich hier poste ist vielleicht ein Achtel von allem, was wir noch
machen müssen
Meinst du das krieg ich noch hin, zumindest mit den verketteten Listen?
Hier ist noch der restliche Code:
Delphi-Quellcode:
unit Unit1;
//Zeiger_verkett1 (ohne Verkettungsprozedur)
// Aufgaben: 1) Erkläre den Datentyp "knoten" (siehe unten)
// 2) Welche Ausgabe ist am Ende in Edit1.Text zu erwarten?
// 3) Was versteht man bei der Reihenfolge der Daten unter LIFO ?
// 4) Welche Vorteile bringt die dynamische Verkettung von Daten?
interface
uses Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
Satz :
string;
implementation {$R *.DFM}
//---------------------------------------------------
Type pkette = ^knoten;
// p steht für Pointer
knoten =
RECORD
wort :
string; next : pKette;
END;
//---------------------------------------------------
Var kette: pKette;
procedure TForm1.Button1Click(Sender: TObject);
Var neu, hilf :pKette;
begin
kette:=nil;
//Die Kette erhält einen Anfang
satz:='
';
New(neu);
//Ein neues Kettenglied wird erzeugt
neu.wort:='
Das ';
neu.next:=kette;
kette:=neu;
//...und angehängt
New(neu);
//...noch ein Kettenglied
neu.wort:='
wars ';
neu.next:=kette;
kette:=neu;
New(neu);
//...und noch eines
neu.wort:='
schon ';
neu.next:=kette;
kette:=neu;
{---------------------------------------------}
satz:=kette^.wort;
// Die Kette wird ausgelesen
{Wenn wir den Kettenzeiger nicht verändern und statt-
dessen den Hilfzeiger, können wir den Anfang der
Kette stets wiederfinden!}
hilf:=kette^.next;
// Zum nächsten...
satz:=satz+hilf^.wort;
hilf:=hilf^.next;
// Zum nächsten...
satz:=satz+hilf^.wort;
edit1.text:=satz;
// Ausgabe am Bildschirm
end;
end.