Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ121_ОП_КР01_ВАР09_Проценко.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
5.11 Mб
Скачать

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 (появляются надпись «С новым годом», снеговики и елка по очереди)

27