Помощь - Поиск - Пользователи - Календарь
Полная версия: Тестирование
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Shults99-
Подскажите, кто-нибудь видел подобное(всмысле код)?

Тестирование.
Испытуемому предлагаются вопросы, на которые он должен ответить. 4 варианта ответа – выбрать подходящий. В конце суммируются оценки и выводится общий бал.
Вам предстоит создать программу, которая позволяет автоматизировать процесс тестирования. Область тестирования должна быть определена Вами (любая, которая интересна с Вашей точки зрения). Требования к программе В результате анализа различных тестов были сформулированы следующие требования к программе:

1.Программа должна обеспечить работу с тестом произвольной длины, т.е. не должно быть ограничений на
количество вопросов в тесте.
2.Каждому вопросу может соответствовать до четырех возможных вариантов ответа со своей балльной оценкой.
3.Результат тестирования должен быть отнесен к одному из четырех уровней. Например, "отлично", "хорошо",
"удовлетворительно" или "плохо".
4.Тест представляет собой текстовый файл.
5.Программа должна быть инвариантна к различным тестам, т.е. изменения в тесте не должны вести за собой
требования изменения программы,
6.Программа не должна обеспечивать возврат к предыдущему вопросу. Если вопрос предложен, то на него должен
быть получен ответ.


**********************************************************

Запуск проги может быть из строки test.exe text_fail
где text_fail - текстовый файл с тестами.
Каждый вопрос сотоит из теста вопроса и текста вариантов ответа.
и т.д.
Ozzя
Есть такое. С ТурбоВижн написанное. Обеспечивает всё, кроме п. 4 (file of records). Выложить?
Вариантов ответов 3-7. Множественный выбор ответов. Ввод правильного ответа.
Shults99
Нет, не надо, thnks. К сож. нужно на Турбо-Паскале...
Ozzя
На турбо паскале + турбо вижн
klem4
А где у тебя возникает проблема в реализации ? По моему все достаточно тривиально, а текстовом файле строки расположить следующим образом

впрос1
ответ1
балл за ответ1 (скажем это правильный ответ, тут 25 баллов, а остальные 0)
ответ2
балл за ответ2
ответ3
балл за ответ 3
ответ4
балл за ответ4

вопрос2
... и так далее ...

хотя удобнее будет вот так

вопрос1
ответ1 балл
ответ2 балл
...


или даже так :

вопрос1
ответ1
ответ2
ответ3
ответ4
балл1
балл2
балл3
балл4

...
klem4
Вот набросал на скорую руку, суть я думаю поймешь :

uses crt;
var
f : text;
s : string;
ch : char;
i,j,sum,e,t : integer;

begin

clrscr;

assign(f,'c:\questions.txt');

reset(f);

sum := 0; i := 0;

while (not(eof(f))) do begin
clrscr;
inc(i);
writeln('Vopros N ',i);
readln(f,s);
writeln(s);
writeln('Varianti otvetov');
for j := 1 to 4 do begin
write(j,' ');
readln(f,s);
writeln(s);
end;
writeln;
repeat
ch := readkey;
until ch in ['1'..'4'];

for j := 1 to 4 do begin
readln(f,s);
if j = ord(ch)-48 then begin
val(s,t,e);
sum := sum + t;
end;
end;
end;

writeln('sum = ',sum);
close(f);
readln;

end.



Содержание файла :

Цитата
Skolko vipit piva ?
dva batla
tri batla
5 batlov
niodnogo
3
7
9
0
oleg opozdaet ?
da, na 5 minut
da, na 20 minut
net
ya sam opozdau muahaha!
1
2
10
15
Shults99
Да, klem4, у меня проблема в реализации..
В т.ч. на reset(f) останавливается прога и говорит не знаю такого файла - questions.txt переписал в текущ и в корень
Ozzя
questions.txt - 9 символов в имени файла. Возможно, не берет из-за этого.
Попробуй переименовать в question.txt
Shults99
Угу. Вечерком попробую.
Shults99
Осталось совсем чуть-чуть.
Как напишу выложу тест по определению силы воли в профессиональной деятельности )))
Так, вопрос.
Три оценки по прохождению теста, взависимости от значения переменной sum.
Как их с помощью цикла (или нет) выдавать. Т.е. если сумма 10, то тройка, если сумма 15, то 4-, если больше, чем 15, то 5 ?
Вот пока все, о чем я додумался.
    writeln('Nabrano ballov - ',sum);
if sum<=12 then
writeln('Vasha otcenka = 0 sad.gif Vy prosto delayete to, chto Vam interesno');
else
if (sum>13) and (sum<21) then
writeln('Vasha otcenka = 4- smile.gif Po dobroy vole lishnego na sebya ne vozmete ;)')
else
writeln('Vasha otcenka = 5 smile.gif Podumayte o gibkosti, snishoditelnosti i dobrote');
close(f);
readln;
Shults99
Тест силы воли в профессиональной деятельности.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.