Напоминание

Вычисление площади фигуры


Автор: Кулик Евгений Васильевич
Должность: Преподаватель
Учебное заведение: ГПОУ "Печорский промышленно-экономический техникум"
Населённый пункт: Республика Коми, город Печора
Наименование материала: Методические рекомендации
Тема: Вычисление площади фигуры
Раздел: среднее профессиональное





Назад




Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Методические рекомендации по выполнению практической работы

«Вычисление площади фигуры»

Настоящие методические рекомендации предназначены для студентов государственного

профессионального образовательного учреждения «Печорский промышленно-экономический

техникум» очной формы обучения специальности 09.02.07 Информационные системы и

программирование.

Пришло время перехода от программирования тривиальных задач простых логических

элементов к более сложным задачам линейного программирования. В современном мире

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

практических умений для грамотного программиста. Но таковым сначало надо стать, а вот

начинающему программисту порой трудно найти ту область, где он может применить свои пока

еще немногочисленные знания.

Но такие области есть. Наша задача не просто найти область применения знаний, но и

видеть возможные способы расширить их; развивать способность анализировать программный

код, находить его недостатки, искать возможные пути их устранения.И не стоит ждать окончания

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

задания, набирать примеры, разбираться в них. После выполнения практических работ пробовать

усложнить примеры и задания своими идеями. Создавать свои задачи к пройденному материалу.

Данные методические рекомендации предназначены для выполнения практической работы

по созданию программы вычисления площади простых геометрических фигур – Вычисление

площади фигуры.

Практическая работа выполняется в серии практических работ по дисциплине ОП.05

Основы алгоритмизации и программирования специальности 09.02.07 Информационные

системы и программирование. C целью дальнейшего создания межпредметных связей

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

(СУБД) MS Access.

Программа Вычисление площади фигуры не является законченным программным

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

модернизации.

Среда разработки: система управления базами данных (СУБД) MS Access 2007.

Цель работы: разработка программы для нахождения площади простых геометрических

фигур.

Задачи работы:

совершенствовать коммуникативно-познавательные умения, направленные на

систематизацию и углубление знаний;

расширить знания в области прикладного программировании в среде VBA;

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

приобрести практические навыки программирования классических задач;

разработать пользовательский интерфейс программы;

написать кодинг программы Вычисление площади фигуры.

Для работы над практической работой студент:

должен знать:

основы программирования в среде VBA программы MS Access;

основные элементы управления интефейса пользовательской формы;

виды графических редакторов, форматы графических изображений.

Должен уметь:

конструировать формы пользовательского интерфейса;

создавать обработчики событий, писать простой код обработчика;

знать основы работы любого графического редактора.

По итогам выполнения практической работы студент:

должен знать:

свойство управления видимостью элементов управления Visible;

назначение, область применения элемента управления Группа переключателей;

свойство Path объекта VBA CurrentProject;

свойство Picture элемента управления Рисунок;

применение обработчика события AfterUpdate;

инструкцию подавления ошибки On Error Resume Next.

Должен уметь:

выполнять программную настройку видимости элементов управления;

выполнять программную загрузку графичесских файлов в элементы управления;

видеть область применения разных событий элементов управления;

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

Иметь практический опыт:

проектирования простых приложений пользователя;

предотвращения возникновения ошибок runtime;

алгоритмизации действий, направленных на решение поставленной задачи.

Внимание: При разработке программы некоторые решения не являются оптимальными и выполнены

исключительно в учебных целях с целью обеспечения наглядности, максимального соответствия учебному

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

ОП.05 Основы алгоритмизации и программирования и МДК 01.01 Технология разработки программного

обеспечения специальности 09.02.07 Информационные системы и программирование в дальнейшем будет

выпонена инспекция написанного кода и проведено его ревьюирование.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Этапы работы:

1.

Создание формы пользовательского интерфейса программы.

2.

Первичная настройка элементов управления формы.

3.

Кодинг событий выбора переключателя.

4.

Кодинг событий текстовых полей.

5.

Кодинг события командных кнопок.

Ход работы:

1.

Создание формы пользовательского интерфейса программы

Для реализации программы создадим файл базы данных Вычисление площади

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

Примерный вид формы в режиме Конструктор показан на рисунке 1. Графические файлы

геометрических фигур и соответсвующих формул предварительно создать в любом имеющемся

