Разработка компьютерных тестов на основе булевых функций

Автор работы: Пользователь скрыл имя, 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

Вложенные файлы: 1 файл

Курсовая разр.комп.тестов.на основ. булев.функций.docx

— 92.49 Кб (Скачать файл)

Встроенная функция "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','t'];

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 использованием булевых функций.

 

Список использованных источников

 

  1. Куприянова Ю.В., Разработка программы для создания авторских компьютерных тестов - НОУ «Православная школа во имя Святой Троицы», г. Ангарск // URL - http://irkpedagog.ru/index/kuprijanova/0-158

 

  1. Курс подготовки координаторов для системы дистанционного обучения - Unit 7. Методические основы создания компьютерных тестов // URL - http://courses.urc.ac.ru/eng/u7-8.html

 

  1. Аркадий Белоусов. Алгебра логики и цифровые компьютеры. Статья // URL - http://alglib.sources.ru/articles/logic.php

 

  1. Высказывания. Предикаты. Логические функции. Статья // URL - http://life-prog.ru/view_automati.php?id=2

 

  1. Pascal. Логический тип (BOOLEAN). Статья. Интернет-источник “Teach.Ru” // URL - http://itteach.ru/programmirovanie-pascal/logicheskiy-tip-boolean

 

  1. Интернет-источник - URL - http://pascal-video.ru/help-pascal.php?id=27

 

  1. Pascal ABC. Система программирования. Статья // URL - http://pro-spo.ru/winnauka/1655--pascal-abc

 

 


Информация о работе Разработка компьютерных тестов на основе булевых функций