4.3 Основная программа
После достижения поставленной цели путем решения задач, была создана сама программа «Поздравление».
Блок схема программа представлена на рисунке 1. Вся программа написана с помощью линейного алгоритма с применением предусловия и постусловия.
Вывод окружности
Повторяется 11 раз
С разными координатами
Нет
Да
…….
Нет
Да
Рисунок 1
5 Программное и аппаратное обеспечение программы
Программное обеспечение: Оперативная систем Microsoft Windows XP Professional, интегрированная среда Turbo Pascal.
Аппаратное обеспечение: Персональный компьютер, можно использовать с следующими параметрами: BIOS: Award Modular BIOS v. 6.00 PG; Процессор: Intel Celeron с частотой 600 MHz; Оперативная память: 64 Mb (64512-K); Жёсткий диск :LBA, ATA33, 40022 Mb.
6 Руководство пользователя
Что бы воспользоваться данной программой «Поздравление», необходимо запустить файл KR01.PAS с помощью интегрированная среда Turbo Pascal. Или воспользоваться файлом KR01.ЕХЕ, где программа запуститься сразу.
Заключение
Программа создана и готова к использованию. В процессе создания программы была достигнута основная цель - получение знаний, навыков в области разработки алгоритмов обработки анимаций, реализация их на персональном компьютере и демонстрация возможностей Turbo Pascal 7.0 при работе с графикой.
Достижение основной цели стало возможным после решения всех поставленых задачь. Была изучена литература и интернет ресурсы о графических возможностей Turbo Pascal, что помогло углубить знания в этой области.
Рассмотреть основные алгоритмы программы это линейный и циклический алгоритмы.
Была разработать основная программа, ее блок схема и основные параметры.
Так же изучены графические возможности Turbo Pascal на практике.
В результате создана программа - анимация «Поздравление», которая в дальнейшем будет использоваться как поздравительная открытка с новым годом.
С помощью созданной программы возможна демонстрация графические возможности Turbo Pascal с применением циклической структуры.
Список использованных источников
1 Павловская Т.А. П12 Паскаль. Программирование на языке высокого уровня: Учебник для вузов. Спб.: Питер, 2007. – 393с.: ил.
2 Turbo Pascal 7.0. Самоучитель для начинающих: С. Н. Лукин — Санкт-Петербург, Диалог-МИФИ, 2002 г.- 384 с.
3 Справочник по Turbo Pascal для студентов: А. Н. Моргун — Санкт-Петербург, Вильямс, 2006 г.- 608 с.
4 Основы программирования: С. Окулов — Санкт-Петербург, Бином. Лаборатория знаний, 2010 г.- 440 с.
5 Методы проектирования программ [Электронный ресурс]. – Режим доступа: http://ivan101.narod.ru/gos/inf/21.htm
6 Изучаем Паскаль. Циклы [Электронный ресурс]. – Режим доступа: http://mif.vspu.ru/books/pascal/fornext.html
7 Библиотека on-line [Электронный ресурс]. – Режим доступа: http://citforum.ru/programming/bp70_lr/lr19.shtml
8 Сайт посвящённый освоению языков программирования [Электронный ресурс]. – Режим доступа: http://pdvc.narod.ru/index.htm
Приложение А.
Листинг программы
Program CNG; { Поздравление }
Uses Graph,crt;
Var Device, Mode,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,y1,x,y,i,j: Integer;
BEGIN
clrscr;
Randomize;
Device:=0;
InitGraph (Device, Mode,'\TP7\BGI');
x1:=60; {i} {Вывод на экран надписи IT 121}
repeat
setfillstyle(1,red);
setcolor(white);
circle(60,x1,10);
floodfill(50,x1+10,white);
setcolor(black);
circle(60,x1,10);
x1:=x1+1
until x1>300;
{-----------------------------------}
x2:=60; {T}
repeat
setfillstyle(1,red);
setcolor(white);
circle(200,x2,10);
floodfill(210,x2+10,white);
setcolor(black);
circle(200,x2,10);
x2:=x2+1
until x2>300;
{-----------------------------------}
x3:=100;
repeat
setfillstyle(1,red);
setcolor(white);
circle(x3,60,10);
floodfill(x3+10,60,white);
setcolor(black);
circle(x3,60,10);
x3:=x3+1
until x3>300;
{-----------------------------------}
x6:=60; {1}
repeat
setfillstyle(1,red);
setcolor(white);
circle(390,x6,10);
floodfill(400,x6+10,white);
setcolor(black);
circle(390,x6,10);
x6:=x6+1
until x6>300;
{-----------------------------------}
x4:=440; {2}
repeat
setfillstyle(1,red);
setcolor(white);
circle(x4,60,10);
floodfill(x4+10,70,white);
setcolor(black);
circle(x4,60,10);
x4:=x4+1
until x4>540;
{-----------------------------------}
x7:=60; {1}
repeat
setfillstyle(1,red);
setcolor(white);
circle(520,x7,10);
floodfill(530,x7+10,white);
setcolor(black);
circle(520,x7,10);
x7:=x7+1
until x7>150;
{-----------------------------------}
x5:=440;
repeat
setfillstyle(1,red);
setcolor(white);
circle(x5,160,10);
floodfill(x5+10,170,white);
setcolor(black);
circle(x5,160,10);
x5:=x5+1
until x5>520;
{-----------------------------------}
x10:=170;
repeat
setfillstyle(1,red);
setcolor(white);
circle(440,x10,10);
floodfill(450,x10+10,white);
setcolor(black);
circle(440,x10,10);
x10:=x10+1
until x10>300;
{-----------------------------------}
x9:=440;
repeat
setfillstyle(1,red);
setcolor(white);
circle(x9,300,10);
floodfill(x9+10,310,white);
setcolor(black);
circle(x9,300,10);
x9:=x9+1
until x9>520;
{-----------------------------------}
x5:=60; {1}
repeat
setfillstyle(1,red);
setcolor(white);
circle(600,x5,10);
floodfill(610,x5+10,white);
setcolor(black);
circle(600,x5,10);
x5:=x5+1
until x5>300;
{-----------------------------------}
y1:=0;
repeat {Вывод движущейся окружности}
setfillstyle(1,red);
setcolor(white);
circle(y1,10,600);
floodfill(10,600,white);
setcolor(white);
circle(y1,15,600);
y1:=y1+1;
until y1>1200;
{-----------------------------------}
x:=50; {Поочередный вывод лиц}
y:=50;
for i:=1 to 3 do
begin
Writeln;
for j:=1 to 5 do
begin
SetColor(random(15));
Circle(y*2*J,x*2*i,20);
Line(100*j,95*i,100*j,100*i);
Line(100*j+5,95*i,100*j+5,100*i);
Ellipse(100*j,100*i,180,0,10,12);
Delay(50000-j*5000);
end;
end;
{-----------------------------------}
y1:=0;
repeat {Вывод движущийся окружности}
setfillstyle(1,red);
setcolor(white);
circle(y1,10,600);
floodfill(10,600,3);
setcolor(3);
circle(y1,15,600);
y1:=y1+1;
until y1>1200;
{-----------------------------------}
setcolor(4); {Вывод надписи с новым годом}
Line(20,20,55,20); {c}
Line(20,20,20,80);
Line(20,80,55,80);
Line(100,20,100,80); {n
Line(100,45,130,45);
Line(130,20,130,80);
Ellipse(160,50,0,360,20,30); {o}
Line(190,20,210,20); {B}
Line(190,20,190,80);
Line(210,20,210,45);
Line(210,45,190,50);
Line(190,50,210,55);
Line(210,55,210,80);
Line(190,80,210,80);
Line(230,20,230,80);
Line(230,50,240,50);
Line(240,50,240,80);
Line(230,80,240,80);
Line(250,20,250,80);
Line(260,20,260,80);
Line(260,20,270,80);
Line(270,80,280,20);
Line(280,20,280,80);
Line(300,100,300,160);
Line(300,100,320,100);
Ellipse(350,130,0,360,20,30); {o}
Rectangle(400,100,420,140);
Line(390,140,430,140);
Line(390,140,390,160);
Line(430,140,430,160);
Ellipse(460,130,0,360,20,30); {o}
Line(500,100,500,160); {m}
Line(500,100,510,160);
Line(510,160,520,100);
Line(520,100,520,160);
{-----------------------------------}
Delay(50000); {Задержка}
{-----------------------------------}
SetColor(1); {Вывод снеговика}
Setfillstyle(1,15);
Circle(100,420,60);
Circle(100,310,50);
Circle(100,220,40);
Circle(150,310,20);
Circle(50,310,20);
Floodfill(100,420,1);
Floodfill(100,310,1);
Floodfill(100,220,1);
Floodfill(155,310,1);
Floodfill(55,310,1);
Floodfill(145,310,1);
Floodfill(45,310,1);
SetColor(15);
Circle(100,420,60);
Circle(100,310,50);
Circle(100,220,40);
Circle(150,310,20);
Circle(50,310,20);
j:=5;
For i:=1 to 10 do
begin
SetColor(4);
Setfillstyle(1,4);
Circle(100,260+j,2);
Floodfill(100,260+j,4);
j:=j+20;
end;
SetColor(9);
Setfillstyle(1,9);
Circle(85,210,2);
Circle(115,210,2);
Floodfill(85,210,9);
Floodfill(115,210,9);
SetColor(4);
Ellipse(100,230,180,0,18,15);
Setfillstyle(1,4);
Ellipse(100,225,360,0,7,4);
Floodfill(100,225,4);
{-----------------------------------}
Delay(50000); {Задержка}
{-----------------------------------}
SetColor(1); {Вывод снеговика}
Setfillstyle(1,15);
Circle(500,420,60);
Circle(500,310,50);
Circle(500,220,40);
Circle(550,310,20);
Circle(450,310,20);
Floodfill(500,420,1);
Floodfill(500,310,1);
Floodfill(500,220,1);
Floodfill(555,310,1);
Floodfill(455,310,1);
Floodfill(545,310,1);
Floodfill(445,310,1);
SetColor(15);
Circle(500,420,60);
Circle(500,310,50);
Circle(500,220,40);
Circle(550,310,20);
Circle(450,310,20);
j:=5;
For i:=1 to 10 do
begin
SetColor(4);
Setfillstyle(1,4);
Circle(500,260+j,2);
Floodfill(500,260+j,4);
j:=j+20;
end;
SetColor(9);
Setfillstyle(1,9);
Circle(485,210,2);
Circle(515,210,2);
Floodfill(485,210,9);
Floodfill(515,210,9);
SetColor(4);
Ellipse(500,230,580,0,18,15);
Setfillstyle(1,4);
Ellipse(500,225,360,0,7,4);
Floodfill(500,225,4);
{-----------------------------------}
Delay(50000); {Задержка}
{-----------------------------------}
SetColor(6); {Вывод елки}
Setfillstyle(1,6);
Rectangle(290,441,310,478);
Floodfill(300,450,6);
SetColor(2);
Setfillstyle(1,2);
Line(300,360,200,440);
Line(300,360,400,440);
Line(200,440,400,440);
Line(300,300,220,390);
Line(300,300,380,390);
Line(220,390,380,390);
Line(300,250,230,330);
Line(300,250,370,330);
Line(230,330,370,330);
Line(300,220,240,280);
Line(300,220,360,280);
Line(240,280,360,280);
Floodfill(300,290,2);
Floodfill(300,270,2);
Floodfill(300,240,2);
Floodfill(300,320,2);
Floodfill(300,340,2);
Floodfill(300,420,2);
Floodfill(300,370,2);
SetColor(8);
Setfillstyle(1,8);
Circle(250,425,8);
Circle(290,390,8);
Circle(310,360,8);
Circle(280,340,8);
Circle(310,310,8);
Circle(270,300,8);
Circle(300,270,8);
Floodfill(250,425,8);
Floodfill(290,390,8);
Floodfill(310,360,8);
Floodfill(280,340,8);
Floodfill(310,310,8);
Floodfill(270,300,8);
Floodfill(300,270,8);
Readln;
CloseGraph;
END.
Приложение Б.
Результат выполнения программы
После запуска программы выглядит следующим образом:
Рисунок 1 (изображается ИТ 121)
Рисунок 2 (все стирается)
Рисунок 3 (лица, появляющиеся по порядку)
Рисунок 4 (Все стирается)
Рисунок 6 (появляются надпись «С новым годом», снеговики и елка по очереди)