графическом редакторе. Для управления объектами (элементами управления) формы дадим им

осмысленные имена (таблица 1-3).

Табл.1. Объекты (элементы управления) фигуры Круг

Объект

Имя

Назначение

Рисунок

CircleShape

Вывод графического файла геометрической фигуры

Рисунок

CircleFormula

Вывод графического файла формулы расчета площади

Прямоугольник

CircleBox

Рамка для объединения элементов управления фигуры

Текстовое поле

CirclePi

Текстовое поле для ввода числа пи

Текстовое поле

CircleR

Текстовое поля для ввода радиуса

Текстовое поле

CircleS

Текстовое поле для вывода площади

Табл.2. Объекты (элементы управления) фигуры Прямоугольник

Объект

Имя

Назначение

Рисунок

RectangleShape

Вывод графического файла геометрической фигуры

Рисунок

RectangleFormula

Вывод графического файла формулы расчета площади

Прямоугольник

RectangleBox

Рамка для объединения элементов управления фигуры

Текстовое поле

RectangleA

Текстовое поле для ввода стороны A

Текстовое поле

RectangleB

Текстовое поля для ввода стороный B

Текстовое поле

RectangleS

Текстовое поле для вывода площади

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Табл.3. Объекты (элементы управления) фигуры Треугольник

Объект

Имя

Назначение

Рисунок

TriangleShape

Вывод графического файла геометрической фигуры

Рисунок

TriangleFormula

Вывод графического файла формулы расчета площади

Прямоугольник

TriangleBox

Рамка для объединения элементов управления фигуры

Текстовое поле

TriangleA

Текстовое поле для ввода стороны A

Текстовое поле

TriangleH

Текстовое поля для ввода высоты H

Текстовое поле

TriangleS

Текстовое поле для вывода площади

Рисунок 1. Примерный вид формы программы

2.

Первичная настройка элементов управления формы

Реализуя алгоритм работы программы скроем все элементы управления геометрических

фигур формы кроме их непосредственных изображений.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Для скрытия элементов управления используем Окно свойств режима Консруктор.

Свойству Вывод на экран вкладки Макет каждого из объектов присвоем значение – Нет (рис.2).

Запустим форму. Примерный вид загруженной формы продемонстрирован на рисунке 3.

Рисунок 2. Управление видимостью элементов формы

Рисунок 3. Стартовый вид загруженной формы

Для динамического управления видимостью объектов интерфейса с помощью Мастера

создания группы переключателей создадим объект Группа переключателей. Пошаговый

процесс создания группы оттображен на рисунках 4-7.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Рисунок 4. Выбор элемента Группа переключателей

Рисунок 5. Создание подписей переключателей

Рисунок 6. Выбор переключателя по умолчанию

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Рисунок 7. Установка значения для каждого переключателя

Рисунок 8. Выбор внешнего вида для группы

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Рисунок 9. Ввод подписи группы

Каждому объекту переключателя созданной группы дадим имена CircleChoice,

RectangleChoise, TriangleChoise (рис.10).

Рисунок 10. Присвоение имен переключателям

После форматирования объекта Группа переключателей получим примерный внешний

вид формы программы (рис.11).

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Рисунок 11. Вид формы с группой переключателей

Запустите форму, проверьте соответствие внешнего вида разрабатываемого интерфейса

программы. При необходимости проведите необходимое форматирование.

3.

Кодинг событий выбора переключателя

При выборе переключателя из группы делаем видимыми элементы управления активной

фигуры.В отличие от первичных настроек элементов управления изменение свойств Visible

объектов выполняем программно. Загружая в элемент управления Рисунок новый графический

файл геометрической фигуры создаем эффект подсвечивания фигуры (рис. 12). Загрузку нового

файла выполняем с помощью свойства Picture элемента управления Рисунок.

Свойство Picture позволяет определить точечный рисунок или изображение другого типа

для кнопки, элемента управления Рисунок, выключателя, страницы в наборе вкладок или фона

формы либо отчета. Возвращает доступное для чтения и записи значение типа String.

объект.Picture

Свойство Picture содержит значение точечный рисунок или путь и имя файла точечного

рисунка либо изображения другого типа, которые требуется отобразить.

Это свойство можно задать следующими способами:

На странице свойств.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

С помощью макроса.

