Pazi, za ovo se najčešće koristi for petlja, koja u svakom svom ciklusu menja vrednost promenljive u funkciji brojača.Ae pomozi pls...ne ide ovo.Znam da su uslovi i mod 3=0 i i mod 2 <>0 i da trebam uvecati brojac kad se uslov ispuni...ali nezz kako da izvedem ovo sa repeat...![]()
Takođe, for petlja se može prikazati i preko while i preko repeat/until petlje. To se u Pascal-u često radi jer je for petlja ograničena celim brojevima i njihovim uvećanjima - samo oni tada mogu biti brojači i brojač se uvećava/smanjuje za 1, dok su ostale petlje fleksibilnije. U ovom slučaju je to besmisleno.
Recimo, ova tri dela koda rade isto:
Kod:
for i := a to b do
// radi nesto
Kod:
i = a;
while i <= b do
begin
// radi nesto
i := i + 1;
end;
Kod:
i := a;
repeat
// radi nesto
i := i + 1;
until i > b;
E, sad, ni tvoja logika nije u potpunosti tačna. Dobri su ti uslovi, ali posledica je netačna - brojač se uvećava bez ikakve zavisnosti od samih uslova.
Dakle, ideja je ova (pseudokod):
Kod:
za svako i (a <= i <= b) ponavljaj
da li (i mod 2 <> 0) i (i mod 3 = 0)?
-> da: štampaj vrednost i
-> ne: ništa
Kod:
program zadatak;
const donja = 40; gornja = 100; // recimo da su ovo granice
var i : integer;
begin
i := donja;
repeat
if (i mod 2 <> 0) and (i mod 3 = 0) then
writeln (i);
i := i + 1;
until i > gornja;
end.
Poslednja izmena:


:

