7.2.. Sa tastature upisati broj i izračunati njegovu recipročnu vrijednost (y = 1 / x) i ispisati je. Ako je x=0 ispisati Dijeljenje sa nulom ispisati "Dijeljenje sa nulom"..

Opis rješenja: Recipročna vrijednost broja je 1 podijeljen sa upisanim brojem. Međutim u slučaju da je upisani broj jednak nuli trebalo bi se dijeliti sa nulom, a dijeljenje je nemoguće. Proizilazi da u odnosu na vrijednost upisanog broja postoje dvije akcije (obrade). Izbor se izvodi na osnovu logičkog izraza n=0, korištenjem razgranate strukture tipa IF THEN ELSE. Za vrijednosti n <> 0 izračunava se recipročna vrijednost (dio  iza THEN), dok se za n = 0 ispisuje da je dijeljenje nemoguće.

Opis programa: Logički izraz za provjeru da li je upisani broj jednak nuli je (n=0). Ako je logički izraz istinit tada se ispisuje "Dijeljenje sa nulom je nemoguce". Inače se ispisuje "Recipročna vrijednost je " kao i izračunata recipročna vrijednost."

Tabela 7.3. Izračunati recipročnu vrijednost broja

Tekstualni algoritam

Listing programa

Ekran

 

PROGRAM PP3_3;

 

 

VAR

 

 

  n: Real;

 

 

BEGIN

 

 

  Write('Vas broj ');

 

1. upis vrijednosti broja n

  Readln(n);

Vas broj 0

2. ako je n=0

  IF n = 0 THEN

 

2.1. ispiši "DIJELJENJE SA NULOM"

    Writeln('Dijeljenje sa nulom ')

Dijeljenje sa nulom je nemoguce

inače

  ELSE

 

2.2. izračunaj i ispiši recipročnu vrijednost (1/n)

    Writeln('Reciprocna vrijednost je', 1/n);

 

 

END.

 

Za objašnjenje:

***

Listing programa

Opis

1

PROGRAM PP7_3;

 

2

USES

 

3

  WinCrt;

 

4

VAR

 

5

  n: Real;

 

6

BEGIN

 

7

  Write('Vas broj ');

 

8

  Readln(n);

 

9

  IF n = 0 THEN

 

10

    Writeln('Dijeljenje sa nulom ')

 

11

  ELSE

 

12

    Writeln('Reciprocna vrijednost je', 1/n);

 

13

END.

 

Listing programa:

PROGRAM PP7_3;
USES
  WinCrt;
VAR
  n: Real;
BEGIN
  Write('Vas broj ');
  Readln(n);
  IF n = 0 THEN
    Writeln('Dijeljenje sa nulom ')
  ELSE
    Writeln('Reciprocna vrijednost je', 1/n);
END.

Ispis na ekranu:

Index