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

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

В статье рассматривается разработка программы в системе программирования 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. Окно программы "Построение графика функции"

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

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

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

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

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

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

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

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

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

  1. Дмитриев В.Л.
  1. Дмитриев В.Л.
  1. Тугузбаева А.Р.
  1. Алексеева К.В.
  2. Дмитриев В.Л.
  1. Дмитриев В.Л.
  2. Евдокимова Н.Л.
  3. Мухаметова Л.К.

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

  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 (дата обращения: 15.06.2022).

Поделиться

Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

📎📎📎📎📎📎📎📎📎📎