Программа для проведения компьютерного тестирования на языке Паскаль.
Международные дистанционные “ШКОЛЬНЫЕ ИНФОКОНКУРСЫ”
для дошкольников и учеников 1–11 классов
Программа для компьютерного тестирования на языке Паскаль.
Программа позволяет провести тестирование с использованием компьютера. Тест состоит из 10 вопросов. Вопросы предварительно распечатываются. При желании преподавателя количество вопросов может быть увеличено, например до 20. При этом необходимо дополнить программу. Для каждого вопроса предлагаются пять вариантов ответа. Учащимся необходимо выбрать среди них правильный ответ и внести номер выбранного ответа в компьютер. После набора номеров выбранных ответов следует нажать на клавишу Enter >>. При этом на экране в виде текста дается результат выполнения теста. В данном примере правильными ответами являются номера 5, 2, 1, 4, 5, 2, 2, 1, 1, 1. Изменив значения A 1, A 2, …, A 10 можно выбрать другие варианты правильных ответов.
Критерии выставления оценок по результатам теста следующие:
9 или 10 правильных ответов — «отлично», 7 или 8 правильных ответов – «хорошо», 5 или 6 правильных ответов – «удовлетворительно». Если же количество правильных ответов меньше 5, то результат -«неудовлетворительно». Критерии к оценкам можно редактировать в тексте программы. Например: если тест предназначен для первых и вторых классов, то можно исключить оценку «неудовлетворительно». Для старших классов можно поднять критерии. То есть программу можно адаптировать для конкретного теста и класса.
var A1, A2, A3, A4, A5,A6,A7,A8,A9,A10:integer;
writeln (‘введите номер ответа на 1 вопрос’);
writeln (‘введите номер ответа на 2 вопрос’);
writeln (‘введите номер ответа на 3 вопрос’);
writeln (‘введите номер ответа на 4 вопрос’);
writeln (‘введите номер ответа на 5 вопрос’);
writeln (‘введите номер ответа на 6 вопрос’);
writeln (‘введите номер ответа на 7 вопрос’);
writeln (‘введите номер ответа на 8 вопрос’);
writeln (‘введите номер ответа на 9 вопрос’);
writeln (‘введите номер ответа на 10 вопрос’);
if A10=1 then S10:=1 else S10:=0;
writeln ( F ,’, Вы набрали’,’ ‘, S ,’ ‘, ‘баллов’);
Writeln ( ‘Поздравляю, вы получили оценку » отлично!»‘)
writeln ( F ,’, Вы получили оценку «хорошо!»‘)
if 5 S then writeln ( F ,’, Вы получили оценку «удовлетворительно»‘)
else writeln ( F ,’, Вы получили оценку «неудовлетворительно»‘);
Источник статьи: http://infourok.ru/programma-dlya-provedeniya-kompyuternogo-testirovaniya-na-yazike-paskal-704182.html
как делать тесты в паскале?? очень надо. а ваще кто может написать прогу??помогите. срочнооооооооооооооооооооо
Uses crt;
var a,aa,b,bb,summa,c:integer;
begin
repeat
writeln(‘Если вы хотите пройти тест нажмите 1’);
writeln;
writeln(‘Если вы хотите выйти нажмите 2’);
writeln;
writeln(‘Ваш выбор: ‘);
readln(c)
if c=1 then goto 1;
if c=2 then exit;
until a in [1,2];
1:clrscr;textcolor(yellow);
gotoxy(13,1);writeln(‘Как вы думаете сколько миллионов человек живет в России? ‘);
gotoxy(35,4);writeln(‘1) 200’);
gotoxy(35,6);writeln(‘2) 167’);
gotoxy(35,8);writeln(‘3) 144’);
gotoxy(35,10);writeln(‘4) 129’);
gotoxy(35,13);writeln(‘Ваш выбор: ‘);
readln(a);
gotoxy(35,18);if a=3 then writeln(‘Bерно. ‘) else writeln(‘Неверно. ‘);
delay(2000);
clrscr;textcolor(cyan);
gotoxy(13,1);writeln(‘Как вы думаете какова площадь России? (100 км в квадрате) ‘);
gotoxy(35,4);writeln(‘1) 17000’);
gotoxy(35,6);writeln(‘2) 14000’);
gotoxy(35,8);writeln(‘3) 19000’);
gotoxy(35,10);writeln(‘4) 15000’);
gotoxy(35,13);writeln(‘Ваш выбор: ‘);
readln(b);
gotoxy(35,18);if a=1 then writeln(‘Bерно. ‘) else writeln(‘Неверно. ‘);
delay(2000); <Таким же образом делаются остальные вопросы>
clrscr;textcolor(red);
gotoxy(20,12);writeln(‘Loading progressing 5 seconds’);delay(1000);
clrscr;
gotoxy(20,12);writeln(‘Loading progressing 4 seconds’);delay(1000);
clrscr;
gotoxy(20,12);writeln(‘Loading progressing 3 seconds’);delay(1000);
clrscr;
gotoxy(20,12);writeln(‘Loading progressing 2 seconds’);delay(1000);
clrscr;
gotoxy(20,12);writeln(‘Loading progressing 1 seconds’);delay(1000);
clrscr;
gotoxy(20,12);writeln(‘Loading progressing complete!’);delay(1000); <Имитация загрузки>
clrscr;
gotoxy(20,2);if a=1 then writeln(‘1) Неправильно (0 баллов) ‘);delay(200);
gotoxy(20,2);if a=2 then writeln(‘1) Неправильно (0 баллов) ‘);delay(200);
gotoxy(20,2);if a=3 then writeln(‘1) Правильно (2 балла) ‘);delay(200);
gotoxy(20,2);if a=4 then writeln(‘1) Неправильно (0 баллов) ‘);delay(200);
gotoxy(20,2);if b=1 then writeln(‘2) Правильно (2 балла) ‘);delay(200);
gotoxy(20,2);if b=2 then writeln(‘2) Неправильно (0 баллов) ‘);delay(200);
gotoxy(20,2);if b=3 then writeln(‘2) Неправильно (0 баллов) ‘);delay(200);
gotoxy(20,2);if b=4 then writeln(‘2) Неправильно (0 баллов) ‘);delay(200);
if a=3 then aa:=2;
if b=1 then bb:=2;
summa:=aa+bb;
gotoxy(1,22);writeln(‘Всего баллов: ‘, summa);
clrscr;textcolor(yellow);
repeat
writeln(‘Если вы хотите пройти тест еще раз нажмите 1’);
writeln;
writeln(‘Если вы хотите выйти нажмите 2’);
writeln;
writeln(‘Ваш выбор: ‘);
readln(c)
if c=1 then goto 1;
if c=2 then exit;
until a in [1,2];
end.
2 Сергей Козлуков
в универе оттрубил.. . работаю админом, программирование ненавижу, разве что кроме bin sh. а это просто пример, из школьной программы, потому и if
Источник статьи: http://otvet.mail.ru/question/39571469
Как написать тест в паскале
‘ width=’8′ height=’8’/> Правила форума
Все ссылки на сторонние ресурсы, за исключением офсайтов программ, должны оформляться с помошью тега скрытого текста — [hide=1]Ссылка[/hide]
Novice
Группа: Пользовaтели
Сообщений: 5
Регистрация: 8.02.2005
нужна прога-тест написанная в паскале состоящая из 10 вопросов и 4 вариантов ответа (шаблон, вопросы сам поставлю) Тока я не понял это нахаляву будет или нет.
Выделила в отдельную тему.
К теме «Есть работа» это отношения не имеет.
Ann
Novice
Группа: Пользовaтели
Сообщений: 9
Регистрация: 17.02.2005
Novice
Группа: Пользовaтели
Сообщений: 5
Регистрация: 8.02.2005
Novice
Группа: Пользовaтели
Сообщений: 5
Регистрация: 8.02.2005
Вот у меня почти получилось:
program test4;
uses crt;
const
QCNT = 10;
VCNT = 4;
type
TTest = record
vopros: string;
ball: real;
otveti: array[1..VCNT] of string;
correct: integer;
end;
var
QA : array [1..QCNT] of TTest;
i,j,p: integer;
s: real;
VCNT = 4;
VA : array [1..QCNT, 1..VCNT] of string = (
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’),
(‘da’, ‘net’,’neznau’,’net pravilnogo otveta’));
var
AA : array [1..QCNT] of Integer;
i, j : Integer;
begin
textcolor (black);
textbackground (white);
clrscr;
for i := 1 to QCNT do begin
writeln(‘vopros nomer ‘ , i, ‘: ‘#10#13, QA[i]);
writeln(‘varianti otveta:’);
for j := 1 to VCNT do
writeln(‘ [‘, j, ‘] — ‘, VA[i, j]);
write(‘pishite pogalusto otvet’);
readln(AA[i]);
end;
s := 0;
for i:=1 to QCNT do begin
writeln(qa[i].vopros);
for j:=1 to VCNT do writeln(qa[i].otveti[j]);
readln(p);
if p=qa[i].correct then s := s + qa[i].ball;
end;
writeln(s);
end.
только почему то неработает 🙁
Novice
Группа: Пользовaтели
Сообщений: 5
Регистрация: 8.02.2005
Блин кто-нить может у меня ошибку найти.
program Test;
uses crt;
const
QCNT = 10;
VCNT = 4;
type
TTest = record
vopros: string;
ball: real;
otveti: array[1..VCNT] of string;
correct: integer;
end;
var
QA : array [1..QCNT] of TTest;
i,j,p: integer;
s: real;
begin
qa[1].vopros := ‘vopros?’;
qa[2].vopros := ‘vopros?’;
qa[3].vopros := ‘vopros?’;
qa[4].vopros := ‘vopros?’;
qa[5].vopros := ‘vopros?’;
qa[6].vopros := ‘vopros?’;
qa[7].vopros := ‘vopros?’;
qa[8].vopros := ‘vopros?’;
qa[9].vopros := ‘vopros?’;
qa[10].vopros := ‘vopros?’;
qa[1].ball := 0.5;
qa[2].ball := 0.5;
qa[3].ball := 0.5;
qa[4].ball := 0.5;
qa[5].ball := 0.5;
qa[6].ball := 0.5;
qa[7].ball := 0.5;
qa[8].ball := 0.5;
qa[9].ball := 0.5;
qa[10].ball := 0.5;
qa[1].otveti[1] := otvet11;
qa[1].otveti[2] := otvet12;
qa[1].otveti[3] := otvet13;
qa[1].otveti[4] := otvet14;
qa[2].otveti[1] := otvet21;
qa[2].otveti[2] := otvet22;
qa[2].otveti[3] := otvet23;
qa[2].otveti[4] := otvet24;
qa[3].otveti[1] := otvet31;
qa[3].otveti[2] := otvet32;
qa[3].otveti[3] := otvet33;
qa[3].otveti[4] := otvet34;
qa[4].otveti[1] := otvet41;
qa[4].otveti[2] := otvet42;
qa[4].otveti[3] := otvet43;
qa[4].otveti[4] := otvet44;
qa[5].otveti[1] := otvet51;
qa[5].otveti[2] := otvet52;
qa[5].otveti[3] := otvet53;
qa[5].otveti[4] := otvet54;
qa[6].otveti[1] := otvet61;
qa[6].otveti[2] := otvet62;
qa[6].otveti[3] := otvet63;
qa[6].otveti[4] := otvet64;
qa[7].otveti[1] := otvet71;
qa[7].otveti[2] := otvet72;
qa[7].otveti[3] := otvet73;
qa[7].otveti[4] := otvet74;
qa[8].otveti[1] := otvet81;
qa[8].otveti[2] := otvet82;
qa[8].otveti[3] := otvet83;
qa[8].otveti[4] := otvet84;
qa[9].otveti[1] := otvet91;
qa[9].otveti[2] := otvet92;
qa[9].otveti[3] := otvet93;
qa[9].otveti[4] := otvet94;
qa[10].otveti[1] := otvet101;
qa[10].otveti[2] := otvet102;
qa[10].otveti[3] := otvet103;
qa[10].otveti[4] := otvet104;
qa[1].correct := 1;
qa[2].correct := 4;
qa[3].correct := 3;
qa[4].correct := 1;
qa[5].correct := 2;
qa[6].correct := 3;
qa[7].correct := 4;
qa[8].correct := 1;
qa[9].correct := 3;
qa[10].correct := 2;
s := 0;
for i:=1 to QCNT do begin
writeln(‘VOPROS: ‘+qa[i].vopros);
for j:=1 to VCNT do writeln(qa[i].otveti[j]);
readln(p);
if p=qa[i].correct then s := s + qa[i].ball;
end;
writeln(s);
end.
Novice
Группа: Пользовaтели
Сообщений: 9
Регистрация: 17.02.2005
Вот сделал.
Позволяет вводить до 20-ти вопросов
До 5-ти вар ответов на каждый
На разные варианты — разное кол-во ответов
3 массива
a:массив вопросов (вопрос — 255 символа)
b:массив массивов ответов (20 символов на 1 ответ)
c:массив номеров правильных ответов
rate-считает кол-во правильных ответов
k — ключ указывающий что вопросы кончились (если найдет пустую строчку в a)
Впринципе все. Если что — пиши.
Вот твоя прога. У меня заработало.
program Test;
uses crt;
const
QCNT = 10;
VCNT = 4;
type
TTest = record
vopros: string;
ball: real;
otveti: array[1..VCNT] of string;
correct: integer;
end;
var
QA : array [1..QCNT] of TTest;
i,j,p: integer;
s: real;
begin
qa[1].vopros := ‘vopros?’;
qa[2].vopros := ‘vopros?’;
qa[3].vopros := ‘vopros?’;
qa[4].vopros := ‘vopros?’;
qa[5].vopros := ‘vopros?’;
qa[6].vopros := ‘vopros?’;
qa[7].vopros := ‘vopros?’;
qa[8].vopros := ‘vopros?’;
qa[9].vopros := ‘vopros?’;
qa[10].vopros := ‘vopros?’;
qa[1].ball := 0.5;
qa[2].ball := 0.5;
qa[3].ball := 0.5;
qa[4].ball := 0.5;
qa[5].ball := 0.5;
qa[6].ball := 0.5;
qa[7].ball := 0.5;
qa[8].ball := 0.5;
qa[9].ball := 0.5;
qa[10].ball := 0.5;
qa[1].otveti[1] := ‘otvet11’;
qa[1].otveti[2] := ‘otvet12’;
qa[1].otveti[3] := ‘otvet13’;
qa[1].otveti[4] := ‘otvet14’;
qa[2].otveti[1] := ‘otvet21’;
qa[2].otveti[2] := ‘otvet22’;
qa[2].otveti[3] := ‘otvet23’;
qa[2].otveti[4] := ‘otvet24’;
qa[3].otveti[1] := ‘otvet31’;
qa[3].otveti[2] := ‘otvet32’;
qa[3].otveti[3] := ‘otvet33’;
qa[3].otveti[4] := ‘otvet34’;
qa[4].otveti[1] := ‘otvet41’;
qa[4].otveti[2] := ‘otvet42’;
qa[4].otveti[3] := ‘otvet43’;
qa[4].otveti[4] := ‘otvet44’;
qa[5].otveti[1] := ‘otvet51’;
qa[5].otveti[2] := ‘otvet52’;
qa[5].otveti[3] := ‘otvet53’;
qa[5].otveti[4] := ‘otvet54’;
qa[6].otveti[1] := ‘otvet61’;
qa[6].otveti[2] := ‘otvet62’;
qa[6].otveti[3] := ‘otvet63’;
qa[6].otveti[4] := ‘otvet64’;
qa[7].otveti[1] := ‘otvet71’;
qa[7].otveti[2] := ‘otvet72’;
qa[7].otveti[3] := ‘otvet73’;
qa[7].otveti[4] := ‘otvet74’;
qa[8].otveti[1] := ‘otvet81’;
qa[8].otveti[2] := ‘otvet82’;
qa[8].otveti[3] := ‘otvet83’;
qa[8].otveti[4] := ‘otvet84’;
qa[9].otveti[1] := ‘otvet91’;
qa[9].otveti[2] := ‘otvet92’;
qa[9].otveti[3] := ‘otvet93’;
qa[9].otveti[4] := ‘otvet94’;
qa[10].otveti[1] := ‘otvet101’;
qa[10].otveti[2] := ‘otvet102’;
qa[10].otveti[3] := ‘otvet103’;
qa[10].otveti[4] := ‘otvet104’;
qa[1].correct := 1;
qa[2].correct := 4;
qa[3].correct := 3;
qa[4].correct := 1;
qa[5].correct := 2;
qa[6].correct := 3;
qa[7].correct := 4;
qa[8].correct := 1;
qa[9].correct := 3;
qa[10].correct := 2;
s := 0;
for i:=1 to QCNT do begin
writeln(‘VOPROS: ‘+qa[i].vopros);
for j:=1 to VCNT do writeln(qa[i].otveti[j]);
readln(p);
if p=qa[i].correct then s := s + qa[i].ball;
end;
writeln(s:3:1);
readln;
end.
Сообщение было отредактировано xmerlinx: 28.02.2005 — 07:33
Прикрепленные файлы TEST.zip ( 1.14 килобайт ) Количество скачиваний: 168
Novice
Группа: Пользовaтели
Сообщений: 5
Регистрация: 8.02.2005
Novice
Группа: Пользовaтели
Сообщений: 9
Регистрация: 17.02.2005
Источник статьи: http://bestfilez.net/forums/index.php?showtopic=17339