Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.05.2009, 20:24
HoustoN HoustoN вне форума
Прохожий
 
Регистрация: 24.04.2009
Сообщения: 2
Репутация: 10
Печаль Поблема с тестом!

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

вот код проги:
Вложения
Тип файла: txt Текстовый документ.txt (3.0 Кбайт, 21 просмотров)

Последний раз редактировалось HoustoN, 27.05.2009 в 20:26.
Ответить с цитированием
  #2  
Старый 14.11.2009, 23:12
bleeep bleeep вне форума
Прохожий
 
Регистрация: 28.06.2009
Сообщения: 37
Репутация: 10
По умолчанию

HoustoN, со своей разберусь могу дать исходник примерный))
__________________
"I remember the good old days, when computers were
mainframes, analysts were magicians,and programmers
punced cards..."
Ответить с цитированием
  #3  
Старый 17.11.2009, 02:04
Boris the Blade Boris the Blade вне форума
Прохожий
 
Регистрация: 17.09.2009
Сообщения: 27
Репутация: 10
По умолчанию

Я бы делал следующим образом:

1. каждый вопрос делал бы в виде записи: текст вопроса, три ответа, причем правильный ответ всегда первый
Код:
type
  _question = record
    _text : string;
    _answers : array [1..3] of string;
  end;
2. далее сделать процедуру вывода вариантов ответа в произвольном порядке, например нечто подобное (выглядит дико, но всё же рабочая версия)
Код:
procedure TForm1._shuffle();
var
  _i : integer;
  _s : string;
begin
  randomize;
  _s := '123';

  _i := random(3)+1;
  label1.Caption := _q._answers[strtoint(copy(_s,_i,1))];
  delete(_s,_i,1);

  _i := random(2)+1;
  label2.Caption := _q._answers[strtoint(copy(_s,_i,1))];
  delete(_s,_i,1);

  label3.Caption := _q._answers[strtoint(_s)];
end;
3. и наконец, проверять ответ, скажем, вот так - щелчком по Label определять его Caption и сравнивать с правильным ответом
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025