// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018
var c, w: integer;
procedure check;
begin
var (a, b) := (Random(0, 20), Random(0, 20));
Print($'{a}*{b}=');
if a * b = ReadInteger then begin inc(c); Println('Правильно') end
else begin inc(w); Println('Неправильно') end;
end;
procedure res;
begin
Println($'Задано вопросов {c+w}');
Println($'Правильных {c}({(c*100)/(c+w):f1}%)');
Println($'Неправильных {w}({(w*100)/(c+w):f1}%)');
end;
begin
var start := true;
while start do
begin
Println('Проверим?(0/1)');
if ReadInteger = 0 then
begin start := false; res; end
else check;
end;
end.
Пример в приложении.
//Язык Pascal
Program multiplication;
Var
code, rightAnswers, mistakes, answersCount, value1, value2, answer: integer;
Begin
Randomize;
code := 1;
rightAnswers := 0;
mistakes := 0;
answersCount := 0;
while code = 1 do
begin
Write('Проверим? ');
Readln(code);
Writeln();
if (code = 1) then
begin
value1 := random(1, 9);
value2 := random(1, 9);
Write(value1, '*', value2, ' = ');
Readln(answer);
if (answer = value1 * value2) then
begin
Writeln('Правильно!');
rightAnswers := rightAnswers + 1;
end
else
begin
Writeln('Неправильно!');
mistakes := mistakes + 1;
end;
answersCount := answersCount + 1;
Writeln();
end;
end;
Writeln('Статистика:');
Writeln('Задано вопросов: ', answersCount);
Writeln('Количество правильных ответов: ', rightAnswers);
Writeln('Число ошибок: ', mistakes);
End.
var
a:array[1..100] of integer;
i,n:integer;
begin
readln(n);
writeln('исходный массив');
for i:=1 to n do
begin
a[i]:=random(50)-25;
write(a[i]:4);
end;
writeln;
writeln('измененный массив');
for i:=1 to n do
begin
if a[i]=0 then a[i]:=n;
if a[i]<0 then
if (a[i] mod 7=0) then a[i]:=abs(a[i])
else a[i]:=a[i]*(-2);
write(a[i]:4);
end;
end.