Y. K. Gruppe 1
Quellcode
{ Gruppe : 1 Autor : Y. K. Schule : Gewerbeoberschule "Max Valier" Klasse : 3IA Aufgabe : Arrays Beschreibung: Das Programm enthaelt eine Funktion die prueft, ob ein Array aufsteigen, abstegend, gar nicht sortiert ist, oder ob alle Zahlen gleich sind }
PROGRAM sortiert;
USES Crt;
TYPE ttab = ARRAY [1..30] OF INTEGER;
{ Fuellt ein Array } PROCEDURE fuell(VAR tab :ttab; n :INTEGER);
VAR i :INTEGER;
BEGIN FOR i := 1 TO n DO BEGIN Writeln('Geben sie die ',i,'. Zahl ein: '); Readln(tab[i]) END { Ende For } END; { Ende der Prozedur }
{ Funktion die prueft wie ein Array geordnet ist }FUNCTION PruefeOrd(tab: ttab; n : INTEGER) : INTEGER;
VAR i : INTEGER; { Laufvariable } auf, ab : BOOLEAN;
BEGIN i := 1; auf := TRUE; ab := TRUE; WHILE (auf OR ab) AND (i < n) DO BEGIN IF tab[i] > tab[i+1] THEN auf := FALSE ELSE IF tab[i] < tab[i+1] THEN ab := FALSE; i := i + 1; END; { Ende While } IF auf THEN IF ab THEN PruefeOrd := 1 ELSE PruefeOrd := 2 ELSE IF ab THEN PruefeOrd := 3 ELSE PruefeOrd := 4; END; { Ende der Funktion }
{Hauptprogramm } VAR n,i :INTEGER; tab :ttab; auf, ab:BOOLEAN;
BEGIN ClrScr; Writeln('Wie viele Werte werden eingelesen? '); Readln(n); { Fuellfunktion aufrufen } fuell(tab, n); Writeln; { Beginn der Pruefung } CASE PruefeOrd(tab, n) OF 1: Writeln('Alle Zahlen sind gleich!'); 2: Writeln('Zahlen sind Aufsteigend geordnet!'); 3: Writeln('Zahlen sind Absteigend geordnet!'); 4: Writeln('Zahlen sind nicht geordnet!') ELSE Writeln('Fehler'); END; { Ende Case } Readln; END. { Programmende }
Zum Pseudocode Zur Theorieseite
|