Zadání:
Sestavte program, který vypočte aritmetický průměr z kladných a záporný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.
Po otestování čísla na kladnost či zápornost je přičteme k součtu záporných či kladných hodnot a inkrementujeme
počet
záporných či kladných čísel.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var cislo,n,i,pz,pk,sz,sk:integer;
apz,apk:real;
begin
write('Zadejte pocet cisel: ');
readln(n);
pz:=0;
pk:=0;
sz:=0;
sk:=0;
for i:=1 to n do
begin
write('Zadejte ',i,':cislo: ');
readln(cislo);
if cislo<0 then
begin
pz:=pz+1;
sz:=sz+cislo;
end;
if cislo>0 then
begin
pk:=pk+1;
sk:=sk+cislo;
end;
end;
apz:=sz/pz;
apk:=sk/pk;
writeln('Aritmeticky prumer zapornych cisel=',apz:0:3);
writeln('Aritmeticky prumer kladnych cisel=',apk:0:3);
readln;
end.
program ke stažení
Pro studenty:
Pozor, nesmíte vynechat sekci inicializace proměnných. Do proměnných pz, pk, sz a sk MUSÍTE vložit hodnotu O (nula), jinak by program dosadil své počáteční hodnoty.
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.
Program se ukončí chybou, pokud se v řadě čísel neobjeví žádné kladné či záporné číslo. Pak zůstane v proměnné pk nebo pz nulová hodnota a dojde k dělení nulou.