- •Министерство образования республики беларусь
- •Реферат
- •Содержание
- •Введение
- •Теоретическая часть
- •1.1 Постановка задачи
- •1.2. Математическая модель фрактала "Лист папоротника"
- •2 Практическая часть
- •2.1 Описание объектов, свойств, методов
- •2.2 Формы и основные модули текста программы в среде Delphi
- •2.3 Результаты тестирования программного продукта
- •2.4 Анализ результатов тестирования программы
- •Заключение
- •Список использованых источников
- •Листинг программы
- •Вторая форма
2.4 Анализ результатов тестирования программы
Результаты тестирования программы показывают, что приложение работает корректно. Предусмотрено выполнение необходимых действий для реализации поставленной задачи.
При запуске приложения все кнопки, вкладки, команды меню работают правильно.
Заключение
Для выполнения выполнения задания, необходимо было реализовать алгоритм построения фрактала «Лист папоротника» в среде Delphi. В ходе работы были созданы формы на которых размещены компоненты, которые необходимы для решения поставленной задачи. Во время разработки программы были углублены и закреплены знания по алгоритмизации, программированию и разработке графических программ в интегрированной визуальной среде программирования Delphi. Также была изучена и проанализирована дополнительная литература, содержащая информацию о среде разработки Delphi, математических множествах и фракталах. В результате была разработана программа которая способна построить фрактал «Лист папоротника».
Полученные в ходе работы над курсовым проектом навыки являются незаменимыми в дальнейшем при решении практических задач.
В дополнение хочется отметить области применения фракталов в компьютерных технологиях, помимо простого построения красивых изображений на экране компьютера. Фракталы в компьютерных технологиях применяются в следующих областях:
1. Сжатие изображений и информации
2. Сокрытие информации на изображении, в звуке
3. Шифрование данных с помощью фрактальных алгоритмов
4. Создание фрактальной музыки
5. Моделирование систем[7].
Данное приложение можно использовать для ознакомления с графическими средствами среды программирования Borland Delphi, а также для приобретения представлений о практическом применении фрактальных множеств.
Приложение можно доработать и использовать для создания более сложных фракталов.
Таким образом, поставленные цели были достигнуты, задачи работы были выполнены.
Список использованых источников
http://ru.wikipedia.org/wiki/Фрактал
http://www.kv.by/index2002491201.htm
http://www.opita.net/node/597
Бобровский С.И. Delphi 7. Учебный курс / С.И. Бобровский. – Санкт-Петербург: Питер, 2004. – 736 с.
Бугров Я.С. Высшая математика / Я.С. Бугров, С.М. Никольский. – Москва: Дрофа, 2004. – 288 с.
Культин Н. Б. Основы программирования в Delphi 8 для Microsoft.NET
Framework. Самоучитель.– Санкт-Петербург, 2004. – 400с.
Кроновер Р.М. Фракталы и хаос в динамических системах. Основы теории./ Р.М Кроновер. – Москва: Постмаркет, 2000. – 352 с.
Приложение А
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, XPMan;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
image1: TImage;
xpmanifest1: TXPManifest;
radiogroup1: TRadioGroup;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses unit2;
procedure gf;
const
iterations = 500000; //Кол-во итераций
var
t, x, y: real;
p:real; //Случайная величина
k:longint;
mid_x, mid_y, radius: integer;
begin
mid_x := form1.width div 2;
mid_y:=form1.height-200 ;//Масштабирование и координирование изображения
radius := trunc(0.1 * mid_y);
randomize;
x := 1.0;
y := 0.0;
for k := 1 to iterations do
begin
p := random;
t := x;
if p <= 0.85 then //Построение верхней части листа
begin
x := 0.84 * x -0.045 * y;
y := 0.045 * t + 0.86 * y + 1.6;
end
else
if p <= 0.92 then //Построение левого листа
begin
x := 0.25 * x - 0.26 * y;
y := 0.23 * t + 0.25 * y + 1.6;
end
else
if p <= 0.99 then //Построение стебля
begin
x := -0.135 * x + 0.28 * y;
y := 0.26 * t + 0.245 * y + 0.44;
end
else
begin
x := 0.0;
y := 0.16 * y ;
end;
Form1.image1.Canvas.Pixels[mid_x+round(radius*x), mid_y round(radius*y)+35]:=col;
end; //Вывод изображения
end;
procedure TForm1.Button1Click(Sender: TObject); //Инициализация построения фрактала
begin
case radiogroup1.ItemIndex of
0: col:=clGreen;
1: col:=clRed;
2: col:=clBlue;
3: col:=clOlive;
4: col:=clMaroon;
5: col:=clPurple;
6: col:=clLime;
7: col:=clYellow;
end;
gf;
button1.enabled:=false;
Button3.Enabled:=True;
end;
procedure TForm1.Button2Click(Sender: TObject); //Кнопка «Об авторе»
begin
form1.Visible:=false;
form2.show;
end;
procedure TForm1.Button3Click(Sender: TObject); //Кнопка «Очистить форму»
begin
image1.Canvas.Rectangle(0,0,ClientHeight,ClientWidth);
Button3.Enabled:=False;
Button1.Enabled:=True;
end;
procedure TForm1.FormCreate(Sender: TObject); //Исходные параметры формы
begin
Button3.Enabled:=False;
image1.Canvas.Rectangle(0,0,ClientHeight,ClientWidth);
Form1.BorderIcons := [biSystemMenu,biMinimize];
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
radiogroup1.ItemIndex:=0;
end;
end.
Приложение Б