Dze je subor www.TrSek.com/cover/patak/matika_test.pas{ MATIKA_TEST.PAS Copyright (c) Pavel Patak }
{ Program skousi uzivatele z matematickych prikladu: }
{ Scitani, odecitani, nasobeni, umocnovani. }
{ Z testovani vypocte znamku. }
{ }
{ Datum:28.10.2004 http://www.trsek.com }
Program ZkouskaZMatiky;
const PocetPrikladu = 20;
var PocetChyb : Integer;
T,A,B,V,Z,I : Integer; {Typ prikladu,a,b, vysledek, zadani - zde vidite ukazku chybne pojmenovych promennych...}
{Na vysvetleni jejich vyznamu je zapotrebi pouzit komentaru!!!}
Begin
Randomize;
for I:=1 to PocetPrikladu do
begin
T:=Random(4);
case T of
0: begin
A:=Random(100);
B:=Random(200)-100;
Write(A);
if B < 0 then Write(' - ',-B,' = ') else Write(' + ',B,' = ');
V:=A+B;
end;
1: begin
A:=Random(10);
B:=Random(10);
V:=A*B;
Write(A,' * ',B,' = ');
end;
2: begin
V:=Random(10);
B:=Random(10);
if B=0 then Inc(B); {Nulou nelze delit}
A:=V*B;
Write(A,' / ',B,' = ');
end;
3: begin
A:=Random(20);
B:=2;
V:=A*A;
Write(A,' ^ 2 = '); {Umocnovani na druhou}
end;
end;
Readln(Z);
if Z<>V then
Begin
Writeln('Chyba, je to : ',V);
Inc(PocetChyb);
End
else
Writeln('Spravne'); {Neskodilo by hlasky trochu obmenovat}
end;
Writeln;
Writeln('Pocet prikladu : ',PocetPrikladu);
Writeln('Pocet chyb : ',PocetChyb);
PocetChyb:=(PocetChyb * 5) div PocetPrikladu+1; {Snad je to dobre, nebyl cas testovat}
if PocetChyb > 5 then PocetChyb:=5;
Writeln;
Writeln('Vysledna znamka : ',PocetChyb);
Readln;
End.