program kladnaCisla;
{ Program očekává na vstupu řadu čísel, které se vejdou do integeru.
Vypíše je po řadě všechny až do prvního nekladného čísla (které už nevypíše).}
var a : integer;
begin
read(a); {První číslo načteme do proměnné a.}
{ Nevíme, kolik těch čísel bude, proto použijeme while-cyklus a ne for-cyklus. Nicméně víme, že chceme
čísla procházet tak dlouho, dokud jsou kladná. Všimněte si, že že jeden read(a) je těsně před cyklem
a jeden na konci těla cyklu. Díky tomuto pořadí vždy těsně poté, co načteme do proměnné a hodnotu ze
vstupu, se dostaneme na řádek s podmínkou, zda a > 0. Tedy hned jakmile načteme nekladné číslo, nám
tato podmínka vyjde nepravdivá - a my do těla cyklu už nevkročíme - a posuneme se na první příkaz za
cyklem. Což je end. Tedy program pak ihned skončí. }
while (a > 0) do
begin
write(a,' '); {Všimněte si, že zde nevypisujeme jen write(a), ale ještě něco navíc. Pročpak to? ;)}
read(a);
end;
end.
Kdo byste našel v nějakém z těchto programů chybu, dejte mi to vědět - můžete tak získat bonusové body (1 chyba ≈ 5 bodů). ;)