Другие языки программирования и технологии

Сможет кто сделать? язык Паскаль

Написать программу, моделирующую тренажер по устному счету. Пользователь вводит
разрядность операндов, тип операции (+ - * /) на множестве натуральных чисел и количество
примеров. Компьютер генерирует случайным образом операнды, вычисляет результат операции
и выводит пользователю серию примеров, в каждом из которых один из операндов или результат
замаскирован. Пользователь вводит пропущенное число, компьютер проверяет правильность и
ведет статистику ошибок.
Писать программу не буду, но "болванку" дам. Тем более, что в задании есть неясности. Особенно с делением. Что результат тоже должен быть "на множестве натуральных чисел"? В общем вот вам усеченный пример

type
TJob = record
Op1, Op2 : Integer;
Op : Integer;
Res : Integer;
end;

const
OpType : array[0..3] of Char = ('+', '-', '*', '/');

var
Digits : Word;
NumJob : Word;
Jobs : array of TJob;
begin
Randomize;
Write('Разрядность операндов: '); Readln(Digits);
Digits := Trunc(Exp(Digits * Ln(10)));
Write('Число примеров: '); Readln(NumJob);
SetLength(Jobs, NumJob);

for var i:=0 to NumJob-1 do begin
Jobs[i].Op1 := Random(Digits);
Jobs[i].Op2 := Random(Digits);
Jobs[i].Op := Random(4);
case Jobs[i].Op of
0 : Jobs[i].Res := Jobs[i].Op1 + Jobs[i].Op2;
1 : Jobs[i].Res := Jobs[i].Op1 - Jobs[i].Op2;
2 : Jobs[i].Res := Jobs[i].Op1 * Jobs[i].Op2;
// 3 : Jobs[i].Res := Jobs[i].Op1 / Jobs[i].Op2;
end;
end;

for var i:=0 to NumJob-1 do begin
Writeln(Jobs[i].Op1 + ' ' + OpType[Jobs[i].Op] + ' ' + Jobs[i].Op2 + ' = ' + Jobs[i].Res);
end;

end.

В последнем цикле выводятся сгенерированные примеры. Ессно, без деления. Вас остается только случайным образом "закрыть" одну из 4 частей примера, подождать ответа пользователя и сравнить его с "закрытой" частью примера. Ну и про статистику не забыть.
Taldikbay Yesmahanov
Taldikbay Yesmahanov
59 627
Лучший ответ
Я могу. Но не хочу.
Ну я могу.
Цена вопроса?
Вернее, вопрос цены…
Ф)
Фума )
61 781
ЧЁ?? Это какой класс 38?