Случайный выбор - Pascal ABC
Формулировка задачи:
Дорогие мои, подскажите, пожалуйста, как сделать случайный выбор вопросов. Никак не могу понять куда поставить randomize и каким образом его описать. Пробовала ставить, но выбирается только один вопрос и сразу же ставится оценка, что мне не подходит. Нужно, что бы случайным образом выбирались все вопросы.
Решение задачи: «Случайный выбор»
textual
Листинг программы
var correct_answers: array[1..20] of byte; i,j,x,s,ocenka,a: byte;/добавит a m:set of byte;//добавить ........................................ //после заполнения массивов randomize; m:=[]; s:=0; for i:=1 to 20 do begin repeat a:=1+random(20); until not(a in m); m:=m+[a]; writeln(questions[a]); for j:=1 to 4 do write(j,'. ',answers[a,j],'. '); writeln; readln(x); if x=correct_answers[a] then inc(s); end;
Объяснение кода листинга программы
- В коде представлена задача случайного выбора.
- В первой части кода объявлены переменные:
- correct_answers - массив из 20 элементов типа byte, который будет содержать правильные ответы;
- i, j, x, s, ocenka, a - вспомогательные переменные типа byte.
- Во второй части кода происходит заполнение массивов:
- correct_answers - заполняется значениями правильных ответов;
- questions - массив строк, содержащих вопросы;
- answers - массив 2D, содержащий варианты ответов.
- Далее, с помощью функции randomize, инициализируется генератор случайных чисел.
- Затем, создается пустое множество m, которое будет использоваться для отслеживания выбранных чисел.
- Внешний цикл for i:=1 to 20 выполняет пошаговое тестирование каждого элемента массива correct_answers.
- Внутренний цикл repeat-until используется для случайного выбора числа, которое еще не было добавлено в множество m.
- После выбора числа a, оно добавляется в множество m, а затем выводится вопрос, соответствующий числу a.
- Затем, с помощью внутреннего цикла for j:=1 to 4, выводятся варианты ответов на вопрос.
- После чтения ответа пользователя с помощью функции readln(x), проверяется его соответствие правильному ответу correct_answers[a].
- Если ответы совпадают, переменная s увеличивается на единицу.
- В конце программы значение переменной s будет содержать количество правильных ответов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д