7.2.. Od tri upisana broja (a, b, c) sa tastature naći najveći.

Opis rješenja: Vrijednosti tri broja se učitavaju sa tastature. Nova varijabla max prima vrijednost varijable a. Zatim poredimo da li je b veće od max, ako jeste tad max postaje b. Slijedeće poređenje je da li je c veće od max. Ako je c veće od max tad je to nova vrijednost max.

Opis programa: Algoritam nalaženja najvećeg broja je dat u opisu rješenja. Po upisu vrijednosti varijabli a, b i c postavlja se početna vrijednost varijable max. Logičkim izrazom b>max u naredbi IF se provjerava da li je vrijednost varijable b veća od pretpostavljenog maksimuma. Ako je logički izraz istinit mijenja se vrijednost varijable max. Isto poređenje i po potrebi zamjena se obavlja u slijedećoj naredbi IF. Ispis vrijednosti je na kraju.

Tabela 7.6. Od tri upisana broja naći najveći

Tekstualni algoritam

Listing programa

Ekran

 

PROGRAM PP3_6;

 

 

VAR

 

 

  a, b, c, max: Real;

 

 

BEGIN

 

 

  Write('Vasa tri broja ');

Vasa tri broja

1. upis tri broja a,b,c

  Readln(a, b, c);

3 2 5

2. max=a

  max := a;

 

3. ako je b>max tada je max=b 

  IF b>max THEN
    max := b;

 

4. ako je c>max tada je max=c

  IF c>max THEN
    max := c;

 

 

  Writeln('Od brojeva ', a, ' ', b, ' ', c);

Od brojeva  3.0000000000E+00  2.0000000000E+00  5.0000000000E+00

5. ispisati a,b,c,max    

  Writeln('najveci je ', max);

najveci je  5.0000000000E+00

 

END.

 

Za objašnjenje:

***

Listing programa

Opis

1

PROGRAM PP7_6;

 

2

USES

 

3

  WinCrt;

 

4

VAR

 

5

  a, b, c, max: Real;

 

6

BEGIN

 

7

  Write('Vasa tri broja ');

 

8

  Readln(a, b, c);

 

9

  max := a;

Pretpostavi I broj max

10

  IF b>max THEN

Da li b veći ?

11

    max := b;

drugi je veći od prvog i postaje novi max

12

  IF c>max THEN

Da li je c veći od trenutnog maksimuma?

13

    max := c;

Treći je max

14

  Writeln('Od brojeva ', a, ' ', b, ' ', c);

 

15

  Writeln('najveci je ', max);

 

16

END.

 

Listing programa:

PROGRAM PP7_6;
USES
  WinCrt;
VAR
  a, b, c, max: Real;
BEGIN
  Write('Vasa tri broja ');
  Readln(a, b, c);
  max := a;
  IF b>max THEN 
    max := b;
  IF c>max THEN 
    max := c;
  Writeln('Od brojeva ', a, ' ', b, ' ', c);
  Writeln('najveci je ', max);
END.

Ispis na ekranu:

Index