- •Содержание
- •Введение
- •Теоретическая часть Процедуры и функции Delphi Математические
- •Для работы с датами и временем
- •Диалоговые
- •Преобразование типов
- •Для работы с символами и строками
- •Именованные константы в Delphi Именованные константы тип tColor
- •Именованные константы, определяющие стиль линии
- •Именованные константы, определяющие стиль заполнения замкнутого контура
- •Практическая часть практическая работа № 1
- •Практическая работа № 2
- •Практическая работа № 3
- •Практическая работа № 4
- •Практическая работа № 5
- •1 Часть
- •2 Часть
- •3 Часть
- •Практическая работа № 6
- •Практическая работа № 7
- •Практическая работа № 8
- •2 Часть
- •Практическая работа № 9
- •Практическая работа № 9 а
- •Практическая работа № 10
- •Практическая работа № 11
- •На форму Form2 добавить метку, ввести для нее заголовок тригонометрические функции
- •Практическая работа № 12
- •Практическая работа № 13
- •Практическая работа №14
- •Практическая работа № 15
- •1 Часть
- •Управление отображением данных
- •2 Часть
- •3 Часть
- •4 Часть
- •Дополнительные задания
- •Часть 1
- •1) Составьте блок-схему анекдота:
- •2) Составьте блок-схему следующей ситуации:
- •3) Создать тест
- •Проектируем форму
- •Самостоятельно:
- •Параметр Sender. Совершенствуем игру.
- •Компонент Image
- •1 Способ. Подключаем клавиатуру
- •2 Способ. Передать управление кораблю.
- •3 Способ. Сделать игру для двоих...
- •Часть 2
- •Список использованной литературы
Практическая работа № 9 а
Тема Рекурсивные графические построения
Цель работы: Получить навыки использования рекурсии.
С целью овладения указанным видом деятельности студент в ходе данного вида практики должен:
иметь практический опыт:
– инсталляции, настройки и сопровождения одной из информационных систем;
– выполнения регламентов по обновлению, техническому сопровождению и восстановлению данных информационной системы;
– сохранения и восстановления базы данных информационной системы;
– организации доступа пользователей к информационной системе в рамках компетенции конкретного пользователя;
– обеспечения сбора данных для анализа использования и функционирования информационной системы и участия в разработке проектной и отчетной документации;
– определения состава оборудования и программных средств разработки информационной системы;
– использования инструментальных средств программирования информационной системы;
– участия в экспериментальном тестировании информационной системы на этапе опытной эксплуатации и нахождения ошибок кодирования в разрабатываемых модулях информационной системы;
– разработки фрагментов документации по эксплуатации информационной системы;
– участия в оценке качества и экономической эффективности информационной системы;
– модификации отдельных модулей информационной системы;
– взаимодействия со специалистами смежного профиля при разработке методов, средств и технологий применения объектов профессиональной деятельности;
- использования инструментальных средств обработки информации;
- участия в разработке технического задания;
- формирования отчетной документации по результатам работ;
- использования стандартов при оформлении программной документации;
- программирования в соответствии с требованиями технического задания;
- использования критериев оценки качества и надежности функционирования информа-ционной системы;
- применения методики тестирования разрабатываемых приложений;
- управления процессом разработки приложений с использованием инструментальных средств;
Результатом освоения учебной практики является сформированность у обучающихся первоначальных практических профессиональных умений в рамках модулей ОПОП СПО по основным видам профессиональной деятельности (ВПД):: ПК 2.1 – ПК 2.6, ОК 1 – ОК 9.
Пояснения к работе
Рекурсивным называется объект, частично состоящий или определяемый с помощью самого себя. Рекурсия встречается не только в математике, но и в повседневной жизни.
В жизни Вам не раз приходилось сталкиваться с рекурсией. Вспомните хотя бы стихотворение "У попа была собака" или “10 негритят пошли купаться в море…”
Или то, как, сидя в поезде, вы ловили свое отражение в зеркале, которое отражалось в зеркале напротив, которое отражалось в зеркале напротив…
Слово «рекурсия» происходит от латинского слова «recursio» - возвращение.
Определение: Если подпрограмма обращается сама к себе как к подпрограмме непосредственно или через цепочку подпрограмм, то это называется рекурсией. А такие подпрограммы называются рекурсивными.
Для завершения рекурсивных вызовов в рекурсивной подпрограмме обязательно должно быть условие выхода из нее, заканчивающееся возвратом в вызывающую программу.
Постановка задачи
Разработать приложение для рекурсивного построения изображения, представленного на рис.
Порядок выполнения
-
Создать новый проект.
-
Объявить глобальные переменные
k,gd,gm,mx,my:integer; ch :char;
-
Создать следующие процедуры
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;
-
Проверить работу программы.
-
Изменить процедуры 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)
-
Заменить рисование окружности на рисование прямоугольника и просмотреть результат.
-
Самым знаменитым примером площадного геометрического фрактала является треугольник Серпинского (см. рис.), строящийся путем разбиения треугольника, необязательно равностороннего – средними линиями на четыре подобных треугольника, исключением центрального и рекурсивного разбиения угловых треугольников до получения площадных элементов желаемого разрешения.
Добавить на форму командную кнопку и ввести для нее следующий код
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;
-
Проверить работу программы.
Самостоятельно разработать программу, которая рисует множество Кантора.
Рисунок множество Кантора образован квадратами. Каждый следующий квадрат в четыре раза меньше предыдущего. Центр каждого следующего квадрата расположен в вершине предыдущего квадрата и т.д. Так как рисунок состоит из однотипных элементов, и есть явная зависимость, как размеров, так и положения, следовательно, при создании данного рисунка можно использовать в программе рекурсию.