Автор работы: Пользователь скрыл имя, 06 Мая 2013 в 10:18, курсовая работа
Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения. Например, в модулях может отсутствовать разделение на секцию интерфейса и секцию реализации. Тут модули устроены почти так же, как и основная программа, что позволяет приступить к их изучению параллельно с темой «Процедуры и функции».
Целью данной курсовой работы является разработка компьютерного теста на основе булевых функций.
Введение…………………………………………………………………………...3
Глава I Элементарные булевы функции……………………………..5
Глава II СОЗДАНИЕ ПРОГРАММЫ ДЛЯ ТЕСТИРОВАНИЯ………………12
2.1 Необходимые методы………………………………………………...12
2.2 Реализация алгоритма программы для тестирования………………13
2.3 Блок-схема программы для тестирования…………………………..23
2.4 Исходный код файла для создания файла с вопросами и ответами…………………………………………………………………………..24
2.5 Исходный код файла для чтения файла с вопросами и введения ответов……………………………………………………………………………24
Заключение……………………………………………………………………….28
Список использованных источников…………………………………………...29
Встроенная функция "round" округляет полученные ответы до ближайшего целого:
z1:=round(x/4);
z2:=round(x/2);
z3:=round(x/1.3);
Переменные z, e, u также описываются в теле основной программы.
Var … z, e, u :integer;
Начало процедуры: обнулим счетчики "z", "е" (для корректной работы программы):
e:=0; z:=0;
Далее с помощью процедуры "ASSIGN" связываем ранее объявленные файловые переменные с именем уже существующего файла:
assign(f,' name.dat');
C помощью стандартной процедуры RESET, инициализируем файл. Инициировать файл означает указать для этого файла направление передачи данных:
reset(f);
При выполнении этой процедуры дисковый файл подготавливается к чтению информации.
В результате специальная переменная-указатель, связанная с этим файлом, будет указывать на начало файла, то есть на компонент с порядковым номером 0.
Начинаем цикл с предусловием: пока не наступил конец файла, начнем данную подпрограмму:
While not eof(f) do begin
Логическая функция EOF(var f): Boolean возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст.
Счетчик "z" — это будет количество вопросов, присвоим ему шаг +1, и теперь после каждого прохода цикла, "z" станет на одну единицу больше.
z:=z+1;
Благодаря оператору "clrscr" — экран очищается, на протяжении всего цила. Это не обходимо для того, чтобы следущий новый вопрос выводился на том самом месте где находился предыдущий вопрос.
Выведем сообщение о номере вопроса:
write('вопрос',z,':',' ');
При помощи процедуры "read" можно считать связанную переменную из файла:
read(f,readstring);
read(f,namefile);
Потом на дисплей будет
выведено сообщение считанной
Writeln(readstring);
Write('Ответ ');Readln(otv); writeln;
Оператор "Readln(otv)" считывает вводимый ответ с клавиатуры.
Для контроля количества верных ответов и для вывода на дисплей оценки пользуемся алгоритмом с ветвлением.
"If" — оператор ветвления.
If x>=0 then y:=x else y=-x
Если введённый ответ
будет соответствовать
If otv = otvfile then begin e:=e+1; u:=u+1;
Для того чтобы оценка исходила не из количества вопросов, а из оценок в соответствии с пятибалльной системой, требуется указать следующее условие, а именно: если количество ответов меньше либо равна z1, ваша оценка — 2 (неудовлетворительно) балла иначе, если ответов больше z1, но меньше либо равно z2, ваша оценка — 3 (удовлетворительно) балла иначе, если количество ответов больше z2, но меньше либо равна z3, ваша оценка – 4 балла (хорошо) иначе, ваша оценка — 5 баллов (отлично);
If u<=z1 then p:=2 else
If (u>z1) and (u<=z2) then p:=3 else
If (u>z2) and (u<=z3) then p:=4 else p:=5;
Путем стандартной процедуры, а именнр close(f) — мы закроем файл.
Для вывода на экран показания счетчиков "e" "u", очистим экран "clrscr".
Конец процедуры.
Clrscr;
writeln('Правильны ответов ', e);
writeln('Ваша оценка ', p);
end;
Начнем тело основной программы. После каждого выполнения цикла, очищаем экран. Всё тело программы состоит из процедур. Чтобы выполнить процедуру, необходим ее вызов. Вызов производится согласно имени данной процедуры в теле программы.
Имя процедуры воспринимается как оператор. В процессе его выполнения, выполняется вся подпрограмма. После процедуры "umnogenie" пропишем оператор "readln", а для того чтобы вывести на дисплей предупреждающее сообщение и задержки работы процедуры "Test".
В конце программы ставится "end".
2.4 Блок-схема программы для тестирования
Рисунок 1 – Блок-схема программы для тестирования
2.4 Исходный код файла для создания файла с вопросами и ответами
program Vvod;
type rec=record
vopros:string;
otvet:string;
end;
var f:file of string;
c:string;x:integer;q:rec;
begin
x:=0;
assign(f,'control.dat');
rewrite(f);
repeat
x:=x+1;
writeln('Введите вопрос');
readln(q.vopros);
write(f,q.vopros);
writeln('введите ответ');
readln(q.otvet); write(f,q.otvet); until x=20; close(f); end.
2.5 Исходный код файла для чтения файла с вопросами
и введения ответов
program initialization;
uses crt;
const simbol:set of char=['y','Y','n','N','r','R',
type rec=record
vopros:string;
otvet:string;
end;
var f:file of string;z,e,u:integer;key:char;
z1,z2,z3:real;
x:integer;q:rec; j:integer;
Procedure MainMenu;
begin
writeln('Для начала тестирования нажмите — y');
writeln ('Для редактирования вопросов или выхода из программы нажмите — R');
repeat
key:=readkey until key in simbol;
case key of
'y','Y':writeln;
'r','R':begin clrscr;
writeln('Для завершения программы нажмите — n');
writeln('Для редактирования вопросов —T');
repeat
key:=readkey until key in simbol;
case key of
'n','N':halt;
't','T':begin
j:=0;
assign(f,'control.dat');
rewrite(f); clrscr;
writeln('Введите количество вопросов');
readln(x);
repeat
j:=j+1;
writeln('Введите вопрос');
readln(q.vopros);
write(f,q.vopros);
writeln('Введите ответ');
readln(q.otvet);
write(f,q.otvet);
until j=x;
close(f); begin halt; end;
end;
end;end; end; end;
procedure umnogenie;
begin
writeln('Учтите что при вводе ответов знак умножения " * " обязателен ');
writeln('иначе ответ не будет считаться правильным');
writeln('Для продолжения нажмите — ENTER') ;
end;
Procedure Test;
var
readstring,otv,otvfile:string;
begin
e:=0; z:=0;
assign(f,'control.dat');
reset(f);
While not eof(f) do begin
z:=z+1; clrscr;
write('Вопрос',z,' : ',' ');
writeln;writeln;inc(x);
read(f,readstring);
read(f,otvfile);
writeln (readstring);
Write('Ответ');Readln(otv);
if otv = otvfile then begin e:=e+1;end;end;
z1:=round(x/4);
z2:=round(x/2);
z3:=round(x/1.3);
if e<=z1 then u:=2 else
if (e>z1) and(e<=z2) then u:=3 else
if (e>z2) and (e<=z3) then u:=4 else u:=5;
close(f);
clrscr;
writeln('Правильных ответов’,e);
writeln('Ваша оценка',u);
end;
begin clrscr;
MainMenu;
umnogenie; readln;
Test;
end.
Заключение
Составление компьютерных тестов является довольно сложным делом. Очень важно научиться отличать профессионально сделанный добротный тест от популярно-развлекательного журнального опросника.
Настоящий, действенный, валидный и эффективно работающий тест — это завершенный продукт, обладающий определенными свойствами и характеристиками и отвечающий современным методическим требованиям.
Система Pascal ABC предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов.
По мнению авторов этой
программы, первоначальное обучение программированию
должно проходить в достаточно простых
и дружественных средах, в то же
время эти среды должны быть близки
к стандартным по возможностям языка
программирования и иметь достаточно
богатые и современные
Система Pascal ABC основана на языке Delphi Pascal и призвана помочь осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.
Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения.
В ходе разработки тестирующей
программы проводилось
Параллельно с выполнением этой курсовой работы были приобретены основы языка программирования Pascal в системе Pascal ABC.
В ходе выполнения проекта данной курсовой работы был разработан программный код программы для тестирования по английскому языку c использованием булевых функций.
Список использованных источников
Информация о работе Разработка компьютерных тестов на основе булевых функций