Лабораторно-практическое задание 5
[ Скачать с сервера (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?

Категория: Лабораторные работы | Добавил: shadrinuro
Просмотров: 274 | Загрузок: 3 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar