Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Оксанапрограмм
0 / 0 / 0
Регистрация: 23.03.2017
Сообщений: 9
1

Случайный выбор

09.01.2018, 19:29. Просмотров 527. Ответов 2
Метки нет (Все метки)

Дорогие мои, подскажите, пожалуйста, как сделать случайный выбор вопросов. Никак не могу понять куда поставить randomize и каким образом его описать. Пробовала ставить, но выбирается только один вопрос и сразу же ставится оценка, что мне не подходит. Нужно, что бы случайным образом выбирались все вопросы.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
program test;
uses crt;
var questions: array[1..20] of string;
var answers: array[1..20, 1..4] of string;
var correct_answers: array[1..20] of byte;
i,j,x,s,ocenka: byte;
begin
writeln('Основы программирования ');
questions[1]:='1) Операцией вывод на экран является:';
answers[1,1]:='readln'; answers[1,2]:='writeln'; answers[1,3]:='readkey'; answers[1,4]:='var';
correct_answers[1]:=2;
questions[2]:='2) Укажите полную форму составного условного оператора:';
answers[2,1]:='if...then...'; answers[2,2]:='case...of...else'; answers[2,3]:='if...then....else'; answers[2,4]:='case...of...';
correct_answers[2]:=3;
questions[3]:='3) С помощью какой команды можно ввести числа с клавиатуры?';
answers[3,1]:='readln(a)'; answers[3,2]:='writeln(a)'; answers[3,3]:='random(a)'; answers[3,4]:='write(a)';
correct_answers[3]:=1;
questions[4]:='4) Перевод программ с языка высокого уровня на язык более низкого уровня обеспечивает программа -';
answers[4,1]:='ассемблер'; answers[4,2]:='паскаль'; answers[4,3]:='компилятор'; answers[4,4]:='датчик';
correct_answers[4]:=3;
questions[5]:='5) Алгоритм, в котором действия выполняются друг за другом, не повторяясь называется:';
answers[5,1]:='линейным'; answers[5,2]:='циклическим'; answers[5,3]:='разветвленным'; answers[5,4]:='простым';
correct_answers[5]:=1;
questions[6]:='6) Символьный тип данных объявляется служебным словом:';
answers[6,1]:='STRING'; answers[6,2]:='BYTE'; answers[6,3]:='WORD'; answers[6,4]:='CHAR';
correct_answers[6]:=4;
questions[7]:='7) Оператор цикла с постусловием';
answers[7,1]:='While…do'; answers[7,2]:=' For … to…do'; answers[7,3]:='Repeat… until'; answers[7,4]:='For…downto…do';
correct_answers[7]:=3;
questions[8]:='8) Логический тип данных объявляется служебным словом:';
answers[8,1]:='BOOLEAN'; answers[8,2]:='LOGIC'; answers[8,3]:='BYTE'; answers[8,4]:='IF';
correct_answers[8]:=1;
questions[9]:='9) Раздел переменных определяется служебным словом:';
answers[9,1]:='LABEL'; answers[9,2]:='TYPE'; answers[9,3]:='VAR'; answers[9,4]:='ARRAY';
correct_answers[9]:=3;
questions[10]:='10) Для возведения в квадрат применяется функция:';
answers[10,1]:='LN(X)'; answers[10,2]:='LOG(X)'; answers[10,3]:='SQRT(X)'; answers[10,4]:='SQR(X)';
correct_answers[10]:=4;
questions[11]:='11) Раздел констант объявляется служебным словом:';
answers[11,1]:='CONST'; answers[11,2]:='KONST'; answers[11,3]:='CONCT'; answers[11,4]:='VAR';
correct_answers[11]:=1;
questions[12]:='12) Цикл с постусловием определяется служебным словом:';
answers[12,1]:='FOR'; answers[12,2]:='WHILE'; answers[12,3]:='CASE'; answers[12,4]:='REPEAT';
correct_answers[12]:=4;
questions[13]:='13) В Паскале различие в высоте букв (прописные или строчные)';
answers[13,1]:='имеет значение для написания служебных слов'; answers[13,2]:='имеет значение для написания имен переменных'; answers[13,3]:=' имеет значение при написании текстовых констант'; answers[13,4]:='игнорируется';
correct_answers[13]:=3;
questions[14]:='14) Какие виды подпрограмм есть в Паскале?';
answers[14,1]:=' модуль и функция'; answers[14,2]:='процедура и функция'; answers[14,3]:='модуль и процедура'; answers[14,4]:='процедура';
correct_answers[14]:=2;
questions[15]:='15) Раздел констант объявляется служебным словом:';
answers[15,1]:='BEGIN'; answers[15,2]:='PROCEDURE'; answers[15,3]:='FUNCTION'; answers[15,4]:='PROCEDURA';
correct_answers[15]:=2;
questions[16]:='16) Каким символом разделяются перечень однотипных формальных параметров в процедуре?';
answers[16,1]:='запятой'; answers[16,2]:='точкой с запятой'; answers[16,3]:='двоеточием'; answers[16,4]:='точкой';
correct_answers[15]:=1;
questions[17]:='17) Каким символом разделяются перечень разнотипных формальных параметров в процедуре?';
answers[17,1]:='запятой'; answers[17,2]:='точкой с запятой'; answers[17,3]:='двоеточием'; answers[17,4]:='точкой';
correct_answers[17]:=2;
questions[18]:='18) Каким символом разделяются перечень разнотипных формальных параметров в процедуре?';
answers[18,1]:='var y = array [1..10] of integer'; answers[18,2]:='var y : array (1..10) of integer'; answers[18,3]:='var y : array [1..10] of integer'; answers[18,4]:='type y = array (1..10) of integer';
correct_answers[18]:=3;
questions[19]:='19) Язык программирования Pascal создал';
answers[19,1]:='Б. Паскаль'; answers[19,2]:='М. Фортран'; answers[19,3]:='Н. Вирт'; answers[19,4]:='Правильных ответов нет';
correct_answers[19]:=3;
questions[20]:='20) Процедура INC(x,k)';
answers[20,1]:='преобразует десятичное число х в строку из k символов'; answers[20,2]:='увеличивает значение переменной х на величину k'; answers[20,3]:='уменьшает значение переменной х на величину k'; answers[20,4]:='преобразует строку символов x в число, содержащее k десятичных знаков';
correct_answers[20]:=2;
s:=0;
for i:=1 to 20 do
begin
writeln(questions[i]);
for j:=1 to 4 do write(j,'. ',answers[i,j],'. ');
writeln;
readln(x); 
if x=correct_answers[i] then inc(s);
end;
writeln('Процент ваших правильных ответов - ', round(s/20*100));
begin
if round(s/20*100)>=60 then ocenka :=4;
if round(s/20*100)>=80 then ocenka :=5;
if round(s/20*100)<=40 then ocenka :=2;
if round(s/20*100)>40 then ocenka :=3;
writeln('Ваша оценка - ', ocenka);
end;
end.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2018, 19:29
Ответы с готовыми решениями:

