program KONTROLA(OUTPUT,INPUT); uses Crt; const MAX = 1000; type INDEX = 0..MAX; TYPPOLE = array[INDEX] of integer; NORM = 1..7; var A : TYPPOLE; PPOR,PPRES : word; I,N : integer; ZN : char; DRUHCIN : NORM; POKR : Boolean; procedure SESTUP(var A:TYPPOLE;N:integer); begin for I := 1 to N do A[I] := N-I end; procedure NAHOD(var A:TYPPOLE;N:integer); begin RANDOMIZE; for I := 1 to N do A[I] := RANDOM(1000) end; procedure TISK(var A:TYPPOLE;N:integer); begin writeln; for I := 1 to N do write(A[I],' '); writeln end; procedure HELP; begin writeln; writeln(' Na diskete jsou ulozeny proedury pro vnitrni a vnejsi razeni.'); writeln(' Tvym ukolem je zadanou proceduru skopirovat pomoci prikazu'); writeln(' editoru turbopascalu Ctrl-K-R do programu KONTROLA,ktery obsahuje'); writeln(' prostredky pro praci procedurami razeni.Jsou to procedury'); writeln(' NAHOD-naplni pole nahodnymi velicinami'); writeln(' SESTUP-naplni pole sestupnymi hodnotami'); writeln(' TISK-vytiskne dane pole na terminal'); writeln(' MENU-nabizi moznosti dalsi prace'); writeln(' Tvym ukolem je do zadane procedury doplnit pocitadlo poctu'); writeln(' presunu-PPRES a poctu porovnani-PPOR;do programu doplnit'); writeln(' tisky obou pocitadel a vysledovat zavislost obou na poctu'); writeln(' prvku pole'); writeln(' Program obsahuje pro demonstraci proceduru razeni metodou '); writeln(' ZATRIDOVANI,jeji smazani seprovede jako smazani bloku Ctrl-K-Y'); writeln(' zacatek bloku Ctrl-K-B,konec bloku Ctrl-K-K'); writeln; writeln(' Po stisknuti ENTER dalsi cinnost'); repeat until KeyPressed; end; procedure MENU; begin writeln; writeln('1-Prislusne razeni'); writeln('2-Inicializace daneho pole nahodnymi velicinami'); writeln('3-Inicializace daneho pole inverznimi hodnotami'); writeln('4-Tisk daneho pole'); writeln('5-Novy pocet prvku pole'); writeln('6-HELP'); writeln('7-Konec prace') end; procedure ZATRID(var A:TYPPOLE; {Razene pole } N:integer {Pocet prvku pole}); {Procedura seradi zadane pole metodou zatridovani} var I,J,X : integer; begin PPOR := 0; PPRES := 0; for I := 2 to N do begin X := A[I]; A[0] := X; PPRES := PPRES + 2; J := I-1; PPOR := PPOR + 1; while X