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