7.2.. Napisati program da provjeriti da li je upisani broj pozitivan, negativan ili
nula i to ispiše.
Opis rješenja: Zadatak ima tri ispisa, međutim može se riješiti sa dvije IF naredbe budući da naredba IF THEN ELSE sadrži dvije mogućnosti. Sa prvom se eliminiše jedno rješenje, a sa njenim ELSE dijelom se prelazi na odlučivanje o drugom i trećem rješenju. Izbor između ove druge dvije mogućnosti se izvodi sa novom (drugom) IF THEN ELSE naredbom.
Napomena: Jasno je da se zadatak može riješiti i sa tri IF THEN naredbe, ili sa dvije IF THEN naredbe koje koriste GOTO naredbu za skok na kraj.
Opis programa: Po upisu vrijednosti broja a izvodi se provjera da li je broj pozitivan. Ako je logički izraz (A>0) u IF naredbi istinit ispisuje se POZITIVAN. Inače se prelazi na dio naredbe ELSE unutar koje je druga IF naredba sa logičkim izrazom a<0. Ako je ovaj logički izraz istinit ispisuje se NEGATIVAN. Inače se ispisuje NULA. Ispred ELSE naredbe se nikad ne piše tačka zaraz (;) jer je to dio IF THEN ELSE naredbe.
Tabela 7.7. Provjera upisanog broja (pozitivan, negativan ili nula)
Tekstualni algoritam |
Listing programa |
Ekran |
|
PROGRAM PP3_ 7; |
|
|
VAR |
|
|
a : Real; |
|
|
BEGIN |
|
|
Write('Vas broj '); |
|
1. upis broja |
Readln(a); |
Vas broj 3 |
2. ako je a>0 |
IF a > 0 THEN |
|
2.1. tada ispiši POZITIVAN |
Writeln('POZITIVAN') |
POZITIVAN |
inače |
ELSE |
|
2.2., ako je a<0 |
IF a < 0 THEN |
|
2.2.1. tada ispiši NEGATIVAN |
Writeln('NEGATIVAN') |
|
|
ELSE |
|
2.2.2. inače ispiši NULA |
Writeln('NULA'); |
|
|
END. |
|
Drugo izvođenje programa
Vas broj -7
NEGATIVAN
Listing programa:
PROGRAM PP3_ 7;
USES
WinCrt;
VAR
a : Real;
BEGIN
Write('Vas broj ');
Readln(a);
IF a > 0 THEN
Writeln('POZITIVAN')
ELSE
IF a < 0 THEN
Writeln('NEGATIVAN')
ELSE
Writeln('NULA');
END.
Ispis na ekranu:
Index
|