PROGRAM tabliczka_mnozenia; uses crt; var a, b, c, d, e, f: integer; poprawny, niepoprawny: STRING; znak: char; label poczatek1, poczatek2; BEGIN {a, b = liczby losowane wykorzystywane w dzialaniach c = wynik przy dzialaniach podany przez uzytkownika d = wybrana ilosc przykladow do rozwiazania e = wynik ogolny wszystkich zadan w procentach f = numer zadania} randomize; poprawny:=('Wynik poprawny.'); niepoprawny:=('Wynik niepoprawny, prawidlowy wynik to '); poczatek1: f:=0; e:=0; clrscr; writeln('*** Program do cwiczenia tabliczki mnozenia ***'); writeln; writeln; writeln; poczatek2: writeln('Ile przykladow wyswietlic?'); readln(d); writeln; IF d<1 then BEGIN writeln('Nie obliczyles nawet jednego przykladu! Sproboj obliczyc kilka.'); writeln; goto poczatek2; END; FOR d:=1 TO d do BEGIN a:=random(10); b:=random(10); f:=f+1; writeln('Przyklad nr ', f); writeln(a, ' * ', b, ' = ?'); write('Podaj wynik: '); read(c); IF c=a*b then BEGIN writeln(poprawny); e:=e+1; END ELSE writeln(niepoprawny, a*b); writeln; readln; END; IF e=0 then BEGIN writeln('Nie rozwiazales ani jednego przykladu poprawnie! Sproboj jeszcze raz.'); writeln; goto poczatek2; END ELSE BEGIN e:=e*100 div d; write('PODSUMOWANIE: Rozwiazales ', e, '% zadan poprawnie. '); IF e < 50 then writeln('Jest to bardzo slaby wynik.') ELSE IF e < 90 then writeln('Moglo byc lepiej.') ELSE IF e < 100 then writeln('Prawie dobrze.') ELSE IF e = 100 then writeln('Idealnie!'); END; writeln; writeln; writeln; writeln('Nacisnij klawisz BACKSPACE, aby sprobowac ponownie lub ENTER, aby zakonczyc dzialanie programu.'); znak:=readkey; IF znak=chr(8) then goto poczatek1; END.