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

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

Содержание

 

Введение…………………………………………………………………………...3

 

Глава I Элементарные булевы функции……………………………..5

 

Глава II СОЗДАНИЕ ПРОГРАММЫ  ДЛЯ ТЕСТИРОВАНИЯ………………12

2.1 Необходимые методы………………………………………………...12

2.2 Реализация алгоритма  программы для тестирования………………13

2.3 Блок-схема программы  для тестирования…………………………..23

2.4 Исходный код файла  для создания файла с вопросами  и ответами…………………………………………………………………………..24

2.5 Исходный код файла  для чтения файла с вопросами  и введения ответов……………………………………………………………………………24

 

Заключение……………………………………………………………………….28

 

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

 

 

 

 

 

 

 

 

 

 

 

 

Введение

Компьютерные тесты, тесты, которые предполагают сбор тестовой информации в режиме диалога испытуемого  с компьютером, тесты хорошо использовать для проверки успеваемости и текущего учебного контроля знаний учащихся.

На рынке образовательных  разработок появилось большое количество подобных программ различного качества и направленности. Эти тесты не всегда соответствую требованиям. Остается одно — разрабатывать компьютерные тесты самостоятельно. Но не каждый владеет необходимыми знаниями для создания этих компьютерных тестов. В связи с этим весьма актуальным является создание инструментальных авторских систем — тестовых оболочек.

В сфере этих технологий разработано большое количество подобных программ. Но поскольку созданием  большинства этих программ занимались программисты, знающие о тестировании поверхностно, то созданные ими авторские  системы являются функционально  ограниченными, так как разработаны  они для узкого спектра учебных  дисциплин и не поддерживают различные  типы тестов. А без этого создание качественного компьютерного теста  невозможно. На сегодняшний день данная проблема является актуальной, так как компьютерное тестирование — это не просто новая линия в образовательной политике, а свидетельство более серьезных тенденций последних лет.

Тест обладает составом, целостностью и структурой. Он состоит  из заданий, правил их применения, оценок за выполнение каждого задания и  рекомендаций по интерпретации тестовых результатов.

Целостность теста проявляется  во взаимосвязи заданий, включенных в тест. Ни одно из заданий не может  быть изъято из теста без ущерба для него. Структура же его проявляется  в способе связи заданий между собой.

 

Создание теста предполагает тщательный анализ содержания учебной  дисциплины, классификацию учебного материала, установление межтематических  и межпредметных связей, укрупнение дидактических единиц с последующим  представлением этих единиц через элементы композиции задания.

Текст заданий компьютерных тестов необходимо делать кратким и лаконичным. Краткость обеспечивается тщательным подбором слов, символов, графиков, позволяющих минимумом средств добиваться максимума ясности смысла задания. Полностью должны исключаться повторы слов, малопонятные, редко употребляемые слова, а также неизвестные символы, иностранные слова, затрудняющие восприятие смысла.

Используемая в данной работе система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.

Некоторые языковые конструкции  в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет  использовать их на ранних этапах обучения. Например, в модулях может отсутствовать  разделение на секцию интерфейса и  секцию реализации. Тут модули устроены почти так же, как и основная программа, что позволяет приступить к их изучению параллельно с темой «Процедуры и функции».

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

 

 

 

 

 

 

I Элементарные булевы функции

Двоичной, булевой функцией от набора двоичных переменных называется функция, результатом которой могут быть только значения 0 и 1.

Любую булеву функцию можно  задать с помощью таблицы, в которой  всем возможным наборам значений двоичных переменных сопоставлены соответствующие им значения функции.

Такая таблица называется таблицей истинности, поскольку она  определяет истинность или ложность сложного высказывания в зависимости  от истинности или ложности составляющих высказываний.

Для функций одной переменной может существовать всего четыре различные булевы функции g1, g2, g3 и g4, представленные в следующей таблице:

x

g1

g2

g3

g4

0

0

0

1

1

1

0

1

0

1


 

Из таблицы следует, что  функции g1 и g4 не зависят от аргумента и являются соответственно константами 0 и 1, а функция g2 повторяет значение аргумента, то есть g2=x. Функция g3 называется отрицанием или инверсией переменной x и обозначается как not(x).

Для функций двух переменных может существовать 16 (и только 16) различных функций.

 

Таблица истинности этих функций  следующая:

x1

x2

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

F13

F14

F15

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1


 

