Цели:
- Привить первичные навыки составления циклических программ на языке Бейсик;
- Развивать интерес к решению задач нестандартного вида;
- Формировать навыки самостоятельной работы;
- Способствовать развитию у учащихся познавательного интереса, логического мышления.
Ход урока
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 минут).
Учитель: Подведём итог урока. Что нового вы узнали сегодня на уроке? (Мы познакомились с циклическими операторами языка Бейсик. Научились применять их для составления простейших циклических программ и создавать имитацию движения. Познакомились с понятиями “пустой цикл” и “вложенные циклы”).
Домашнее задание: написать программу умножения любых ста чисел. Творческое задание: нарисовать бегущего человечка.