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.