Подскажите, как создать тест, чтобы цифры в примерах не повторялись - Pascal
Формулировка задачи:
Создала тест, но мне надо, чтобы цифры в примерах не повторялись или хотя бы знаки
Решение задачи: «Подскажите, как создать тест, чтобы цифры в примерах не повторялись»
textual
Листинг программы
uses crt ; var a,b,c,x,r,s,o,i:integer; begin clrscr; randomize; s:=0; writeln('Математический тест "'); for i:=1 to 10 do begin a:=1+random(10); b:=1+random(10); c:=random(2); case c of 0:begin r:=a+b; writeln(a,'+',b,'=?'); end; 1:begin r:=a-b; writeln(a,'-',b,'=?'); end; end; readln(x); if x=r then s:=s+1; end; case s mod 11 of 0..3:o:=2; 4..6:o:=3; 7..8:o:=4 else o:=5; end; writeln('Ваши баллы: ',S,' Оценка:', o); readln; end.
Объяснение кода листинга программы
- Объединение и использование функций
random
иreadln
для генерации случайных чисел и получения ответа от пользователя. - Использование оператора
mod
для определения оценки пользователя на основе количества правильных ответов. - Использование оператора
case
для определения различных математических операций, которые должны быть выполнены в зависимости от значения переменнойc
. - Использование оператора
if
для проверки правильности ответа пользователя и увеличения переменнойs
, если ответ правильный. - Использование оператора
writeln
для вывода вопроса, результата и оценки пользователя. - Использование переменной
r
для хранения правильного ответа на вопрос. - Использование переменной
s
для отслеживания количества правильных ответов пользователя. - Использование переменной
o
для хранения оценки пользователя. - Использование функции
randomize
для инициализации генератора случайных чисел. - Использование функции
clrscr
для очистки экрана перед выводом вопросов.