předchozí návrat do menu uložit zdrojový kód následující

Cvičení 14

Vytvořte program, kterému budete postupně zadávat předem neurčený počet známek a on z nich spočítá průměr, který na konci vypíše společně s počtem známek. Ošetřete zadání tak, aby bylo možné zadat pouze známky v rozsahu <1;5> a klávesu "Esc" pro ukončení zadávání. Pro ostatní případy uživatele upozorněte např.: "Chybné zadání". K zadávání známek použijte funkci ReadKey. Po ukončení zadávání a výpisu průměru a počtu známek bude uživatel tázán, zda chce zadávat znovu.

Rada: Ordinální číslo pro klávesu "Esc" je 27. Ordinální čísla numerických kláves jsou o 48 větší než jejich číselná hodnota, tzn.: ordinální číslo klávesy "1" je 49 apod.


program ukol14;
uses crt;
var
   znamka,soucet,pocet:integer;
   odpoved:char;

begin
  clrscr;
  while odpoved <> 'N' do  {cyklus pro opakovani zadani}
   begin
    clrscr;
    soucet:=0;
    pocet:=0;

    repeat                {cyklus pro zadavani jednotlivych znamek}
     write('Zadejte znamku nebo "Esc": ');
     znamka:=ord(readkey)-48;     {ordinalni cisla jsou o 48 vetsi}
     if (znamka>=1) and (znamka<=5) then
      begin
       writeln(znamka);
       soucet:=soucet+znamka;
       pocet:=pocet+1;
      end
     else
      begin
       if znamka=-21 then writeln('Esc'){ord "Esc" je 27 -> 27-48=-21}
       else writeln('neplatna hodnota');
      end;
    until znamka=-21;

   writeln('-----------------------------');
   if pocet=0 then writeln('Nezadali jste zadnou znamku!')
   else
    begin
     writeln('Pocet znamek: ', pocet);
     writeln('Prumer:       ', (soucet/pocet):0:2);
    end;
   writeln('-----------------------------');
   writeln('Chcete zadavat znovu? (Ano/Ne): ');
   odpoved:=Upcase(readkey);
   end;

end.

Zpět na: Lekce 6


předchozí návrat do menu uložit zdrojový kód následující
Klíčová slova v Pascal