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.