В число этих функций входят 6 вырожденных функций (константы: В число этих функций входят 6 вырожденных функций (константы: F0=0 и F15=1; переменные: F3=x1 и F5=x2; инверсии: F12=not x1 и F10=not x2).

Остальные функции с их обозначениями приведены ниже:

Функция

Название

Выражение через  конъюнкцию, дизъюнкцию и отрицание

Читается как

F1

конъюнкция

x1 and x2

x1 и x2

F7

дизъюнкция

x1 or x2

x1 или x2

F6

сложение по модулю 2

(x1 and not x2)

or (not x1 and x2)

x1 неравнозначно x2

F8

функция Пирса

not x1 and not x2

ни x1, ни x2

F9

эквивалентность

(not x1 and not x2)

or (x1 and x2)

x1 равнозначно x2

F11

импликация

x1 or not x2

если x2, то x1

F14

штрих Шеффера

not x1 or not x2

неверно, что x1 и x2

F2

запрет по x2

x1 and not x2

неверно, что если x1, то x2

F4

запрет по x1

not x1 and x2

неверно, что если x2, то x1

F13

импликация

not x1 or x2

если x1, то x2

(x1 — > x2)


Обратите внимание! Несмотря на экзотические названия, это просто набор всех возможных функций (функция  — это однозначное отображение, преобразование набора аргументов из области определения в значение из области значений).

Натуральный ряд бесконечен и для натуральных переменных возможно бесконечное множество  функций, включающих функции сложения, вычитания, умножения и т.п. В логике переменные имеют всего два возможных  значения, поэтому количество различных  функций ограничено и здесь они перечислены все.

Для записи штриха Шеффера  в выражениях обычно используется апостроф (x1' x2), а для сложения по модулю 2 — слово xor (от eXslusive OR, «исключающее или», читается «ксор»).

В ассемблерах конъюнкция, дизъюнкция и отрицание обычно записываются соответствующими английскими словами (and, or, not). В языках же высокого уровня эти функции могут обозначаться как словами (если имеется в виду рассматриваемый Pascal).

 Иногда по аналогии  с теорией множеств конъюнкция  называется пересечением, а по  аналогии с арифметикой в формулах  используется знак умножения  «*». Для дизъюнкции же используется знак сложения «+». И действительно — если вспомнить, как ведёт себя нуль в операциях умножения и сложения, а потом посмотреть на таблицы истинности конъюнкции и дизъюнкции, то можно найти много общего.

По этой причине в языках программирования приоритет конъюнкции обычно выше, чем приоритет дизъюнкции, и в выражении (x1 or x2 and x3) подразумевается, что (x2 and x3) будет выполнено первым.

Чтобы не вводить систему приоритетов, в выражениях с разными операциями скобки расставляются явно (как в вышеуказанной таблице) — только отрицание, как префиксная операция, должна выполняться первой.[3]

Булевой функцией называют предикат, у которого переменные булевы.

Такой функцией, например, является сложное высказывание (в аудитории  присутствуют студенты) и (в аудитории  присутствует преподаватель), в котором  первая и вторая скобки рассматриваются как переменные.

Можно также сказать, что  булева функция — функция от переменных, принимающих два значения, и множество ее значений состоит из двух элементов. Обычно эти два значения обозначаются либо {0, 1}, либо {false, true}. Обычно обозначение {0, 1} выбирают, если нет опасности смешать логическую истину с числом 1. Если же в тексте употребляются как числа, так и логические значения, то выбирают второе обозначение.

В Паскале есть две логические константы false, true и тип Boolean = {false, true}, с помощью которого можно вводить логические переменные: var x, y: Boolean; В логике используются союзы И, ИЛИ, НЕТ, ЛИБО…ЛИБО, ЕСЛИ…, ТО… Смысл этих союзов обычный: А ИЛИ В истинно, если истинно А или истинно В, НЕТ А истинно, если А ложно, ЛИБО А, ЛИБО В истинно, если истинно А или В, но не оба сразу, ЕСЛИ А, ТО В ложно, если истинно А и ложно В. Во всех остальных случаях это выражение истинно.

Например, ЕСЛИ ложь, ТО В  истинно не зависимо от В. Говорят  в связи с этим, что изо лжи следует что угодно. Союзам И, ИЛИ, НЕТ, ЛИБО…ЛИБО в Pascal соответствуют булевы операторы: and, or, not, xor — «и», «или», «не», «разделительное или». Оператор and называется также конъюнкцией, оператор or — дизъюнкцией, оператор not — отрицанием.

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