ad794800309ea4f55f7fee3684c78dac.ppt
- Количество слайдов: 20
Моделирование движения
ЗАДАЧА Изобразить движение круга слева направо
Описательная модель 1. Создать изображение на экране в начальной точке. 2. Реализовать паузу для фиксирования изображения глазом. 3. Провести коррекцию движения, т. е. Воспроизвести изображение в новой точке, предыдущее изображение стереть.
Формализованная модель (0, 0) 20 479 20 600 639
Движение - изменение положения Изменяя значение координаты Х от начального значения 20 до конечного значения 600 с шагом 1, повторяем: 1. Рисуем круг в точке (x, y) радиуса r и цветом С; 2. Задержка времени на N мкс; 3. Рисуем круг в точке (x, y) радиуса r и цветом 0 (черный).
Изменяя значение координаты Х с шагом 1, повторяем: FOR X: =20 To Begin 600 Do ……………… End;
Рисуем круг в точке (x, y) радиуса r цветом С Set. Color(15); Circle(x, y, r);
Задержка времени на 100 мкс Delay(100)
Рисуем круг в точке (x, y) радиуса r цветом 0 (черный) Set. Сolor(0); Circle(x, y, r);
Итоговая программа: {описательная часть} Uses graph, crt; Var gd, gm: Integer; x, y, r: Integer;
{исполнительная часть} Begin gd: =Detect; Initgraph(gd, gm, ’’); Y: =20; R: =20; For X: =20 To 600 Do
Begin {тело цикла} Set. Color(15); Circle(X, Y, R); Delay(100); Set. Color(0); Circle(X, Y, R); End;
Readkey; Close. Graph; End.
Задание на практику: 1. Проверить данную программу на компьютере. 2. Модифицировать ее так, чтоб движение круга осуществлялось А) справа налево; Б) снизу вверх; В) сверху вниз.
Домашнее задание
Задание А: движение круга справа налево. Program prim. A; Uses crt; Var Gd, Gm: Integer; X, Y, R : Integer; Begin Gd: =Deterct; Init. Graph(Gd, Gm, ‘’); Y: = 20; R: =20; For X: =600 Downto 20 Do Begin Set. Color(15); Circle(X, Y, R); Delay(100); Set. Color(0); Circle(X. Y. R); End; Read. Key; Close. Graph; End.
Задание А: движение круга снизу вверх Program prim. A; Uses crt; Var Gd, Gm: Integer; X, Y, R : Integer; Begin Gd: =Deterct; Init. Graph(Gd, Gm, ‘’); X: = 320; R: =20; For Y: =460 Downto 20 Do Begin Set. Color(15); Circle(X, Y, R); Delay(100); Set. Color(0); Circle(X. Y. R); End; Read. Key; Close. Graph; End.
Задание А: движение круга сверху вниз Program prim. A; Uses crt; Var Gd, Gm: Integer; X, Y, R : Integer; Begin Gd: =Deterct; Init. Graph(Gd, Gm, ‘’); X: = 320; R: =20; For Y: =20 To 460 Do Begin Set. Color(15); Circle(X, Y, R); Delay(100); Set. Color(0); Circle(X. Y. R); End; Read. Key; Close. Graph; End.
Задание на дом: Построить компьютерную модель бесконечного горизонтального движения круга, т. е. круг движется слева направо, дойдя до стенки и ударившись о нее, начинает движение справа налево и т. д. , до тех пор, пока мы не нажмем какуюлибо клавишу.
ad794800309ea4f55f7fee3684c78dac.ppt