Учебный пример разработки программы построения графика функции в системе программирования Delphi

NovaInfo 39
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 12
CC BY-NC

Аннотация

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

Ключевые слова

ПРОЦЕСС ОБУЧЕНИЯ, ГРАФИК ФУНКЦИИ, ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ, РАЗРАБОТКА ПРОГРАММЫ

Текст научной работы

Для обеспечения и поддержки информационных процессов на современном уровне развития науки и техники чрезвычайно важна роль программирования, оно является одной из традиционных и важных тем как в школах, так и вузах. Программирование позволяет вырабатывать у учащихся такие важные для современного выпускника качества и способности, как логическое и критическое мышление, внимательность, аккуратность; развивает находчивость, фантазию, изобретательность, конструктивное мышление; раскрывает творческие способности [4, 7, 8, 13].

Тем не менее, при изучении программирования практически повсеместно можно наблюдать подход, при котором и школьникам, и студентам для решения предлагаются лишь стандартные задачи для отработки конкретных тем курса. При этом чаще всего используется язык программирования Turbo Pascal или его разновидности. Очевидно, что повсеместное распространение в учебных заведениях нашей страны языка Pascal связано с тем, что он более приспособлен в плане начального обучения программированию (ведь именно для этого он и создавался). Кроме того, во многих случаях наиболее приемлемым переходом к изучению визуальных языков программирования в школе является переход именно от Turbo Pascal к Delphi.

Для подготовки специалиста, конкурентоспособного на современном рынке информационных услуг, чрезвычайно важно на определенном этапе обучения отойти от традиционных задач, и предлагать более интересные и сложные задачи [2-4, 7-11, 16, 18].

В данной статье мы рассмотрим учебный пример, показывающий работу в среде визуального программирования Delphi. Среда разработки Delphi в курсе программирования может быть успешно использована при написании игровых [4, 6, 16], обучающих и контролирующих программ [5, 12], реализации моделей физических и экономических процессов [17], разработки прикладных программ [5, 12, 14, 15]. Для первоначального ознакомления со средой разработки Delphi можно использовать, например, книги [1, 19].

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

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

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

Так как в программе (рис. 1) использовано достаточно много компонент, а ее код содержит более 350 строк, то ниже в таблице 1 приведены типы компонент, их количество и назначение в программе, а сам исходный код проекта с некоторыми пояснениями в виде архива представлен в [20].

Таблица 1. Типы компонент и их назначение в программе

Тип компонента

Количество

Назначение в программе

TEdit

11

Поля ввода значений коэффициентов полинома, диапазона построения, толщины линий системы координат и графика функций, числа делений и количества знаков после запятой для шкал осей координат.

TLabel

16

Отображение соответствующего текста перед полями ввода и компонентами выбора цвета.

TUpDown

4

Выбор толщины линий осей координат и графика функции, задание числа делений и количества знаков после запятой для шкал осей координат.

TGroupBox

3

Группировка параметров построения графика функции и системы координат.

TBevel

2

Элемент оформления.

TPanel

1

Отображение текста "Параметры построения".

TImage

2

Область построения графика функции и вывод общего вида полинома.

TButton

1

Кнопка "Построить".

TShape

4

Элементы выбора цвета для осей координат, графика функции, сетки и шкал осей координат.

TColorDialog

1

Диалог выбора цвета.

TSavePictureDialog

1

Диалог сохранения файла.

TPopupMenu

1

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

TCheckBox

1

Позволяет включить или отключить отображение линий сетки.

TStatusBar

1

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

Окно программы "Построение графика функции"
Рисунок 1. Окно программы "Построение графика функции"

Основные действия в программе выполняются после нажатия на кнопку "Построить" в следующей последовательности:

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

Реальные координаты, соответствующие указателю мыши в области построения, вычисляются на основе известных значений коэффициентов масштабирования по осям с учетом отступов системы координат от краев области построения (в программе эти отступы приняты равными 50 пикселей слева и снизу и 10 пикселей — справа и сверху).

На основе контекстного меню области построения можно скопировать или отдельный фрагмент области, или всю область целиком в буфер обмена и передать затем это изображение в какое-либо другое приложение. Также можно сохранить всю область построения в отдельный файл формата BMP (предлагаем читателю выполнить сохранение области в файл формата JPEG в качестве тренировки самостоятельно, тем более, что для этого потребуется сделать минимальные дополнения к исходному коду программы).

На рис. 2 показан график функции в диапазоне значений $x$ от -15 до 10 и контекстное меню программы. Количество делений на каждой из осей равно 15, количество знаков после запятой в значениях на шкалах осей — единица.

