Научная статья на тему 'Экспертная система «Электронный сборник упражнений по основам элементарной логики»'

Экспертная система «Электронный сборник упражнений по основам элементарной логики» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
257
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭКСПЕРТНАЯ СИСТЕМА / ЭЛЕКТРОННЫЙ ОБРАЗОВАТЕЛЬНЫЙ РЕСУРС / ЭЛЕМЕНТАРНАЯ ЛОГИКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Вьюга Елена Николаевна

Электронный сборник упражнений по основам элементарной логики является экспертной системой учебного назначения. Инструментарий приложения: построение таблиц истинности для логических выражений двух и трех переменных, преобразования (упрощение) логических выражений, справочная информация. Логические выражения могут задаваться с помощью ручного ввода. В этом случае производится синтаксический анализ цепочки ввода на принадлежность ее языку логических выражений. Используется более 5 лет в 9-11 классах базового и профильного обучения по информатике и ИКТ и для подготовки к ЕГЭ.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Экспертная система «Электронный сборник упражнений по основам элементарной логики»»

Вьюга Е.Н.

ГБОУ школа №500, Санкт-Петербург, Россия, учитель информатики, sl vyuga@ mail . ru

Экспертная система «Электронный сборник упражнений по основам элементарной логики»

КЛЮЧЕВЫЕ СЛОВА:

Экспертная система, электронный образовательный ресурс, элементарная логика.

АННОТАЦИЯ:

Электронный сборник упражнений по основам элементарной логики является экспертной системой учебного назначения. Инструментарий приложения: построение таблиц истинности для логических выражений двух и трех переменных, преобразования (упрощение) логических выражений, справочная информация. Логические выражения могут задаваться с помощью ручного ввода. В этом случае производится синтаксический анализ цепочки ввода на принадлежность ее языку логических выражений. Используется более 5 лет в 9-11 классах базового и профильного обучения по информатике и ИКТ и для подготовки к ЕГЭ.

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

• индивидуализация и дифференциация процесса обучения (возможность поэтапного выполнения заданий различной сложности по согласованной собственной схеме);

• обучение, тренировка и самоподготовка учащихся;

• осуществление контроля с обратной связью, с диагностикой ошибок;

• усиление мотивации обучения за счет удобного визуального интерфейса.

Раздел "Исчисление высказываний" пропозициональной логики изучают на уроках информатики средней школы. Учащиеся знакомятся с понятием логического высказывания, элементарной формулы (атома), сложных логических формул, составляемых из элементарных с помощью логических операций (конструкторов) [1]. К ключевым темам школьного курса элементарной символьной логики можно отнести построение таблиц истинности логических выражений и логические законы и правила. Таблицы истинности строятся по всевозможным наборам значений

элементарных переменных, входящих в состав логических формул. Преобразование логических выражений происходит на основе логических законов и правил. Для практической подготовки учащихся в построении таблиц истинности и преобразования сложных логических выражений двух или трех переменных, автором создана экспертная система учебного назначения - "Электронный сборник упражнений по основам элементарной логики" [2]. Данная экспертная система применяется на протяжении более 5 лет в 9-11 классах некоторых общеобразовательных школ Санкт-Петербурга, где автор преподавал информатику.

В предлагаемом вниманию электронном сборнике три раздела:

• Таблицы истинности

о Упражнения по вычислениям логических функций на основе

таблиц истинности для двух логических переменных о Упражнения по вычислениям логических функций для трех

логических переменных о Упражнения по вычислению логических функций трех переменных при вводе формулы в ручном режиме.

• Законы логики и правила преобразования

о Упражнения по преобразованию логических выражений двух переменных

о Упражнения по преобразованию логических выражений трех переменных со случайной выборкой

• Справочная информация

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

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

Сборник упражнений по алгебре логики

Таблицы истинности 1 | Таблицы истинности 21 Таблицы истинности 31 Законы логики | Справочная информация ] 0 программе |

Заполнить поля таблиц истинности логических выражений для двух логических переменных: А и В

■(А* В)

4 Э 11 19 21 29

5 10 15 20 25 30

Проверить

