Navigace: Hlavní stránka -> PASCAL -> 04 Cykly -> 04.05 Aritmetický průměr záporných a kladných čísel

MENU

04.05 Aritmetický průměr záporných a kladných čísel

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.