Zadání:
Sestavte program, který vypočte aritmetický průměr z lichých hodnot ze zadaného počtu čísel.
Řešení:
Zadání vyřešíme použitím cyklu FOR, který bude načítat čísla tolikrát, jakou hodnotu zadáme do proměnné pocet.
Každé zadané číslo testujeme na lichost, jestliže bude jeho hodnota lichá, přičteme ho k součtu a zvýšíme počet lichých
čísel o jedna.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var prumer,soucet: real;
cislo,pocet,pocetlichych,i:integer;
begin
write('Zadejte pocet cisel: ');
readln(pocet);
soucet:=0;
pocetlichych:=0;
for i:=1 to pocet do
begin
write('Zadejte ',i,'.cislo: ');
readln(cislo);
if odd(cislo) then
begin
soucet:=soucet+cislo;
pocetlichych:=pocetlichych+1;
end;
end;
prumer:=soucet/pocetlichych;
writeln('Aritmeticky prumer lichych cisel=',prumer:0:3);
readln;
end.
program ke stažení
Pro studenty:
Pozor, nesmíte vynechat sekci inicializace proměnných. Do proměnné soucet a pocetlichych MUSÍTE vložit hodnotu O (nula), jinak by program dosadil své počáteční hodnoty.
Uvědomte si, že počítače definují nulu jako sudé číslo.
Pro učitele:
Doporučuji ukázat a vysvětlit studentům, jak program zareaguje na nulovou hodnotu v proměnné pocet a na
záporné hodnoty v proměnné pocet.
Další problém nastane, pokud nebude zadáno žádné liché číslo.