Автор работы: Пользователь скрыл имя, 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
Содержание
Введение…………………………………………………………
Глава I Элементарные булевы функции……………………………..5
Глава II СОЗДАНИЕ ПРОГРАММЫ ДЛЯ ТЕСТИРОВАНИЯ………………12
2.1 Необходимые методы………………………………
2.2 Реализация алгоритма
программы для тестирования…………
2.3 Блок-схема программы для тестирования…………………………..23
2.4 Исходный код файла
для создания файла с
2.5 Исходный код файла
для чтения файла с вопросами
и введения ответов………………………………
Заключение……………………………………………………
Список использованных источников…………………………………………...
Введение
Компьютерные тесты, тесты, которые предполагают сбор тестовой информации в режиме диалога испытуемого с компьютером, тесты хорошо использовать для проверки успеваемости и текущего учебного контроля знаний учащихся.
На рынке образовательных разработок появилось большое количество подобных программ различного качества и направленности. Эти тесты не всегда соответствую требованиям. Остается одно — разрабатывать компьютерные тесты самостоятельно. Но не каждый владеет необходимыми знаниями для создания этих компьютерных тестов. В связи с этим весьма актуальным является создание инструментальных авторских систем — тестовых оболочек.
В сфере этих технологий
разработано большое количество
подобных программ. Но поскольку созданием
большинства этих программ занимались
программисты, знающие о тестировании
поверхностно, то созданные ими авторские
системы являются функционально
ограниченными, так как разработаны
они для узкого спектра учебных
дисциплин и не поддерживают различные
типы тестов. А без этого создание
качественного компьютерного
Тест обладает составом, целостностью и структурой. Он состоит из заданий, правил их применения, оценок за выполнение каждого задания и рекомендаций по интерпретации тестовых результатов.
Целостность теста проявляется во взаимосвязи заданий, включенных в тест. Ни одно из заданий не может быть изъято из теста без ущерба для него. Структура же его проявляется в способе связи заданий между собой.
Создание теста предполагает тщательный анализ содержания учебной дисциплины, классификацию учебного материала, установление межтематических и межпредметных связей, укрупнение дидактических единиц с последующим представлением этих единиц через элементы композиции задания.
Текст заданий компьютерных тестов необходимо делать кратким и лаконичным. Краткость обеспечивается тщательным подбором слов, символов, графиков, позволяющих минимумом средств добиваться максимума ясности смысла задания. Полностью должны исключаться повторы слов, малопонятные, редко употребляемые слова, а также неизвестные символы, иностранные слова, затрудняющие восприятие смысла.
Используемая в данной работе система 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 — отрицанием.
Информация о работе Разработка компьютерных тестов на основе булевых функций