Aufgabestellung
Schreiben 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
Typ ttab = Array von 1 bis 30 aus Ganz zahlen { größe beliebig }
Prozedur fuell( Var tab vom Typ ttab n vom Typ Ganzzahl )
Variablen i vom Typ Ganzzahl
Start Fü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 ttab n vom Typ Ganzzahl) liefert Ganzzahl
Variablen i vom Typ Ganzzahl auf, ab vom Typ Boolean
Start i 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
Variablen tab vom Typ ttab n, i vom Typ Ganzzahl auf, ab vom Typ Boolean
Start Lese(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 Pascalcode Zur Theorieseite
|