- •Министерство образования Российской Федерации
- •Сургутский Государственный Университет
- •Кафедра «Информатики и вычислительной техники»
- •Отчет о практике
- •Задание 1. Экстремум функции
- •Задание 2. График функции в текстовом режиме
- •Задание 3. Процедурные типы
- •Задание 4. Модули
- •Задание 5. Линейный регрессионный анализ
- •Задание 6. Динамическая память в программировании графического режима
Задание 6. Динамическая память в программировании графического режима
Задание по практике
Нарисовать на фоне леса периодически движущийся закрашенный шарик. Движение из точки с координатами (400,0) в точку с координатами (0, 400). Размеры шарика ввести с клавиатуры. Движение прерывается после нажатия клавиши “F4”.
Соглашение о требованиях к программе
2.1Назначение программы:
Вывод требуемого изображения и имитация движения объекта.
2.2Перечень функций, выполняемых программой
Отрисовка фона (лес),
Анимация движения шарика.
2.3Формат входных данных:
Числовой (натуральные числа) – радиус шарика.
2.4Формат выходных данных:
Графический – изображение леса и движущегося шарика.
Реализация:
3.1Текст программы:
program
p6; uses
Crt, Graph;
type
PineDot = record
x, y: Word;
end;
CoordArray = array [1..16] of
PineDot;
const
M: CoordArray = ((x:
260; y: 300), (x: 290; y: 260) ,(x: 270; y: 260), (x: 300; y: 220),
(x: 285; y: 220), (x: 315; y:
180), (x: 304; y: 180), (x: 330; y: 145),
(x: 358; y: 180), (x: 347; y:
180), (x: 377; y: 220), (x: 362; y: 220),
(x: 392; y: 260), (x: 372; y:
260), (x: 402; y: 300), (x: 260; y: 300));
var
Gd, Gm: Integer;
i, R: Byte;
x, y: Word;
dx, dy: ShortInt;
C: Char;
Tree1, Tree2, Grass, Ball:
Pointer;
T1, T2, G, B: Word;
begin
ClrScr;
Write('Введите
радиус шарика -> ');
ReadLn(R);
Gd := detect;
Gm := 0;
InitGraph(Gd, Gm, 'egavga.bgi');
ClearDevice;
SetBkColor(10);
{ель}
SetFillStyle(1, 6);
Bar(325, 300, 335, 340);
SetColor(2);
DrawPoly(16, M);
SetFillStyle(1,
2);
begin
CloseGraph;
FreeMem(Ball, B);
Halt;
end;
end;
end;
until False;
{--------} end.