Рекурсивные графические построения - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования рекурсии.
Пояснения к работе
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Рекурсия встречается не только в математике, но и в повседневной жизни.
В жизни Вам не раз приходилось сталкиваться с рекурсией. Вспомните хотя бы стихотворение "У попа была собака" или "10 негритят пошли купаться в море..."
Или то, как, сидя в поезде, вы ловили свое отражение в зеркале, которое отражалось в зеркале напротив, которое отражалось в зеркале напротив...
Слово "рекурсия" происходит от латинского слова "recursio" - возвращение.
Определение: Если подпрограмма обращается сама к себе как к подпрограмме непосредственно или через цепочку подпрограмм, то это называется рекурсией. А такие подпрограммы называются рекурсивными.
Для завершения рекурсивных вызовов в рекурсивной подпрограмме обязательно должно быть условие выхода из нее, заканчивающееся возвратом в вызывающую программу.
Постановка задачи
Разработать приложение для рекурсивного построения изображения, представленного на рис.
Порядок выполнения
- 21. Создать новый проект. 22. Объявить глобальные переменные
K, gd, gm, mx, my:integer; ch :char;
23. Создать следующие процедуры
Procedure TForm1.FormCreate(Sender: TObject);
Begin
K:=15;//минимальный размер окружности
End;
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Begin
Krug(X, Y, Y div 2);
End;
Procedure tform1.krug(x, y,r:integer);
Begin
If r>k then
Begin
Krug(x+r, y,r div 2);
Krug(x, y+r, r div 2);
Krug(x-r, y,r div 2);
Krug(x, y-r, r div 2);
End;
Form1.Canvas. Ellipse (x-r, y-r, x+r, y+r);
End;
- 24. Проверить работу программы. 25. Изменить процедуры Tform1.krug И FormMouseDown,Проверить работу программы
If r>k then
Begin
Form1.Canvas. Pen. Color:=RGB(Random(255),Random(255),Random(255));
Krug(x+r+(r Div 2),Y, r div 2);
Krug(x, y+r+(R Div 2),r div 2);
Krug(x-r-(r Div 2),Y, r div 2);
Krug(x, y-r-(R Div 2),r div 2);
End;
Form1.Canvas. Ellipse (x-r, y-r, x+r, y+r);
End;
Krug(X, Y, Y div 4)
- 26. Заменить рисование окружности на рисование прямоугольника и просмотреть результат. 27. Самым знаменитым примером площадного геометрического фрактала является треугольник Серпинского (см. рис.), строящийся путем разбиения треугольника, необязательно равностороннего - средними линиями на четыре подобных треугольника, исключением центрального и рекурсивного разбиения угловых треугольников до получения площадных элементов желаемого разрешения.
Добавить на форму командную кнопку и ввести для нее следующий код
Tri(150,150,225,0,300,150,5);
Создать и объявить следующую процедуру
PROCEDURE tform1.TRI(x1,y1,x2,y2,x3,y3, N: integer);
Var x12,y12,x23,y23,x31,y31: integer;
Begin If N<>0 then
Begin
X12:=(x1+x2) div 2; y12:=(y1+y2) div 2;
X23:=(x2+x3) div 2; y23:=(y2+y3) div 2;
X31:=(x3+x1) div 2; y31:=(y3+y1) div 2;
Form1.Canvas. MoveTo(x31,y31);
Form1.Canvas. LineTo(x12,y12);
Form1.Canvas. LineTo(x23,y23);
Form1.Canvas. LineTo(x31,y31);
TRI(x1,y1,x12,y12,x31,y31, N-1);
TRI(x2,y2,x12,y12,x23,y23, N-1);
TRI(x3,y3,x31,y31,x23,y23, N-1)
End;
End;
28. Проверить работу программы.
Самостоятельно Разработать Программу, которая рисует множество Кантора.
Рисунок множество Кантора образован квадратами. Каждый следующий квадрат в четыре раза меньше предыдущего. Центр каждого следующего квадрата расположен в вершине предыдущего квадрата и т. д. Так как рисунок состоит из однотипных элементов, и есть явная зависимость, как размеров, так и положения, следовательно, при создании данного рисунка можно использовать в программе рекурсию.
ПРАКТИЧЕСКАЯ РАБОТА № 10
Похожие статьи
-
Базовые компоненты Delphi. - Разработка Windows-приложений в среде Borland Delphi
Цель работы: Получить навыки использования в программе базовых компонентов Delphi. Пояснения к работе В форме практически любого приложения есть...
-
Графические возможности Delphi - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования в приложении битовых образов. Пояснения к работе Эффект перемещения сложной картинки может быть создан путем...
-
Разработка тестового приложения. - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Закрепить навыки программирования в Delphi. Постановка задачи: Текстовый файл содержит несколько вопросов и 4 варианта ответа, из которых...
-
Анимация - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования анимационных компонентов. Пояснения к работе Компонент Animate расположен на вкладке Win32 и позволяет...
-
Использование звука и видео в приложениях. - Разработка Windows-приложений в среде Borland Delphi
Цель Работы Получить навыки использования медиаплеера при проектировании приложений. Пояснения к работе Компонент MediaPlayer (рис.1), значок которого...
-
ВВЕДЕНИЕ - Разработка Windows-приложений в среде Borland Delphi
Целью учебного пособия является формирование практических навыков разработки и отладки Windows-приложений в среде Borland Delphi. Учебное пособие состоит...
-
Программирование для Интернет - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования компонента WebBrowser. Пояснения к работе Начиная с пятой версии Delphi появился компонент WebBrowser который...
-
Массивы - Разработка Windows-приложений в среде Borland Delphi
Цель работы Изучить различные алгоритмы сортировки списка. Закрепить навыки использования массивов данных и массивов объектов. Пояснения к работе...
-
Разработка приложения для базы данных - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки создания приложения для базы данных. Пояснения к работе Для работы с базами в Delphi есть несколько наборов компонент,...
-
Проектирование многооконных приложений - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки добавления новых форм к проекту. Пояснения к работе Проект приложения, включающий несколько окон, создается поэтапно. Шаги...
-
Элементы пользовательского интерфейса - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Закрепить навыки проектирования интерфейса приложения, получить навыки использования стандартных диалоговых окон и буфера обмена. Пояснения...
-
Цель работы: Получить навыки эффективного использования интегрированной среды Delphi. Пояснения к работе Borland Delphi - это объектно-ориентированная...
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
Составьте программу для реализации графического редактора линий, изображенного на рисунке 1.1.: Рисунок 1.1. - Пример работы Целью данной работы является...
-
Borland Delphi 7 - Разработка справочной информационной системы "Рецепты"
Интерфейс программы был написан в среде Borland Delphi 7 - визуальной среде программирования, использующей объектно-ориентированную модификацию языка...
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
-
Разработать и создать аналог системной утилиты "Диспетчер задач" по дисциплине "Системное программирование". "Диспетчер задач" должен содержать следующие...
-
Рекурсивная программа построения снежинки Написать программу, строящую на экране изображение: Изображение строится по следующему правилу: строится...
-
Общие сведения о программе Программа разработана для демонстрации возможностей языка C++ и может использоваться для пользователей, которые не знакомы с...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Данное методическое руководство является фактически введением в предмет создания приложений с помощью Delphi / C++Builder и тем более...
-
Компонент TPanel является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней...
-
Visual component library graphics Цель работы: изучение графических возможностей стандартной библиотеки визуальных компонентов VCL, функций и процедур...
-
Введение, РЕКУРСИЯ - Рекурсивное программирование
Основой для разработки рекурсивных алгоритмов служат, так называемые, Рекуррентные соотношения (формулы), устанавливающие зависимость между результатами...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Алгоритм работы декодера кода Рида - Маллера будем разрабатывать на основе уже приведенных выше уравнений. Алгоритм приведен на рисунке 12. В начале...
-
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария...
-
Кроме поддержки интерпретатора порождающих правил, описанного в главе 5, CLIPS обладает следующими функциональными возможностями: - для определения...
-
- рисуем графический примитив, например, эллипс у рыбки; - накладываем сверху на эллипс другой графический объект так, чтобы он закрывал часть эллипса; -...
-
- замечания, нужно запомнить. Знакомство со средой DELPHI Для загрузки Delphi нужно запустить файл Delphi32.exe из папки Bin каталога Delphi7. Можно...
-
Сетевой уровень - Принципы построения открытых графических систем
Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать...
-
Для оценки возможности выполнения проекта имеющимся в распоряжении разработчика штатным составом исполнителей, нужно рассчитать их среднее количество,...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Бизнес - планирование, являясь нормой любой предпринимательской деятельности, необходимо для предвидения будущей ситуации, стратегических решений и для...
-
Разработка графической части На данном этапе создания веб-сайта для рекламного агентства "ART", был разработан дизайн подобающе данной тематике. Стиль...
-
Разработка сайта, Среда разработки web-сайта - Разработка сайта для компании
Среда разработки web-сайта При разработке web-сайта используются: - HTML - язык разметки web-страниц; - CSS - формальный язык описания внешнего...
-
Среда графического редактора - Обзор графических редакторов
Пользовательский интерфейс большинства графических редакторов организуется следующим образом. С левой стороны экрана располагается набор пиктограмм...
-
Введение, Правила и порядок выполнения курсовой работы - Программирование в среде Turbo Pascal
Настоящие методические указания предназначены для выполнения курсовой работы "Расчеты на ЭВМ характеристик выходных сигналов электрических цепей" по...
-
Реальный проект состоит из многих (часто десятков) форм (окон), каждое из которых активируется в виде реакции на некоторое событие (нажатие кнопки...
-
Первая программа - движение слева направо Просмотрите код Unit1.pas для нашего примера: Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants,...
Рекурсивные графические построения - Разработка Windows-приложений в среде Borland Delphi