PROGRAM SKATAUSZAHLUNG (IN,OUT); TYPE STRING=ARRAY [1..10] OF CHAR; NOM=ARRAY [1..3] OF STRING; DREIREAL=ARRAY [1..3] OF REAL; DREIINT=ARRAY [1..3] OF INTEGER; VAR I,PFENNIG,SUMME:INTEGER; NAME:NOM; PUNKTE:DREIINT; GELD:DREIREAL; PROCEDUR TREAD (VAR NAME:STRING); VAR I:INTEGER; BEGIN I:=1; REPEAT READ(NAME[I]);I:=I+1; UNTIL EOLN; NAME[I]:="@"; WRITELN; END; PROCEDUR TWRITE (VAR NAME:STRING); VAR I:INTEGER; BEGIN I:=1; REPEAT WRITE(NAME[I]);I:=I+1; UNTIL NAME[I]="@"; END; PROCEDUR ZAHLEN (VAR PFENNIG:INTEGER); VAR I:INTEGER; BEGIN FOR I:=1 TO 3 DO GELD[I]:=3*PUNKTE[I]-SUMME; END; (*========Hauptprogramm========*) BEGIN FOR I:=1 TO 3 DO BEGIN WRITE(I:1,".NAME");READLN;TREAD(NAME[I]); WRITE(":");TWRITE(NAME[I]);WRITELN;END; REPEAT  WRITE("WELCHER KURS");READLN;READ(PFENNIG);WRITE(":1/",PFENNIG:2);WRITELN; IF PFENNIG<>0 THEN BEGIN FOR I:=1 TO 3 DO BEGIN TWRITE(NAME[I]);WRITE("'S PUNKTE");READLN;READ(PUNKTE[I]); WRITE(":",PUNKTE[I]:7);WRITELN;END; SUMME:=PUNKTE[1]+PUNKTE[2]+PUNKTE[3]; FOR I:=1 TO 3 DO BEGIN ZAHLEN(PFENNIG);TWRITE(NAME[I]);WRITE(":",GELD[I]/PFENNIG/100:9:2," DM"); WRITELN; END; END; UNTIL PFENNIG=0; END.