1  program hory_a_niziny;
 2
 3  var     vyska,nejVyska,Radek,Sloupec:word;
 4          more,nizina,hory:word;
 5          soubor:text;
 6
 7  begin
 8          more:=0;
 9          nizina:=0;
10          hory:=0;
11          nejVyska:=0;
12          assign(soubor,'soubor.txt');
13          reset(soubor);
14          Radek:=1;
15          repeat begin
16                  Sloupec:=1;
17                  repeat begin
18                          read(soubor,vyska);
19                          case vyska of
20                                0:inc(more);
21                            1..10:inc(nizina);
22                            else
23                                  inc(hory);
24                          end;
25                          if vyska>nejVyska then
26                                  nejVyska:=vyska;
27                          inc(Sloupec);
28                  end until eoln(soubor); {funkce eoln vrátí TRUE pokud je ukazatel na konci řádku}
29                  inc(Radek);
30          end until eof(soubor); {funkce eof vrátí TRUE pokud je ukazatel na konci souboru}
31          close(soubor);
32          writeln('moře zabírá celkem ',more*100/(more+nizina+hory):4:1,'% povrchu' );
33          writeln('nížina zabírá celkem ',nizina*100/(more+nizina+hory):4:1,'% povrchu' );
34          writeln('hory zabírají celkem ',hory*100/(more+nizina+hory):4:1,'% povrchu' );
35          write('Nejvyšší bod na mapě má výšku ',nejVyska,' a souřadnice');
36
37          {Pro případ, že nejvyšších bodů je více}
38          reset(soubor);
39          Radek:=1;
40          repeat begin
41                  Sloupec:=1;
42                  repeat begin
43                          read(soubor,vyska);
44                          if vyska=nejVyska then
45                                  write(' [',Radek,',',Sloupec,']');
46                          inc(Sloupec);
47                  end until eoln(soubor); {funkce eoln vrátí TRUE pokud je ukazatel na konci řádku}
48                  inc(Radek);
49          end until eof(soubor); {funkce eof vrátí TRUE pokud je ukazatel na konci souboru}
50          writeln;
51          close(soubor);
52  end.