С помощью кода Visual Basic для приложений (VBA). Можно использовать строковое

выражение, включающее путь и имя рисунка, как показано в следующем примере:

btnShowLogo.Picture = "C:\Windows\Winlogo.bmp"

По умолчанию для данного свойства задается значение Отсутствует. После загрузки

рисунка в объект данному свойству присваивается значение Точечный рисунок или путь и имя

файла изображения. Удаление значения Точечный рисунок или пути и имени файла рисунка из

ячейки свойства приводит к удалению рисунка из объекта. Свойство при этом снова получает

значение Отсутствует.

Если для свойства PictureType (Тип рисунка) задано значение Внедренный, рисунок будет

сохранен вместе с объектом.

Создавать точечные рисунки можно в Microsoft Paintbrush или других приложениях,

поддерживающих эту возможность. Файл рисунка должен иметь расширение .bmp, .ico или .dib.

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

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

поддерживаются все графические объекты. Для кнопок и переключателей поддерживаются только

точечные рисунки.

Объект CurrentProject ссылается на текущий файл базы данных Access (.accdb).

Объект CurrentProject содержит несколько коллекций, которые содержат определенные

объекты AccessObject в текущей базе данных.

Свойство Path объекта CurrentProject можно использовать для определения места

хранения дополнительных файлов для базы данных Microsoft Access. Это свойство только для

чтения (String).

Expression.Path (путь)

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Рисунок 12. Выбор переключателя Круг

Листинг 1. Обработчик события Получение фокуса переключателя Круг

Private Sub CircleChoice_GotFocus()

'управление видимостью объектов фигуры - Круг

CircleBox.Visible = True

CircleShape.Picture = CurrentProject.Path & "\img\" & "c2.png"

CircleFormula.Visible = True

CirclePi.Visible = True

CircleR.Visible = True

CircleS.Visible = True

'управление видимостью объектов фигуры - Прямоугольник

RectangleBox.Visible = False

RectangleShape.Picture = CurrentProject.Path & "\img\" & "r1.png"

RectangleFormula.Visible = False

RectangleA.Visible = False

RectangleB.Visible = False

RectangleS.Visible = False

'управление видимостью объектов фигуры - Треугольник

TriangleBox.Visible = False

TriangleShape.Picture = CurrentProject.Path & "\img\" & "t1.png"

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

TriangleFormula.Visible = False

TriangleA.Visible = False

TriangleH.Visible = False

TriangleS.Visible = False

End Sub

Используя как образец код Листинг 1 напишите обработчики событий получения фокуса

RectangleChoise_GotFocus() и TriangleChoise_GotFocus(). Будьте внимательны при назначении

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

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

элементов управления геометрических фигур. В случае необходимости выполните отладку

программного кода.

4.

Кодинг событий текстовых полей

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

кнопки для расчета площади фигуры. Код вычисления площади создадим в обработчике события

После обновления (AfterUpdate). Событие После обновления возникает после обновления

измененных данных в элементе управления. Данные в каждом элементе управления обновляются,

когда элемент управления теряет фокус или когда пользователь нажимает клавишу Ввод или

Tab. Макросы и процедуры обработки событий, выполняемые после обновления, выполняются

только при изменении данных в элементе управления.

При вычислении площади фигуры пустое текстовое поле может прерывать выполнение

программы и вызывать ошибку времени выполнения (runtime error) (рис.13).

Рисунок 13. Ошибка времени выполнения

В информатике, runtime или run time описывает срок исполнения компьютерной програмы,

от еѐ начала до завершения.Cоответственно runtime error это ошибка, возникающая во время

исполнения программы.

Для избежания такой ситуации используем конструкцию подавления ошибки On Error

Resume Next.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Конструкция On Error Resume Next указывает, что при возникновении ошибки времени

выполнения управление переходит к оператору , непосредственно следующему за оператором, в

котором произошла ошибка, и выполнение кода продолжается.

4.1. Расчет площади Круга

Создадим обработчик события AfterUpdate текстового поля CirclePi.

Листинг 2. Обработчик события После обновления текстового поля CirclePi

Private Sub CirclePi_AfterUpdate()

Dim intPi As Integer

Dim bytR As Byte

On Error Resume Next

intPi = CirclePi.Value

bytR = CircleR.Value

CircleS.Value = intPi * (bytR ^ 2)

End Sub