Окно программы "Построение графика функции" с контекстным меню
Рисунок 2. Окно программы "Построение графика функции" с контекстным меню

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

Написанная программа также может использоваться в качестве интерактивного метода обучения программированию (метод проектов).

Читайте также

Список литературы

  1. Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2008. – 735 с.
  2. Дмитриев В.Л. Теория и практика решения задач по программированию. Ч. 1. Уфа: РИЦ БашГУ, 2007. – 264 с.
  3. Дмитриев В.Л. Теория и практика программирования на С++. – Стерлитамак: РИО СФ БашГУ, 2013. – 308 с.
  4. Дмитриев В.Л. Игровые проекты как средство повышения мотивации к изучению программирования // СМАЛЬТА. 2014. № 4. – С. 89-92.
  5. Дмитриев В.Л. Тестирование в игровой форме как способ проверки ус-воения учебного материала // Информатика в школе. 2012. №10 (83). – С. 41-43.
  6. Дмитриев В.Л. Компьютерная игра как средство тренировки зрительной памяти // NovaInfo.Ru. 2014. № 29. – С. 32-37.
  7. Дмитриев В.Л. Опыт отбора задач для активизации интереса школьников к изучению программирования // Информатика в школе. 2015. № 4. – С. 26-33.
  8. Дмитриев В.Л. Поэтапная разработка программы в среде Turbo Pascal на примере поиска пути с использованием волнового алгоритма // Информатика и образование. 2013. № 8 (247). – С. 29-33.
  9. Дмитриев В.Л. Развитие представлений об объектно-ориентированном программировании на примере разработки объектов в среде программирования Turbo Pascal // Информатика в школе. 2014. № 2. – С. 54-59.
  10. Дмитриев В.Л. Об эффективных алгоритмах решения ряда задач при обучении программированию // Профильная школа. 2014. Т.2. № 3. – С. 19-26.
  11. Дмитриев В.Л. Учебный пример реализации класса "Многочлен " на языке программирования C++ // NovaInfo.Ru. 2014. № 29. – С. 37-45.
  12. Дмитриев В.Л. Компьютерная программа для проведения тестирования с поддержкой произвольного расположения материалов теста // Информатика и образование. 2014. № 2 (251). – С. 74-77.
  13. Дмитриев В.Л., Ахмадеева Р.З. Развитие конструктивного мышления при изучении программирования // Информатика и образование. 2009. № 2. – С. 69-73.
  14. Дмитриев В.Л., Тугузбаева А.Р. Программная реализация метода приближенного решения матричных игр // NovaInfo.Ru. 2015. № 39. [Электронный ресурс]. – Режим доступа: http://novainfo.ru/archive/39/metod-priblizhennogo-resheniya-matrichnykh-igr (дата обращения: 04.12.2015).
  15. Дмитриев В.Л., Тугузбаева А.Р. Информационная система учета заказов малого частного предприятия // NovaInfo.Ru. 2015. № 39. [Электронный ресурс]. – Режим доступа: http://novainfo.ru/archive/39/informatsionnaya-sistema-ucheta-zakazov (дата обращения: 01.12.2015).
  16. Дмитриев В.Л., Евдокимова Н.Л., Мухаметова Л.К. Роль игровых проектов при обучении программированию // Современные научные исследования и инновации. 2015. № 12. [Электронный ресурс]. – Режим доступа: http://web.snauka.ru/issues/2015/12/60674 (дата обращения: 09.12.2015).
  17. Дмитриев В.Л., Тодорович А.А. Численное моделирование теплопроводности в плоской неоднородной пластине // Современные научные исследования и инновации. 2015. № 12. [Электронный ресурс]. – Режим доступа: http://web.snauka.ru/issues/2015/12/61187 (дата обращения: 16.12.2015).
  18. Окулов С.М. Программирование в алгоритмах. – М.: БИНОМ. Лаборатория знаний. 2002. – 341 с.
  19. Стивенс Р. Delphi. Готовые алгоритмы: учебное пособие. – М.: ДМК Пресс, 2007. – 379 с.
  20. Программа построения графика функции. [Электронный ресурс]. – Режим доступа: https://yadi.sk/d/oX6Sdh1XmJeSh

Цитировать

Дмитриев, В.Л. Учебный пример разработки программы построения графика функции в системе программирования Delphi / В.Л. Дмитриев, Н.Л. Евдокимова, Л.К. Мухаметова. — Текст : электронный // NovaInfo, 2015. — № 39. — URL: https://novainfo.ru/article/4054 (дата обращения: 24.01.2022).

Поделиться