[ Скачать с сервера (49.0 Kb) ] | 2019-04-08, 8:50 AM |
(инструкционная карта для учащихся)
ТЕМА: Построение двумерных динамических изображений средствами TP.ЦЕЛИ: 1. Научиться использовать встроенные процедуры ТР 7.0 для имитации движения графических объектов на экране компьютера. 2. Составить программы с использованием графических процедур.
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:Для имитации движения какого-либо объекта на экране компьютера применяют раскадровку (покадровый вывод). Сначала на экран выводится объект в начальной точке. Затем экран полностью очищается. Далее объект выводиться в следующей точке экрана и так далее. Для очистки экрана используется процедура: ClearDevice (слитно). Для задержки вывода изображения используется процедура: Delay(число миллисекунд).
ЗАДАЧИ ДЛЯ ПРОГРАММИРОВАНИЯ:Задание 1 Напишите программу для вывода окружности двигающейся по горизонтальной линии проходящей через центр экрана. Задание: 1. Запустите программу Turbo Pascal. 2. Наберите программу для вывода на экран двигающейся окружности: Начало программы: Program Lab_7_1; Uses Crt, Graph; Var GD, GM, X: Integer; Begin GD := vga; GM:=2; InitGraph(GD, GM, ''); Repeat продолжение программы: for X:=1 to 640 do begin circle(X,240,50); cleardevice; end; until keypressed; CloseGraph; end.
3. Запустите программу на выполнение (ctrl+F9). 4. ВНИМАНИЕ! Если при запуске в тексте программы выделяется строка, это значит, что в этой или предыдущей строке допущена ошибка. Исправьте ее и запустите программу снова. 5. Добавьте в программу команды, выводящие вторую окружность, двигающуюся по вертикальной линии проходящей через центр экрана. 6. Исправьте программу так, чтобы окружности двигались в обратном направлении.
Задание 2 Напишите программу для вывода на экран 500 хаотично двигающихся окружностей произвольного радиуса и цвета. Задание: 1. Откройте новый (чистый) документ Паскаль (File New). 2. Наберите программу для вывода на экран 500 двигающихся окружностей: Начало программы: Program LR_7_2; Uses Crt, Graph; Var GD, GM, K: Integer; Begin Randomize; GD := vga; GM:=2; InitGraph(GD, GM, ''); repeat продолжение программы: for k:=1 to 500 do begin setcolor(random(16)); circle(random(640),random(480), random(20)); end; delay(1000); cleardevice; until keypressed; CloseGraph; end.
3. Запустите программу на выполнение (ctrl+F9). 4. ВНИМАНИЕ! Если при запуске в тексте программы выделяется строка, это значит, что в этой или предыдущей строке допущена ошибка. Исправьте ее и запустите программу снова. 5. Исправьте программу так, чтобы окружности двигались быстрее или медленнее. 6. Измените число окружностей. 7. Найдите в программе команду, ограничивающую радиус окружностей и измените диапазон выбора случайного радиуса.
Задание 3 Напишите программу для вывода на экран полета камня брошенного горизонтально со 100-метровой башни со скоростью V0 = 20 м/с. Примечания: 1. Не забывайте, что ускорение свободного падения g=9.81 2. Чтобы найти путь равноускоренного движения воспользуйтесь формулой: Задание: 1. Нарисуйте башню, землю, камень (маленькая окружность). 2. Затем камень летит. Добейтесь, чтобы время полета камня на экране примерно соответствовало реальному времени, полученному в теоретическом расчете. 3. Нарисуйте траекторию полета камня. Для этого достаточно, чтобы камень оставлял за собой след в виде точек. Указание. В задаче говорится о метрах, а на экране расстояние измеряется в пикселах. Поэтому вам придется задать масштаб, то есть вообразить, что 1 пиксел равен, скажем, 4 метрам. Тогда высота башни будет равна 400 пикселам, начальная скорость камня - 80 пикселам в секунду, и т.д. 4. Откройте новый (чистый) документ Паскаль (File New). 5. Наберите программу для вывода на экран падения камня. 6. Запустите программу на выполнение (ctrl+F9). 7. ВНИМАНИЕ! Если при запуске в тексте программы выделяется строка, это значит, что в этой или предыдущей строке допущена ошибка. Исправьте ее и запустите программу снова. 8. Элементы программы: Начало программы: … Const g=9.81; … Begin … рисование башни, земли, камня … начало математического вычисления t:=0; V:=0; S:=40; repeat SetColor(White); y:=round(S); circle(250,Y,5); delay(1500); t:=t+0.01; S:=S+4*(V+g*Sqr(t)/2); SetColor(Black); circle(250,Y,5); PutPixel(250,y,15) Until S>440; SetColor(White); circle(250,440,5); OutTextXY(20,20,'Press Enter'); readln; … конец программы. .
ОТЧЁТ:Отчет состоит из: 1. Программ, выполненных на языке программирования Turbo Pascal. Программы должны работать и выводить результат на экран. 2. Пояснений к программам (если они необходимы), например алгоритмической структуры программы, математических или физических формул используемых при решении т.д. 3. Ответов на контрольные вопросы к лабораторной работе.
КОНТРОЛЬНЫЕ ВОПРОСЫ:1. Для чего используется процедура ClearDevice? 2. Для чего используется процедура Delay? 3. Каким образом можно организовать движение простых графических объектов на экране с помощью средств программирования Pascal? 4. Какие модули используются при работе с графикой в Pascal? | |
| |
Просмотров: 274 | Загрузок: 3 | |
Всего комментариев: 0 | |