Подвижные точки - Математический факультет

advertisement
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ МАКСИМА ТАНКА»
кафедра прикладной математики и информатики
ОТЧЕТ
по вычислительной практике
Выполнил:
студент 207 группы
математического факультета
Петров И.А. _____________
(подпись студента)
Руководитель:
преподаватель кафедры
прикладной математики и
информатики
Иванов А.И. _____________
(подпись преподавателя)
Минск, 2014
Вариант 15
СОДЕРЖАНИЕ
Задание 1. ФОТО-МОЗАИКА............................................................................... 3
Задание 2. ДОРОЖНЫЙ ЗНАК ............................................................................ 4
Задание 3. МИГАЮЩИЙ ЗНАК .......................................................................... 5
2
Вариант 15
Задание 1. ФОТО-МОЗАИКА
В архиве находятся несколько файлов. В них – фрагменты одной
фотографии. Написать программу, составляющую из фрагментов – целую
фотографию.
Требования:
 подобрать размеры графического окна в соответствии с параметрами
фотографии (размер и ориентация книжная или альбомная);
 полученное фото расположить в указанной части графического окна;
 появление фото на экране организовать постепенно, по фрагментам;
 незаполненную область графического окна закрасить;
 в заголовке окна отобразить фамилию персонажа и свою фамилию.
Листинг к заданию 1
program Фото_мозаика_Петров_ИА;
uses GraphABC;
var i,pic1,pic2,pic3,pic4: integer;
begin
SetWindowSize(640,480); // задать размер графического окна
CenterWindow; // очистить графическое окно
FloodFill(0,0,clLtGray); // залить окно светло-серым цветом
SetWindowCaption('Сердце. Петров');// задать заголовок окна
{ загрузить фрагменты фотографии }
pic1:=LoadPicture('1.jpg');
DrawPicture(pic1,160,120);
Sleep(500); // задержка
pic1:=LoadPicture('3.jpg');
DrawPicture(pic1,160,240);
Sleep(500);
pic1:=LoadPicture('2.jpg');
DrawPicture(pic1,320,120);
Sleep(500);
pic1:=LoadPicture('4.jpg');
DrawPicture(pic1,320,240);
Sleep(500);
{ залить свободную область окна новым цветом }
FloodFill(0,0,clTeal);
end.
Скриншот к заданию 1
Рисунок 1 – Результат исполнения программы «Фото-мозаика»
3
Вариант 15
Задание 2. ДОРОЖНЫЙ ЗНАК




Написать программу для рисования дорожного знака.
Требования:
подобрать необходимые размеры графического окна в соответствии с
желаемым размером знака;
изображение знака расположить в центре графического окна;
незаполненную область графического окна оставить с белым фоном;
в графическом окне под рисунком отобразить название дорожного
знака.
Листинг к заданию 2
program Дорожный_знак_Петров_ИА;
uses GraphABC;
var i: byte;
begin
{ задаем заголовок графического окна }
SetWindowTitle('Дорожный знак - Въезд запрещен');
SetWindowSize(400,400); // задаем размер графического окна
SetFontSize(14);
// задаем размер шрифта
ClearWindow;
// очищаем графическое окно
SetBrushColor(clRed);
// задаем цвет круга
Circle(200,200,150);
// рисуем круг
SetPenColor(clWhite);
// задаем цвет полосы внутри круга
SetPenWidth(75);
// задаем толщину пера для рисования полосы
MoveTo(125,200);
// перемещаем перо в начальную точку для полосы
LineTo(275,200);
// рисуем полосу
Sleep(1000);
end.
Скриншот к заданию 2
Рисунок 2 – Результат исполнения программы «Дорожный знак»
4
Вариант 15
Задание 3. МИГАЮЩИЙ ЗНАК
Написать программу для рисования дорожного знака с элементами
анимации.
Требования:
 подобрать необходимые размеры графического окна в соответствии с
желаемым размером знака;
 изображение знака расположить в центре графического окна;
 в заголовке графического окна отобразить название дорожного знака;
 выбрать один из вариантов анимации-мигания и запрограммировать
анимацию отдельных элементов знака.
Листинг к заданию 3
program Мигающий_знак_Петров_ИА;
uses GraphABC;
var i: byte;
begin
{ задаем заголовок графического окна }
SetWindowTitle('Дорожный знак - Въезд запрещен');
SetWindowSize(400,400);
// задаем размер графического окна
SetFontSize(14);
// задаем размер шрифта
ClearWindow;
// очищаем графическое окно
{ --- исходный рисунок --- }
SetBrushColor(clRed);
// задаем цвет круга
Circle(200,200,150);
// рисуем круг
SetPenColor(clWhite);
// задаем цвет полосы внутри круга
SetPenWidth(75); // задаем толщину пера для рисования полосы
MoveTo(125,200); // перемещаем перо в начальную точку для полосы
LineTo(275,200); // рисуем полосу
Sleep(1000);
{ --- мигание сменой цвета пера --- }
for i := 1 to 10 do
begin
{ --------------- будем рисовать желтую полосу }
SetPenColor(clYellow); // задаем красный цвет пера
MoveTo(125,200); // перемещаем перо в начальную точку для полосы
LineTo(275,200); // рисуем полосу
Sleep(200);
// ожидаем 200 миллисекунд
{ --------------- будем рисовать белую полосу }
SetPenColor(clWhite);
// задаем белый цвет пера
MoveTo(125,200); // перемещаем перо в начальную точку для полосы
LineTo(275,200); // рисуем полосу
Sleep(400);
// ожидаем 400 миллисекунд
end;
end.
5
Вариант 15
Скриншот к заданию 3
Рисунок 3 – Результат исполнения программы «Мигающий знак»
6
Download