Случайный выбор дежурного из списка
Составить программу случайного выбора дежурного из списка, в котором 4 мальчика и 4 девочки, причем...

Случайный выбор дежурного из списка
Составить программу случайного выбора дежурного из списка, в котором 4 мальчика и 4 девоч-ки,...

Случайный порядок
В общем такая проблема, написал программу тестирования. Мне нужно что бы вопросы теста выводились в...

Случайный поиск
Организация поиска k-го элемента в неупорядоченном массиве А возможна следующим образом. ...

случайный вывод из файла
помогите. нужно из файла в базу данных вывести данные в случайном порядке.

2
Puporev
Модератор
58056 / 44174 / 30516
Регистрация: 18.05.2008
Сообщений: 105,762
09.01.2018, 19:50 2
Можно так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
1
Оксанапрограмм
0 / 0 / 0
Регистрация: 23.03.2017
Сообщений: 9
09.01.2018, 19:57  [ТС] 3
спасибо большое, все работает!
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2018, 19:57

Сгенерировать случайный массив
сгенерировать случайный массив a из 20 элементов равных случайным числам от 0 до 100 и вынести его...

как сделать чтобы напечатал случайный диапазон от -10 до 10
как сделать чтобы напечатал случайный диапазон от -10 до 10.Зарнее спасибо.

Подскажите, как сделать случайный выбор и случайный выбор ответов?
подскажите как сделать случайный выбор вопросов и случайны выбор ответов var questions = , ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.