Моделирование движения объектов

Цели урока:

Обучающие (конечные результаты урока):

Знание: знать, что представляют собой процесс движения, как его организовать в Qbasic.

Понимание: уметь привести примеры  движения, которые можно смоделировать на ЭВМ.

Применение: уметь составить программу, реализующую движение по заданной траектории, проверить ее на ЭВМ.

Анализ: уметь определить результаты работы строк из программы, выявить ошибки.

Синтез: уметь создать моделирующую программу с использованием  движения.

Сравнительная оценка: сравнить между собой программы с использованием движения в графическом и текстовом режимах.

 

Развивающие: развитие общеучебных умений и навыков, воображения и фантазии.

Воспитательные: воспитание ученика самостоятельной, организованной личностью.

 

Оборудование:

компьютерный класс, язык программирования Qbasic, презентация по теме урока, проектор к ЭВМ, экран, карты урока, карточки с правильными ответами для самоконтроля, демонстрационные программы. 

Ход урока:

Наш урок посвящен практическому применению операторов организации циклов. С их помощью мы научимся моделировать на компьютере процесс движения различных объектов.

Моделирование - это форма отражения действительности, а так как мы будем описывать движение на языке программирования, то  полученные модели называют информационными.

Говоря о движении, сразу вспоминается крылатое выражение «Движение – это жизнь». И действительно, кто не хотел, чтобы неподвижная картинка на экране «ожила». Например, на ней пошел бы «настоящий» снег, неподвижный кораблик поплыл, а стрелки часов начали бы свой ход. Этому «волшебству» мы можем научиться сегодня на уроке.

Итак, вы узнаете,

-       как смоделировать процесс движения по прямой;

-       рассмотрите примеры программ;

-       научитесь «оживлять» объекты;

-       проанализируете готовые программы;

-       сравните процесс движения в графическом и текстовом режимах.

Что такое движение? С физической точки зрения движение – это изменение положения тела с течением времени. Для начала мы будем моделировать движение простых объектов– точки, окружности, линий. Вспомним их форматы записи.

У каждого объекта выбирается точка с координатой (x,y), положение которой будет меняться. Если для окружности – это координата центра, то у линии (прямоугольника) - это только одна из точек.

Если мы хотим перемещать символы по экрану, то нам потребуются операторы: LOCATE для выбора положения символа и PRINT для его печати.

Каковы правила моделирования движения?

1)      Выберем координаты.

2)      Изобразим объект.

3)      Сделаем паузу.

4)      Сотрем объект (закрашивая его цветом фона, или на месте удаляемых символов будем печатать пробелы).

5)      Выберем следующие координаты.

Хотелось бы обратиться к еще одному высказыванию О. Холмз: «В нашей жизни важно не столько положение, в котором мы находимся, сколько направление, в котором мы движемся». Помимо глубокого философского смысла, оно имеет самое прямое отношение к моделированию движения.

Для перемещения очень важно, по какой траектории будет двигаться объект: по прямой (в горизонтальном или вертикальном направлениям), или графикам различных функций. Сегодня мы уделим внимание только движению по прямой (в горизонтальном и вертикальном направлении).

Тренинг 1. Движение по горизонтали.

Определите по приведенным траекториям следующие данные и занесите в таблицу:

 

 номер графика

координата X меняется

координата Y

от

до

шаг

1

 

 

 

 

2

 

 

 

 

3

 

 

 

 

4

 

 

 

 

5

 

 

 

 

 

Составьте программу, моделирующую движение точки по траектории графика №_____.

Тренинг 2. Движение по вертикали.

Определите по приведенным траекториям следующие данные и занесите в таблицу:

 номер графика

координата X

координата Y меняется

от

до

шаг

1

 

 

 

 

2

 

 

 

 

3

 

 

 

 

4

 

 

 

 

5

 

 

 

 

 

Составьте программу, моделирующую движение точки по траектории графика №_____.

 Тренинг 3.

Определите по приведенным строкам программы направление, в котором движется объект  (вверх, вниз, вправо или влево по экрану), обозначьте направление стрелками:

1) FOR Y= 5 TO 100 STEP 10         _____________________________

2) FOR X= 1 TO 400 STEP 1           _____________________________

3) FOR X= 300 TO 40 STEP -10      _____________________________

4) FOR Y= 200 TO 10 STEP -10      _____________________________

5) FOR Y= 105 TO 3 STEP 10         _____________________________

6) FOR X= а TO a-100 STEP -10_____________________________

Тренинг 4.

Определите результат выполнения программы:

CLS
SCREEN 12
FOR Y= 5 TO 25 STEP 1
X=10
LOCATE Y,X
PRINT “ *”
SLEEP 1
LOCATE Y,X
PRINT “  ”
NEXT Y
FOR Х= 10 TO 60 STEP 1
Y= 25
LOCATE Y,X
PRINT “ *”
SLEEP 1
LOCATE Y,X
PRINT “  ”
NEXT Х
END

Упражнения

  1. В предложенной программе внести следующие изменения:
    1. чтобы точка двигалась по заданной траектории из тренинга 1;
    2. чтобы точка двигалась по заданной траектории из тренинга 2;
    3. чтобы двигалась не точка, а окружность (радиус = 30);
    4. чтобы окружность  двигалась в обратном направлении;
    5. чтобы двигался закрашенный прямоугольник со сторонами 50 и 30.

 

Подсказка. Форматы записи:

 

окружность                                 CIRCLE (X, Y), R, C

закрашенный прямоугольник  LINE (X,Y) – (X1,Y1), C, BF

 

Составить программу для моделирования движения символов по экрану, составляющих любое из предложенных слов:

 

Домашнее задание:

 

1)      Смоделируйте на компьютере сюжет русской народной сказки «Колобок». Изобразите дорогу-лабиринт и колобка, который ее успешно преодолевает.

 

2)      Действие одного из компьютерных вирусов на экране проявлялось тем, что напечатанные символы «ссыпались» вниз. Составьте программу, которая моделировала бы данный процесс.

 

3)      Видоизмените программу, так, чтобы пользователь печатал слово в произвольном месте экрана, но его «постигала бы та же участь».

 

 

 

Подведение итогов урока.

Ответьте на вопросы:

1)      Как организуется движение по горизонтальной траектории?

2)      Как смоделировать движение по вертикали?

3)      В чем отличие моделирования движения графических объектов и текстовых символов?

4)      Какие процессы можно смоделировать, пользуясь полученными на уроке знаниями?