Создание имитации движения с помощью циклических операторов

Разделы: Информатика


Цели:

  • Привить первичные навыки составления циклических программ на языке Бейсик;
  • Развивать интерес к решению задач нестандартного вида;
  • Формировать навыки самостоятельной работы;
  • Способствовать развитию у учащихся познавательного интереса, логического мышления.

Ход урока

1. (10 минут).

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

Двое учащихся выходят к доске. Один записывает общую схему циклического алгоритма (с комментариями).

Учитель: Чем отличается цикл с предусловием (пока) от цикла с постусловием (до)?

Что такое параметр цикла?

Второй ученик в это время записывает алгоритм решения задачи: нахождение суммы пяти любых чисел. Результат проверяет учитель совместно с классом.

2. (10 минут).

Учитель: Изучая на предыдущих уроках операторы IF и GOTO , мы уже говорили о том, что их можно использовать для записи циклических алгоритмов. Однако в Бейсике есть специальные операторы для этой цели, позволяющие создавать более компактные программы. Это операторы FOR и NEXT.

(На доске общий вид циклических операторов).

X – переменная цикла.
I – параметр цикла.

Учитель: В заголовке цикла мы задаём начальные значения только для параметра цикла. Оператор заголовка цикла состоит иногда из двух слов FOR- TO, а иногда из трёх FOR -TO-STEP . Первая форма- частный случай второй более общий. При шаге, равном 1 (не менее 90% всех циклов используют шаг, равный 1), слово STEP можно не писать. Есть ещё дополнительные возможности – шаг может быть не только целым положительным числом.

Попробуйте применить полученные знания для написания программы по алгоритму нахождение суммы пяти любых чисел. (один ученик работает у доски)

DIM A (5)
INPUT “Введите 5 чисел”; A(1), A(2), A(3), A(4), A(5)
S = 0
FOR I=1 TO 5
S = S + A(i)
NEXT I
PRINT “Сумма равна”; S

Обратить внимание: Если массив из ста чисел? Как проще его ввести? Подумайте над этим дома.

3. (20 минут).

Учитель: Итак, мы познакомились с основными циклическими операторами языка Бейсик и перевели простейший циклический алгоритм на машинный язык. Сейчас мы попытаемся применить полученные знания для создания на экране имитации движения.

Начинаем написание программы, которая называется “Тараканьи бега” – заставим двигаться по экрану несколько таракашек.

- Попробуйте изобразить имитацию движения круга в плоскости доски. (рисует ,стирает и так до конца доски).
- Какие действия повторяются? (рисует, стирает)
- Какие операторы языка Бейсик помогут нам записать эти действия? (PRINT, CLS)
- Мы будем рисовать фигуру каждый раз на одном месте? (нет)
-
Какой оператор поможет нам рисовать фигуру с заданной позиции? (TAB(I))
- Итак, начальное значение цикла I= 1, конечное значение 300, шаг равен 1.

Попробуйте написать программу.

FOR I=1 TO 300
PRINT TAB(I); “Ж”
CLS
NEXT I

- Почему мы практически не заметили движение фигуры на экране? Вспомните, каково быстродействие компьютера? (более 1 мил. операций в секунду)
- Какое ещё нужно действие, чтобы замедлить движение фигуры? (задержать, т.е нарисовать, задержать, стереть)

Действия записать на доске: нарисовать, задержать, стереть.

- Нам нужно заставить компьютер выполнять команду, результат которой не будет отображаться на экране. Какую простейшую команду может выполнять компьютер? (счёт)
- Давайте попросим его посчитать, скажем, от 1 до 1000. какую конструкцию языка Бейсик здесь можно применить? (цикл)

FOR G=1 TO 1000
NEXT G

- Такой цикл называется пустым. Давайте допишем нашу программу.

FOR I=1 TO 300
PRINT TAB(I); “Ж”
FOR G=1 TO 1000
NEXT G
CLS
NEXT I

- Посмотрите программа похожа на матрёшку (цикл в цикле). Такие циклы называются вложенными, и мы подробнее поговорим об этой конструкции на следующем уроке при составлении программ с массивами.

Итак, один таракашка у нас побежал, но их должно быть несколько (хотя бы 3). Дополните свою программу.

FOR I =1 TO 300
PRINT TAB(I); “Ж”
PRINT TAB(I); “Ж”
PRINT TAB(I); “Ж”
FOR G=1 TO 1000
NEXT G
CLS
NEXT I

- Теперь все тараканы бегут одновременно. Это не похоже на соревнование. Подумайте, что нужно изменить в вашей программе, чтобы их бег соответствовал разным позициям?

FOR I=1 TO 300
PRINT TAB(I); “Ж”
PRINT TAB(I+10); “Ж”
PRINT TAB(I+5); “Ж”
FOR G=1 TO 1000
NEXT G
CLS
NEXT I

4. (5 минут).

Учитель: Подведём итог урока. Что нового вы узнали сегодня на уроке? (Мы познакомились с циклическими операторами языка Бейсик. Научились применять их для составления простейших циклических программ и создавать имитацию движения. Познакомились с понятиями “пустой цикл” и “вложенные циклы”).

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