8.2.. Prebrojati prirodne brojeve iz intervala od k do n koji su djelivi sa 3. Za generisanje prirodnih brojeva koristiti WHILE petlju.
Opis rješenja: Izbor djeljivih sa 3 se izvodi logičkim izrazom i MOD 3=0. Logički izraz je istinit kad pri dijeljenju broja sa 3 nema ostatka (ostatat=0), formira se nova vrijednost brojača. Početna vrijednost brojača je nula (br:=0). Vrijednost brojača se uvaćava za jedan (br+1) kad je logički izraz i MOD 3=0 istinit.
Opis programa: Početne vrijednosti brojača br:=0 i kontrolne varijable i:=k. Provjera djeljivosti broja sa 3 se izvodi logičkim izrazom i MOD 3=0. Logički izraz je istinit ako pri djeljenju nema ostatka. Brojač br se uvećava za jedan (br+1) za svaki broj koji je djeljiv sa 3. Vrijednost se pridružuje varijabli br. Petlja se ponavlja za sve vrijednosti upisanog intervala (k, n). Ispis izračunate vrijednosti brojača je na kraju.
Tabela 8.8. Prebrojati prirodne brojeve od k do n djelive sa 3
Tekstualni algoritam |
Listing programa: |
Ekran |
|
PROGRAM PP8_8; |
|
|
VAR |
|
|
i, k, n, br: Integer; |
|
|
BEGIN |
|
|
REPEAT |
|
1. granice intervala (k, n) |
Write('Granice intervala '); |
|
|
Readln(k, n); |
Granice 2 16 |
2. ako su pogrešne granice (k>n), idi na 1 |
UNTIL k<n; |
|
3. postaviti početne vrijednosti brojača |
br := 0 ; |
|
i kontrolne varijable i |
i := k; |
|
4. dok je i<=n radi |
WHILE i <= n DO |
|
|
BEGIN |
|
4.1. ako je broj i djeljiv sa 3 uvećati brojač |
IF i MOD 3 = 0 THEN |
|
|
br := br + 1; |
|
4.2. uvećati kontrolnu varijablu i |
i := i + 1; |
|
|
END; (* while *) |
|
5. ispis izračunatu vrijednosti brojača |
Writeln('Od ', k, ' do ', n, ' ima ', br, ' brojeva djeljivih sa 3'); |
Od 2 do 16 ima 5 brojeva djeljivih sa 3 |
|
END. |
|
Listing programa:
PROGRAM P08212074;
USES
WinCrt;
VAR
i, k, n, br: Integer;
BEGIN
REPEAT
Write('Granice intervala ');
Readln(k, n);
UNTIL k<n;
br := 0 ;
i := k;
WHILE i <= n DO
BEGIN
IF i MOD 3 = 0 THEN
br := br + 1;
i := i + 1;
END; (* while *)
Writeln('Od ', k, ' do ', n, ' ima ', br, ' brojeva djeljivih sa 3');
END.
Ispis na ekranu:
Index
|
|