blikk info infothek forum galerie sitemap

 Array auf Sortierung prüfen

anfang zurueck weiter ende nach oben

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

nach oben