отчет по практике. введение, общая часть, специальная часть, заключение. На сегодняшний день практически каждый человек в мире ежедневно пользуется такими техническими устройствами, как компьютеры, мобильные телефоны, калькуляторы и пр
Скачать 322.6 Kb.
|
1 2 ВВЕДЕНИЕ На сегодняшний день практически каждый человек в мире ежедневно пользуется такими техническими устройствами, как компьютеры, мобильные телефоны, калькуляторы и пр. Работа многих профессий зависит от сетевого общения и от Интернет-ресурсов, позволяющих найти нужную нам информацию гораздо быстрее, чем при поиске ее традиционными способами в книгах, газетах, журналах. Специалисты узкой сферы деятельности изучают то, каким образом данные технические средства устроены. Математической основой цифровой техники является алгебра логики, разработанная в середине XIX века английским математиком Джорджем Булем. В честь данного математика алгебру логики также называют булевой алгеброй. Возможность её применения в технике подметил впервые в 1910 году известный физик П. Эренфест. Доказательство такой возможности привёл и обосновал в своих работах советский физик В. И. Шестаков. Булева алгебра оперирует с переменными, которые принимают только лишь два значения - 0 и 1, то есть с двоичными переменными. Функция двоичных переменных, принимающая те же два значения, называется логической функцией или булевой функцией. Теория булевых функций, начиная с прошлого века и продолжая сегодняшним днем, является теоретической базой современных ЭВМ. Возникло понятие алгоритма, и это очень помогает решать многие неразрешимые проблемы. Именно через математическую логику и теорию алгоритмов сейчас математические методы обретают значение в экономике, биологии, лингвистике и многие других науках. Целью данной курсовой работы является рассмотрение и изучение одного из способов приведения логических функций к более короткому виду, точнее - приведение логических функций к многочлену (полиному) Жегалкина. Разработанный в начале ХХ века русским математиком Иваном Ивановичем Жегалкиным вид логического многочлена сейчас широко применяется в самых различных сферах человеческой деятельности - начиная от криптографии (шифрования данных) и заканчивая применением в сумматорах - аналого-цифровых устройствах, которые реализуют логическую операцию «исключающее ИЛИ», которую также называют суммой по модулю 2. Сумматоры являются обязательной частью любого аналого-цифрового устройства или любого без исключений процессора. Программа вычисления полинома Жегалкина рассчитана для обучения на уроках математики школьников старших классов и студентов средних и высших профессиональных учреждений. 1 ОБЩАЯ ЧАСТЬ 1.1 Общая постановка задачи Программа вычисления полинома Жегалкина предназначена для применения в вычислениях операций математической логики. Поскольку сфера применения данной программы рассчитана для узкого круга задач, то интерфейс должен быть прост и предельно понятен. Разрабатываемая программа должна безошибочно вычислять конечный результат приведения логическую функцию к полиному Жегалкина. При написании исходных текстов программы необходимым условием является использование основных принципов объектно-ориентированного программирования, обработки исключительных ситуаций, потоков выполнения, наличие подключаемых библиотек. 1.2 Формулировка задачи Данная курсовая работа посвящена разработке программы на языке C++, которая вычисляет полином Жегалкина. Данная программа в первую очередь оперирует с логическими операциями. Задача курсового проекта – разработать программу на языке C++, такую, чтобы при работе с этой программой пользователь имел возможность: a) привести логическую функцию к многочлену Жегалкина; б) ввести с клавиатуры количество операндов и конечную функцию; в) увидеть результаты вычислений на экране в удобном для восприятия виде. Актуальность реализации программы на компьютере заключается в простом использовании и возможности доработки дизайна и программного кода. 1.3 Описание методов математической логики, используемых при решении 1.3.1 Логические операции Высказывание - повествовательное предложение. О нём можно сказать либо, что оно истинно, либо, что оно ложно, но никак не истинно и ложно одновременно. В логике главенствующее значение в высказывании имеет не его значение, а истинность его или ложность. Истинное значение высказывания принимают за «1», а ложное - за «0». То есть существует множество {1;0}, которое называется множеством истинных значений. Алгебру высказываний также называют булевой алгеброй, а переменные, принимающие значения 1 и 0 называют булевыми переменными. Логическая операция (оператор, связка) - операция над высказываниями, которая позволяет составлять новые высказывания, соединяя высказывания более простые. 1.3.2 Простейшие связки Дизъюнкция - операция «ИЛИ», называемая также логической суммой. Дизъюнкцией высказываний Х и Y называют высказывание, обозначаемое как Х⋁Y (или Х+Y) и представляющее собой ложное высказывание в том случае, когда Х и Y ложны, и истинное высказывание во всех остальных случаях. Таблица истинности для дизъюнкции
Конъюнкция - операция «И», которую также называют логическим произведением. Конъюнкцией высказываний Х и Y называют высказывание, обозначаемое как Х⋀Y (или Х∙Y) и представляющее собой истинное высказывание в том случае, когда Х и Y истинны, и ложное высказывание во всех остальных случаях. Таблица истинности для конъюнкции
Отрицание, называемое также инверсией, высказывания Х называют высказывание, обозначаемое как , которое является ложным при истинном Х и истинным при ложном Х. Таблица истинности для отрицания
Импликацией (логическое следование) высказываний Х и Y называется высказывание, обозначаемое Х→Y, которое является ложным только в том случае, когда Х истинно, а Y - ложно. В остальных случаях импликация является истинной. Логическое следование представляет собой конструкцию «если Х, то Y». Таблица истинности для импликации:
Импликация - не симметричная логическая операция, то есть высказывания и не являются эквивалентными (равными). Высказывание называется конверсией высказывания . Эквивалентностью высказываний и называется высказывание вида , которое принимает истинные значения лишь в тех случаях, когда оба высказывания ( и ) либо одновременно истинны, либо одновременно ложны. Таблица истинности для эквивалентности:
Выше были перечислены основные логические операции, которые, в случае отсутствия скобок, выполняются в следующем порядке: Конъюнкция (⋀) Дизъюнкция (⋁) Импликация (→) Эквивалентность (<->) Отрицание (¬) Помимо элементарных или, как их иначе называют, простейших связок существует еще несколько логических операций. Штрих Шеффера (антиконъюнкция) обозначается как (или ) Таблица истинности
Стрелка Пирса (антидизъюнкция) обозначается как (или ) Таблица истинности
Сумма по модулю 2 (антиэквивалентность) обозначается как (или ) Таблица истинности:
1.3.3 Свойства логический операций 1. Коммутативность дизъюнкции и конъюнкции: 2. Ассоциативность дизъюнкции и конъюнкции: 3. Дистрибутивность дизъюнкции и конъюнкции относительно друг друга: 4. Идемпотентность дизъюнкции и конъюнкции: 5. Двойное отрицание: 6. Закон Моргана: 7. Склеивание: 8. Поглощение: 9. Закон исключения третьего: 10. Отрицание противоречия: 11. Контрапозиция: 12. Противоположность: Действия с логическими константами (нулём и единицей): 1.3.4 Способы построения полинома Жегалкина. Существует несколько способов построения полиномов Жегалкина, каждый из которых удобен по-своему в определенных случаях. В данном курсовом проекте рассмотрен способ построения полинома Жегалкина с помощью таблиц истинности или метод неопределенных коэффициентов. Построение полиномов Жегалкина с помощью таблиц истинности или методом неопределенных коэффициентов - процесс, требующий внимания и определенной сноровки, а также полного понимания теории алгебры логики. Этот способ можно применять и тогда, когда функция задана таблицей истинности, и тогда, когда функция представлена логической формулой. Пример 1: построить полином Жегалкина для функции Необходимо составить таблицу истинности для функции
Используя формулу (1), построим полином Жегалкина для нашей функции в общем виде (для трёх переменных): (1) . (3) 2. Поиск значения коэффициентов Так как то . 3. Составление полинома Жегалкина, подставив полученные значения коэффициентов в формулу (3) Ответ: полином Жегалкина, построенный для функции , будет равен Пример 2: построить многочлен Жегалкина, используя данную таблицу истинности
Решение: Запись общего вида полинома Жегалкина (с неопределенными коэффициентами), то есть формулу (1) для 3 переменных Поиск коэффициентов Так как то . Подстановка найденных коэффициентов в формулу (3) и поиск многочлена Жегалкина Ответ: полином Жегалкина для данной таблицы истинности имеет следующее значение: . 1.4 Требования к программному продукту 1.4.1 Требования к численности и квалификации персонала Пользователи данного программного продукта в соответствии с ролью, выполняемой им в процессе функционирования системы: пользователь программным продуктом. 1.4.2 Требования к надежности Требования к программному продукту по обеспечению к надежности должны определяться путем сопоставления потерь 1 2 |