Príklad 1.

Algoritmus, ktorý pre dve prirodzené čísla určí najväčší spoločný deliteľ.

 

Predbežné úvahy:

NSD(63, 35)?

= NSD(28, 35)= NSD(28, 35-28)=

= NSD(28, 7)= NSD(28-7, 7)=

NSD(21, 7)=

NSD(14, 7)=

NSD(7, 7)=7

Algoritmus:

Premenné na uloženie čísel označme A, B, pomocné premenné X, Y.

  1. Prečítať čísla a uložiť v premenných A, B.
  2. X:=A; Y:=B;
  3. Pokiaľ X<>Y rob

{ak X>Y potom X:=X-Y inak Y:=Y-X}

4. Vypísať ‘Najvacsi spolocny delitel cisel ‘, A, B, ‘ je ‘, X;

 

program NSD;

var A, B, X, Y: integer;

begin

writeln(‘Zadaj dve prirodzene cisla‘);

readln(A, B);

X:=A; Y:=B;

while X<>Y do

if X>Y then X:=X-Y else Y:=Y-X;

writeln(‘Najvacsi spolocny delitel cisel’, A, B,’ je’, X);

end.

 

 

Príklad 2.

Skúsme urobiť analýzu nasledujúceho programu

 

program AKLIBOSAN;

var

i: integer;

k: integer;

ch: char;

v:integer;

begin

writeln('Zadaj, prosim, prirodzene cislo, pre

ktore chces vypisat vypocet.');

readln(k);

writeln('Chces velky vypocet? a/n');

readln(ch);

if (ch<>'a') and (ch='A') then

begin

writeln(' Mala ......... pre cislo: ', k:3);

writeln('-------------------------');

for i:=1 to 10 do

begin

v:=i*k;

writeln(i:2,' x ',k:2,' = ',v:4);

end;

writeln('-------------------------');

end else

begin

writeln(' Velka ......... pre cislo: ',k:3);

writeln('-------------------------');

for i:=11 to 20 do

begin

v:=i*k;

writeln(i:2,' x ',k:2,' = ',v:4);

end;

end;

readln;

end.