Для того, чтобы процесс вычисления площади не был “привязан” к изменению только

одного текстового поля, вставим этот код и в обработчик события AfterUpdate текстового поля

CircleR.

Листинг 3. Обработчик события После обновления текстового поля CircleR

Private Sub CircleR_AfterUpdate()

Dim intPi As Integer

Dim bytR As Byte

On Error Resume Next

intPi = CirclePi.Value

bytR = CircleR.Value

CircleS.Value = intPi * (bytR ^ 2)

End Sub

Текстовое поле CircleS необходимо для вывода информации, поэтому доступ

пользователя к полю можно заблокировать.

Проверьте работоспособность программного кода.

4.2. Расчет площади Прямоугольника

Создадим обработчик события AfterUpdate текстового поля RectangleA.

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

Листинг 4. Обработчик события После обновления текстового поля RectangleA

Private Sub RectangleA_AfterUpdate()

Dim bytA As Byte

Dim bytB As Byte

On Error Resume Next

bytA = RectangleA.Value

bytB = RectangleB.Value

RectangleS.Value = bytA * bytB

End Sub

Самостоятельно создайте обработчик события AfterUpdate для текстового поля RectangleB.

Заблокируйте доступ к текстовому полю RectangleS. Проверьте работоспособность программного

кода.

4.3. Рачет площади Треугольника

Создадим обработчик события AfterUpdate текстового поля TriangleA.

Листинг 5. Обработчик события После обновления текстового поля TriangleA

Private Sub TriangleA_AfterUpdate()

Dim bytAAsByte

Dim bytH As Byte

On Error Resume Next

bytA = TriangleA.Value

bytH = TriangleH.Value

TriangleS.Value = (bytA * bytH) / 2

End Sub

Самостоятельно создайте обработчик события AfterUpdate для текстового поля TriangleH.

Заблокируйте доступ к текстовому полю TriangleS. Проверьте работоспособность программного

кода.

5.

Кодинг события командных кнопок

Напишем кодинг события Нажатие кнопки командной кнопки Очистить. Код обработчика

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

Листинг 6. Обработчик события Нажатия кнопки командной кнопки Очистить

Private Sub Delete_Click()

CirclePi.Value = ""

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

CircleR.Value = ""

CircleS.Value = ""

RectangleA.Value = ""

RectangleB.Value = ""

RectangleS.Value = ""

TriangleA.Value = ""

TriangleH.Value = ""

TriangleS.Value = ""

End Sub

С помощью мастера создайте код закрытия формы командной кнопкой Закрыть форму.

Проверьте работоспособность программы.

Заключение

В методических рекомендациях по выполнению практической работы поставлены и

решены следующие задачи:

совершенствованы умения, систематизированы и углублены знания проектирования

приложений;

приобретены практические навыки программирования классических задач в среде VBA;

разработан пользовательский интерфейс программы;

написан кодинг для программы Вычисление площади фигуры.

Результатом выполнения практической работы стала программа, позволяющая расчитать

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

области программного исполнения может быть модернизировано согласно предпочтений

разработчика.

В качестве основных шагов развития приложения можно предложить:

1.

процесс вычислений площади “привязать” к событию LostFocus;

2.

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

событий текстовых полей фигур;

3.

оптимизировать работу с числом пи в расчете площади фигуры Круг; значение можно

записать в качестве Значения по умолчанию (вкладка Данные) в конструкторе формы либо

сделать константой (переменной) в коде программы;

4.

инструкцию подавления ошибок On Error Resume Next заменить инструкцией обработки

ошибок On Error Go To;

5.

командная кнопка Очистить может не просто чистить текстовые поля, но возвращать

программу в исходное состояние (на момент загрузки пользовательской формы);

6.

расширить список геометрических фигур. Названия фигур можно выводить в элементе

управления Поле со списком. При выборе элемента из списка загружать графический файл

Государственное профессиональное образовательное учреждение "Печорский промышленно-экономический техникум"

Специальность: 09.02.07 Информационные системы и программирование

Дисциплина: ОП.05 Основы алгоритмизации и программирования

Преподаватель: Кулик Е.В.

соответствующей фигуры. Если расчет площади фигуры требует более двух параметров –

делать видимыми предварительно созданные текстовые поля. Менять значения надписей

к текстовым полям в соответствии выбранной фигуры.



В раздел образования