Введение
В данной работе представлен материал по разработке проекта “Построение логической схемы триггера” на языке объектно-ориентированного программирования Visual Basic for Applications в табличном процессоре MS Excel 2007 и MS Excel 2016. Тема достаточно актуальная и представляет повышенный интерес для учащихся предпрофильных и профильных классов.
Цель данной работы заключается в том, чтобы получить дополнительные знания по работе с макросами и провести анализ полученных результатов.
Задача состоит в том, чтобы подобрать соответствующий материал с последующей систематизацией, обобщением и иллюстрацией текста.
Работа состоит из двух частей: описательной (даны определение объектно-ориентированного языка, характеристика основных этапов разработки информационных моделей) и практической (приведён пример разработки проекта построения логической схемы триггера с последующей обработкой данных на компьютере двумя способами).
Описательная часть
Глава 1. Введение в объектно-ориентированное программирование
§ 1. Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) – методология программирования, основанная на представлении программы в виде совокупности взаимодействующих объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Идеологически, ООП – подход к программированию как к моделированию информационных объектов, решающий на новом уровне основную задачу структурного программирования: структурирование информации с точки зрения управляемости, что существенно улучшает управляемость самим процессом моделирования [5].
§ 2. Система объектно-ориентированного программирования
Системы объектно-ориентированного программирования дают возможность визуализировать процесс создания графического интерфейса разрабатываемого приложения, то есть позволяет создавать объекты и задавать значения их свойств с помощью диалоговых окон системы программирования.
Взаимодействие программных объектов между собой и их изменения описываются с помощью программного кода. Создание программного кода в объектно-ориентированном программировании базируется на использовании алгоритмических структур различных типов (линейной, ветвления, цикла), исполнителями которых выступают программные объекты [3].
Объекты (Objects). Основной единицей в объектно-ориентированном программировании является программный объект, который объединяет в себе как описывающие его данные (свойства), так и средства обработки этих данных (методы). Если говорить образно, то объекты – это существительные, свойства объекта – прилагательные, а методы объекта – глаголы.
Классы объектов являются “шаблонами”, определяющими наборы свойств, методов и событий, по которым создаются объекты. Основными классами объектов являются классы, реализующие графический интерфейс проектов.
Свойства объектов (Properties). Каждый объект обладает определённым набором свойств, первоначальные значения которых можно установить с использованием диалогового окна системы программирования.
Значения свойств объектов можно изменять в программном коде.
Методы объектов (Methods). Для того чтобы объект выполнял какую-либо операцию, необходимо применить метод, которым он обладает. Многие методы имеют аргументы, которые позволяют задать параметры выполняемых действий.
События (Events). Событие представляет собой действие, распознаваемое объектом. Событие может создаваться пользователем (например, щелчок мышью или нажатие клавиши) или быть результатом воздействия других программных объектов. В качестве реакции на события вызывается определённая процедура, которая может изменять свойства объекта, вызывать его методы и т. д.
Графический интерфейс. Система объектно-ориентированного программирования позволяет визуализировать процесс создания графического интерфейса разрабатываемого приложения, т. е. даёт возможность создавать объекты и задавать значения их свойств с помощью диалоговых окон системы программирования.
Графический интерфейс необходим для реализации интерактивного диалога пользователя с работающим приложением. Основой для создания графического интерфейса разрабатываемого приложения является форма, представляющая собой окно, в котором размещаются управляющие элементы.
Визуальное конструирование графического интерфейса приложения состоит в том, что на форму с помощью мыши помещаются и “рисуются” те или иные управляющие элементы.
Классы управляющих элементов имеют различное назначение в графическом интерфейсе приложения. Текстовые поля, метки и списки обычно используются для ввода и вывода данных, графические окна – для вывода графики, командные кнопки, переключатели и флажки – для организации диалога и т. д.
Форма и управляющие элементы обладают определёнными наборами свойств, методов и событий.
Событийные процедуры. Для каждого события можно запрограммировать отклик, т. е. реакцию объекта на произошедшее событие. Если пользователь производит какое-либо воздействие на элемент графического интерфейса (например, щелчок), в качестве отклика выполняется некоторая последовательность действий (событийная процедура).
Каждая событийная процедура представляет собой отдельный программный модуль, который реализует определённый алгоритм. Создание программного кода событийной процедуры производится с использованием алгоритмических структур различных типов (линейная, ветвление, выбор и цикл) [4].
§ 3. Язык объектно-ориентированного программирования VisualBasicforApplications (VBA)
Язык объектно-ориентированного программирования VisualBasicforApplications (VBA) предназначен для разработки приложений в среде MicrosoftOffice. Интерфейс интегрированной среды разработки VBA аналогичен интерфейсу интегрированной среды разработки Visual Basic. Запуск среды разработки VBA осуществляется из любого приложения, входящего в Microsoft Office. Окно среды разработки VBA представляет собой стандартное окно приложения, в котором могут быть открыты с помощью пунктов меню окна среды: Панель инструментов, окно Конструктор форм, Свойства объекта, Программный код, Просмотр объектов и Проводник проекта.
Последовательность действий пользователя будет записана в форме макроса (стандартного программного модуля на языке VBA).
С помощью VBA можно создавать проекты с графическим интерфейсом.
В данной работе рассмотрена разработка проекта на языке VBA в приложении Microsoft Office Excel; интерактивный диалог пользователя будем осуществлять с помощью графического интерфейса, а вычисления – с использованием возможностей электронных таблиц [3].
Глава 2. Построение и исследование информационных моделей
§ 4. Основные этапы разработки и исследования моделей на компьютере
Использование компьютера для исследования информационных моделей различных объектов и систем позволяет изучить их изменения в зависимости от значения тех или иных параметров. Процесс разработки моделей и их исследование на компьютере можно разделить на несколько основных этапов.
Описательная информационная модель. На первом этапе исследования объекта или процесса обычно строится описательная информационная модель на естественном языке. Такая модель выделяет существенные, с точки зрения целей проводимого исследования, свойства (параметры) объекта, а несущественными свойствами пренебрегает.
Формальная модель. На втором этапе создаётся формализованная модель, т.е. описательная информационная модель записывается с помощью какого-либо формального языка. В такой модели с помощью формул, уравнений, неравенств и т. д. фиксируются формальные соотношения между исходными и искомыми величинами, а накладываются ограничения на допустимые значения этих величин.
Однако далеко не всегда удаётся найти формулы, явно выражающие искомые величины через исходные. В таких случаях используются приближённые математические методы, позволяющие получать результаты с заданной точностью.
Компьютерная модель. На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, т. е. выразить её на понятном для компьютера языке. Существуют два пути решения этой задачи:
создание проекта на одном из языков программирования;
построение компьютерной модели с использованием некоторого приложения, например электронных таблиц.
В процессе создания компьютерной модели полезно разработать удобный графический интерфейс, который позволяет визуализировать формальную модель, а также реализовать интерактивный диалог человека с компьютером на этапе исследования модели.
Компьютерный эксперимент. Четвёртый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, её нужно запустить на выполнение и получить результаты.
Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и т. д.
Анализ полученных результатов и корректировка исследуемой модели. Пятый этап представляет собой анализ полученных результатов и корректировку исследуемой модели. В случае отличия результатов, полученных при исследовании информационной модели, от измеренных параметров реальных объектов можно сделать вывод, что на предыдущих этапах построения модели были допущены ошибки или неточности.
Например, при построении описательной качественной модели могут быть неправильно отобраны существенные свойства объектов, в процессе формализации могут быть допущены ошибки в формулах и т. д. В таких случаях необходимо провести корректировку модели, причём уточнение модели может проводиться многократно, пока анализ результатов не покажет их соответствие изучаемому объекту.
Визуализация формальных моделей. В процессе исследования формальных моделей часто производится их визуализация. Для визуализации алгоритмов используются блок-схемы, пространственных соотношений параметров объектов – чертежи, моделей электрических цепей – электрические схемы. При визуализации формальных моделей с помощью анимации может отображаться динамика процесса, производится построение графиков изменения величин и т. д.
В настоящее время широкое распространение получили компьютерные интерактивные визуальные модели. В таких моделях исследователь может менять начальные условия и параметры протекания процессов и наблюдать изменения в поведении модели [1].
Практическая часть
Глава 3. Разработка проекта “Построение логической схемы триггера”
§ 5. Содержательная постановка задачи
При изучении базовых логических элементов компьютера (сумматор, триггер) целесообразно использовать компьютерные модели. Такие модели позволяют визуализировать процесс преобразования логических значений входных сигналов в значения выходных сигналов.
§ 6. Формальная модель
Важнейшей структурной единицей оперативной памяти компьютера, а также внутренних регистров процессора является триггер. Триггер может находиться в одном из двух устойчивых состояний, что позволяет запоминать, хранить и считывать 1 бит информации.
Триггер можно построить из двух логических элементов ИЛИ и двух элементов НЕ. При этом выход первого элемента НЕ соединён со входом второго элемента ИЛИ, а выход второго элемента НЕ соединён со входом первого элемента ИЛИ. Триггер имеет установочный вход S (от англ. set - установка) и вход сброса R (от англ. reset - сброс), а также выход Q (рис.1).
Рис. 1. Логическая схема триггера
Для записи 1 бита на вход S (установочный) подаётся сигнал 1. Последовательно рассмотрев по логической схеме прохождение сигнала, видим, что на выходе триггера Q устанавливается 1. Триггер переходит в это состояние и будет находиться в нём и после того, как сигнал на входе S исчезнет. Таким образом, триггер будет устойчиво хранить 1 бит.
Для того, чтобы сбросить бит данных и подготовиться к приёму нового бита, подаётся сигнал 1 на вход R (сброс), после чего триггер возвратится к исходному “нулевому” состоянию.
Подача на оба входа логической единицы может привести к неоднозначному результату, поэтому такая комбинация входных сигналов запрещена (табл. 1) [2].
Таблица 1. Таблица состояний входов и выходов триггера
Входы |
Выход Q |
|
S |
R |
|
0 |
0 |
Q |
1 |
0 |
1 |
0 |
1 |
0 |
§ 7. Компьютерная модель
7.1. Разработка графического интерфейса проекта
Войти в приложение MS Excel.
Для создания графического интерфейса проекта (рис. 3) запустить систему объектно-ориентированного программирования Visual Basic for Applications (VBA) в MS Excel 2007 командой [Office – Параметры Excel – Основные – Показывать вкладку “Разработчик” на ленте - Visual Basic]; в MS Excel 2016 командой [Файл – Параметры – Настроить ленту – Разработчик – Visual Basic] или использовать комбинацию клавиш Alt + F11 – войти в VBA, Alt + Q – закрыть VBA.
В окно системы программирования добавить форму командой [Insert –UserForm].
Поместить на форму:
2 текстовых окна TextBox1 и TextBox2 для ввода начальных логических значений на входах триггера.
Две метки Label для вывода промежуточных логических значений.
Две метки Label для вывода состояний выходов триггера.
Четыре метки Label для обозначения составляющих триггер логических элементов.
Четыре метки Label для обозначения входов и выходов триггера.
Кнопку CommandButton1 для запуска событийной процедуры установки значения триггера и сброса значения триггера [4].
Сделаем внешний вид проекта более привлекательным. Для этого изменим свойства объектов, определяющие их внешний вид (вручную установить размер объекта, цвет фона, цвет шрифта, начертание и размер шрифта, выравнивание шрифта).
AutoSize – False;
BackColor – Palette – цветфона;
ForeColor – Palette – цветшрифта;
Font – шрифт (Times New Roman), начертание (полужирный), размер
шрифта (10), набор символов (кириллический) (рис. 2);
Рис. 2. Выбор шрифта, его начертания и размера
Caption – ввести название формы, меток и командной кнопки;
TextAlign – fmTextAlignCenter (выравнивание).
Рис. 3. Графический интерфейс проекта
7.2. Событийные процедуры
Обработчик события: командная кнопка – CommandButton1
Программный код можно создать одним из двух способов: с помощью использования логических формул приложения MS Excel или с помощью использования логических операций непосредственно в программном коде проекта.
Вариант 1: Логические формулы (Excel 2007).
Заполнить столбец A (ввести названия переменных и логических функций).
Предусмотреть ввод логических значений аргументов в ячейки B1 и B2 (ввести двоичные значения). Для ввода формул: Выделить ячейку – Формулы – Логические – Выбрать функцию - Ввести значения <OK> (рис. 4).
В ячейку B3 ввести формулу =ИЛИ(B1;B2).
В ячейку B4 ввести формулу =ЕСЛИ(B1=ИСТИНА;ИСТИНА;ЛОЖЬ)
В ячейку B5 ввести формулу =НЕ(B4).
В ячейку B6 ввести формулу =ИЛИ(B5;B2).
В ячейку B7ввести формулу =ЕСЛИ(B2=ИСТИНА;ИСТИНА;ЛОЖЬ).
В ячейку B8 ввести формулу =НЕ(B7).
Рис. 4. Работа с логическими формулами в приложении MS Excel
Программный код:
Private Sub CommandButton1_Click()
‘ввестинавходеначальныезначения
Cells(1, 2) = TextBox1.Text
Cells(2, 2) = TextBox2.Text
‘вывод промежуточных и конечных логических значений
Label5.Caption = Cells(4, 2)
Label9.Caption = Cells(5, 2)
Label6.Caption = Cells(7, 2)
Label10.Caption = Cells(8, 2)
End Sub
Вариант 2: Логические операции (Excel 2016).
Программный код:
‘Определить логические переменные
Dim S, R, Or1, Or2, Not1, Not2 As Boolean
Private Sub CommandButton1_Click()
‘Ввести на входе начальные значения
S = TextBox1
R = TextBox2
‘Вычислить промежуточные и конечные логические значения
Or1 = S Or Not2
If Or1 = 1 Then Not1 = 0 Else Not1 = 1
Or2 = Not1 Or R
If Or2 = 1 Then Not2 = 0 Else Not2 = 1
‘Вывод промежуточных и конечных логических значений
Label5 = Or1
Label9 = Not1
Label6 = Or2
Label10 = Not2
End Sub
7.3. Тестовые примеры (таблица состояний триггера)
Тестовые примеры возьмём из таблицы состояний триггера (формальная модель).
Таблица 1. Таблица состояний входов и выходов триггера
Входы |
Выход Q |
|
S |
R |
|
0 |
0 |
Q |
1 |
0 |
1 |
0 |
1 |
0 |
§ 8. Компьютерный эксперимент
Согласно таблице состояний входов и выходов триггера выполнение проекта проведём по двум вариантам подготовленных программных кодов. Исходное состояние триггера – “нулевое”.
8.1. Выполнение проекта по варианту 1.
Запустить проект на выполнение. Установить триггер: ввести в поле TextBox1 (Set) значение True, а в поле TextBox2 (Reset) – значение False. Щёлкнуть по кнопке Set/Reset. Проследить за установкой значений на элементах триггера (рис. 5). Триггер хранит True.
Рис. 5. Триггер хранит True (на вход Set подан сигнал True)
Сбросить триггер: ввести в поле TextBox2 (Reset) значение True, а в поле TextBox1 (Set) – значение False. Щёлкнуть по кнопке Set/Reset. Проследить за установкой значений на элементах триггера (рис. 6). Триггер хранит False.
Рис. 6. Сброс триггера (на вход Reset подан сигнал True)
8.2. Выполнение проекта по варианту 2.
Запустить проект на выполнение. Установить триггер: ввести в поле TextBox1 (Set) значение 1, а в поле TextBox2 (Reset) – значение 0. Щёлкнуть по кнопке Set/Reset. Проследить за установкой значений на элементах триггера (рис. 7). Триггер хранит True.
Рис. 7. Триггер хранит True(на вход Set подан сигнал 1)
Сбросить триггер: ввести в поле TextBox2 (Reset) значение 1, а в поле TextBox1 (Set) – значение 0. Щёлкнуть по кнопке Set/Reset. Проследить за установкой значений на элементах триггера (рис. 8). Триггер хранит False.
Рис. 8. Сброс триггера (на вход Reset подан сигнал 1)
Примечание: Если при выполнении высвечивается сообщение об ошибке (рис. 9), нажать на кнопку <Debug>. На экране появится окно с ошибкой (рис. 9). Внести исправления и запустить проект вновь.
Рис. 9. Сообщение об ошибке в программном коде
Для сохранения программного кода выполнить команду [кнопка Office (Файл) – Сохранить как… - Выбрать папку для сохранения документа – Имя файла (Книга1) – Тип файла (Книга Excel с поддержкой макросов) - Сохранить].
Для повторного запуска программного кода выполнить команды:
Войти в приложение MS Excel 2007 (2016);
Выполнить команду [кнопка Office (Файл) – Параметры – Центр управления безопасностью – Параметры центра управления безопасностью – Параметры макросов – Включить все макросы (не рекомендуется)]<ОК>;
Выполнить команду [кнопка Office (Файл) – Открыть – Книга1 – Открыть];
Войти в среду программирования Visual Basic for Applications: [Разработчик – VisualBasic];
По окончании работы выполнить команду [Отключить все макросы без уведомления].
§ 9. Анализ полученных результатов
При компьютерном выполнении проекта рассмотрены два варианта:
1 – программный код написан на основании значений в ячейках приложения MS Excel 2007, полученных в результате использования соответствующих схеме триггера логических формул;
2 – необходимые логические операции внесены непосредственно в программный код и исследование проведено в приложении MS Excel 2016.
На основании таблицы состояний триггера результаты, полученные при выполнении проекта по варианту 2, полностью соответствуют результатам, полученным при выполнении проекта по варианту 1.
При вводе в поле TextBox1 (Set) значение 1 (True), а в поле TextBox2 (Reset) – значение 0 (False) триггер хранит True. При вводе в поле TextBox1 (Set) значение 0 (False), а в поле TextBox2 (Reset) – 1 (True) триггер возвратится к исходному “нулевому” состоянию (рис.10).
Выполнение проекта по варианту 1 (Excel 2007) |
Выполнение проекта по варианту 2 (Excel 2016) |
Рис. 10. Результаты компьютерного эксперимента
Заключение
В данной работе показана разработка компьютерной модели логического устройства триггера, которая позволяет визуализировать процесс преобразования логических значений.
Приведены примеры выполнения двух программных кодов в среде программирования Visual Basic for Applications для табличного процессора MS Excel 2007 и MS Excel 2016 с помощью логических формул приложения и с помощью использования логических операций непосредственно в программном коде. Проведён сравнительный анализ планируемых и полученных результатов компьютерного эксперимента.
В ходе разработки проекта получены дополнительные знания по теме “Логические основы компьютера”. Проведённый компьютерный эксперимент наглядно показывает практическую значимость проведённых исследований.
Visual Basic for Applications – объектно-ориентированный язык программирования, изучение которого начинается в предпрофильных и профильных классах общеобразовательных учреждений (факультативные занятия: Решение задач повышенной сложности) на примере использования его основных объектов и их свойств, что достаточно наглядно показано в данной работе.
Список использованных источников и литературы
Информатика и ИКТ. Профильный уровень : учебник для 11 класса / Н. Д. Угринович. – 2-е изд., испр. и доп. - М.: БИНОМ. Лаборатория знаний, 2009. – 308 с.: ил.
Информатика и ИКТ. Учебник для 10 класса / Н. Д. Угринович. - М.: БИНОМ. Лаборатория знаний, 2007. – 371 с.: ил. – (Профильный уровень)
Информатика и информационные технологии. Учебник для 10-11 классов / Н. Д. Угринович. – 3-е изд. - М.: БИНОМ. Лаборатория знаний, 2006. – 511 с.: ил.
Исследование информационных моделей. Элективный курс: Учебное пособие / Н. Д. Угринович – М.: БИНОМ. Лаборатория знаний, 2004. – 183 с.: ил.
Объектно-ориентированное программирование [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Объектно-оориентированное_программирование
Программное обеспечение
Операционная система Windows 10
Приложение Microsoft Office Excel 2007
Приложение Microsoft Office Excel 2016
Приложение Visual Basic for Applications
Приложение Microsoft Office Word 2010