| AufgabestellungSchreiben Sie ein Programm, das prüft ob ein Array aufsteigend, absteigend, gar nicht geordnet ist, oder ob alle Zahlen gleich sind. Mit Hilfe der Funktion PruefeOrd, die Sie selbst entwickeln sollen, und einer CASE Verzweigung, wird die Quellcode Länge wesentlich reduziert. Entwickeln sie Außerdem, eine Prozedur fuell, die den Benutzer die Länge und den Inhalt des Arrays abfragt.
 Pseudocode
 Prozedur die den Benutzer aufruft ein Array zu füllen
 Typttab = Array von 1 bis 30 aus Ganz zahlen { größe beliebig }
 Prozedur fuell( Var tab vom Typ ttabn   vom Typ Ganzzahl )
 Variablen i vom Typ Ganzzahl
 StartFür i soll sein 1 bis n mache
 Lese(tab[von i])
 Ende
 
 Funktion die Arrays auf Sortierung prüft
 Funktion PruefeOrd ( tab vom Typ ttabn vom Typ Ganzzahl) liefert Ganzzahl
 Variableni vom Typ Ganzzahl
 auf, ab vom Typ Boolean
 Starti soll sein 1
 auf soll sein wahr
 ab soll sein wahr
 Solange (auf oder ab) wahr und i kleiner n mache
 Wenn tab[von i] groesser als tab[von i + 1] dann
 auf soll sein falsch
 sonst
 Wenn tab[von i] kleiner als tab[i + 1] dann
 ab soll sein falsch
 i soll sein i + 1
 Ende solange
 Wenn auf wahr ist dann
 wenn ab wahr ist dann
 PruefeOrd soll sein 1
 sonst
 PruefeOrd soll sein 2
 sonst
 wenn ab wahr ist dann
 PruefeOrd soll sein 3
 sonst
 PruefeOrd soll sein 4
 Ende der Funktion
 
 Hauptprogramm
 Variablentab     vom Typ ttab
 n, i    vom Typ Ganzzahl
 auf, ab vom Typ Boolean
 StartLese(n)
 {Fuellfunktion aufrufen }
 fuell(tab, n)
 Im Fall PruefeOrd(tab, n) ist
 1: Schreibe('Alle Zahlen sind gleich!');
 2: Schreibe('Zahlen sind Aufsteigend geordnet!');
 3: Schreibe('Zahlen sind Absteigend geordnet!');
 4: Schreibe('Zahlen sind nicht geordnet!')
 sonst
 schreibe('Fehler')
 Ende im Fall
 Ende des Programms
 Zum PascalcodeZur Theorieseite
 |