{ 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.