Логическое выражение

А\/В

А V В

АлВ

А л В

Логическое Л6 выражение

А^В

Л

АлВ

Логическое выражение

А^В А<->В

АУВ

АлВ А >В А^В Ач~В

А^В

А л В

А<г>В

А\/В

А<-> В А<г>В А^В

А V ¿Г

Ал (А ,'Б) А\' А." В В ( А л В) В V (А л В)

.......АуВлА.......

(А\/В)<^{В\/А

(А —> В) о В

Правила построения таблиц истинности

1. Количество строке таблице - 2''1'Т.

где N - количество логических переменным.

Соответственно для двух логических переменным количество строк равно 4. 2 Количество столбцов = количество логическим переменным + количество логических операций.

3. Обозначение: Патна -1: Ложь-И.

Рис.1 Иллюстрация рабочей программы.

Страница 1. Задания с логическими функциями двух переменных.

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

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

ГШ

И ШЛ I

- ■ ПНН1 I 11111-■ ГПАГ|-ЧН1 1М-Н1М ■■■ -шнч |И-"-Н|'|Р.кги"1Л ПГЧ-У: Л II С

(-(-А * ВОД -С

I*

(*Т1 ЩТ* - ОЧлчИ

"Г ♦

ш

Т щ н I

А ВС

А ■ В г

лас

А В . С

-. .'С

А /В уС

А^БлС

Л-К-В О

(Л■ Я'■ с

Л УВлС

А-Й *С

Мл*) • Р

А

(А ■ Х\ -С

(ЛС

[ЛуВ)**С

(А гЛ)++С

С*. в®с

с

:.-г ■ К -- I С

> А V Г

ул**й> с

1Г|

Т|Ш1Ш[|»«Г|и

'.'Л ■ ■. >■ гяВ ял тт-п НМ! ш бтрчийи ■:

] Г»

' Пчнмн

4 Е ■ ■ ■ г — —| ч1 лш г::■ ::Iт

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис.2 Иллюстрация рабочей программы. Страница 2. Задания с логическими выражениями трёх переменных.

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

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

• Программный процесс обработки входной терминальной цепочки включает [3-5]:

- Лексический анализ.

- Синтаксический анализ.

- Генерацию последовательности выполнения логических операций и соответствующего именованного набора столбцов.

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

^ Сйорнж упражненгй по лягебре пот мни

Таблицы иет^шэети 11 Тайгм^ы истт«стк 2 Твблщ иси*«ос™ 3 | Зл.ен=1 лэгшм | Справсммм кнфермашя | 0 грур»»* |

Введите яотнесют вьлгжсаис

Укажите ноиереюйбца-рбэупыата [т(Г~

Правила построения таблиц нстннноспе

1. Кйэнчйсяо «рас > те/Блей1 -гд* Н» к йлнч* «в о матаых «мых

Снпмттми» дитр« погевдев« пдош пых иими строк равно 1. Киэриеяо столбцов ■

КОга5Ч*™ОЛОГНЧ*СНН аврШХШШ + ЕОвП'СПО ЛОГИЧЕСКИ! СП?р4131Й

3. Порядок мошмаа сшрщий шп-*р :ид. кокькнндал, шим:»ащ

НШШЯНВД, ДЮТКИКЩИ

4. В «ота» етешбцм нюбяодамо ов^едалитытосгадоиттиосп №пшн*кнл

логических ППГ-}1.1ЦЭ£Й

3. Обмшртше: Истина

И- Операция Иэмешгь

сто.пби.

ПЫИЦЛЙЛИИЦИ.Ч

Параметры

количество лпгкчсскк:11гррымшь& 5

Количество л<™ «гак огкраай 7 К™т™<) лееьв скобок 3

ЙШНЯеСТНО ПраЕ1К СлСЁ-ОК 3 Псрсисмыс

№ги4в№0»№(>ш«хнв .Рщ-Хультв!

МАиВГр^СКГ-А

Рис. 3 Иллюстрация рабочей программы (в автоматическом режиме работы)

• Пользовательский алгоритм обработки входной цепочки включает:

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

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

• Контроль правильности выполнения задания пользователем:

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

Разберем более подробно процесс на основе программного алгоритма обработки входной цепочки символов, включающий:

• Лексический анализ.

Алфавит терминальных символов представим в виде лексем:

5. Логические переменные - атомы: А, В, С.

6. Логические унарные операции (<01>): - (-).

7. Логические бинарные операции (<02>): V, л, >>, ^ .

8. Скобочных структур: (, ).

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

a) Наличие логических переменных - атомов во входной цепочке с определением их количества. Если их количество равно 0, то выдается сообщение об ошибке, и заканчивается обработка цепочки.

b) Наличие унарных и бинарных операций. Определяется их количество.

c) Если их количество равно 0, то выдается сообщение об ошибке, и заканчивается обработка цепочки.

d) Проверка скобочных структур. Определяется количество левых и правых скобок. Если их количество не совпадает, то выдается сообщение об ошибке, и заканчивается обработка цепочки.

• Синтаксический анализ

Цепочка лексем, полученная в результате лексического анализатора, образует вход синтаксического анализатора. Для грамматики, которая описывает правила построения логических выражений необходимо автоматически построить синтаксический анализатор, который будет проводить контроль соответствия цепочки лексем синтаксической структуре, определяемой грамматикой. Выходом анализатора служит дерево, представляющее синтаксическую структуру, в узлах которой определены логические операции над переменными, корневой вершиной которого является конечная результирующая логическая операция, соответствующая результирующему столбцу в таблице истинности логического выражения. В качестве примера можно рассмотреть следующую терминальную цепочку языка логических выражений: (Av-В)Л(В^-С).

К$ грамматика, генерирующая язык логических выражений [3]: G={N, 2, Р, S}, где ^ф, F, G, S, S1,<O1>,<O2>} - конечное множество нетерминальных символов, которые являются вспомогательными логическими переменными.

2={А, В, С, л, V, — (, )} - множество терминальных символов. Р - конечное подмножество множества (N0 £^N(N0 Е)*х^и 2)* правил:

| <01^ | F, S1<O2>F | <01^ | F, F ^р) | D, D^D<02>G | G | G<02>D | G | D<02>F | F<02>D | А | В | С, G^A | В | С | F | <01>G, <01>^-, <02>^ | л | ^ | $ - начальный символ.

Рис.4 Дерево представления синтаксической структуры логического выражения

Язык L(G) является контекстно-свободным языком. Синтаксический анализ проводится с помощью восходящего разбора. Выходом синтаксического анализатора является дерево вывода (рис. 4), соответствующее правилам грамматики G. В результате синтаксического анализа устанавливается, является ли входная цепочка терминальных символов логическим выражением, и в случае положительного решения, вычисляется таблица истинности.

В четвертом разделе представлены упражнения по преобразованию (упрощению) логических выражений заранее определенных (I) или по случайной выборке (II). Интерфейс раздела содержит инструментарий для вывода логических выражений, рабочее поле, в котором ученик может проводить промежуточные преобразования.

Электронный практикум применяется в учебном процессе и постоянно совершенствуется.

Литература

1. С. К. Клини Математическая логика. 450с. Издательство «Мир». М. 1973г.

2. Вьюга Е.Н. Электронные практикумы по информатике в старшей школе. Сборник трудов. Часть II. Информационные технологии в образовании. ХХ! Международная конференция -выставка. М: Издательский отдел факультета ВМК МГУ имени М.В. Ломоносова. 1-3 ноября 2011г. -92 с.

3. А. Ахо, Дж. Ульман Теория синтаксического анализа, перевода и компиляции. Т.1. 614с. М. Издательство «Мир». М., 1978г.

4. И. Л. Братчиков Синтаксис языков программирования. 232 с. М: Издательство «Наука». 1975г.

5. Волкова И.А., Руденко Т.В. Формальные грамматики и языки. Элементы теории трансляции. 62 с. М. МГУ им. М.В.Ломоносова Факультет вычислительной математики и кибернетики. 1999г.

i Надоели баннеры? Вы всегда можете отключить рекламу.