Цикл со счетчиком

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


Проблемы никогда нельзя разрешить
с тем же образом мыслей, который их породил.

А. Эйнштейн.

Хотелось бы отнести приведенный урок к Методике развития критического мышления. По моему скромному мнению весь процесс изучения предмета "Информатика" должен быть построен на принципе "конструирования собственных знаний в рамках своей собственной поисковой деятельности". И главный акцент я ставлю на построение (создание) алгоритмов. Аспект этот сложный, но весьма заманчивый, с точки зрения развития логического мышления и воображения. Хотя в последнее время наблюдается "суровая алгоритмизация" всех школьных предметов. Дабы облегчить процедуру восприятия учителя прибегают к самым различным способам и методам. Главное при этом, на мой взгляд, чувство меры – играя, не "заигрывать". В приведенном примере все эмоции опущены, и я постаралась изложить его максимально "сухо".

Почему цикл? Согласно практике (моей) – анализ циклов вызывает затруднения и наибольшее число ошибок, поэтому делается акцент на цикл. Почему со счётчиком? А если с ним разобраться сразу и основательно, остальные даются "легко и непринуждённо".

Зададим структуру урока.

Предположим, урок содержит три основных этапа (таких родных и близких).

  1. Актуализация знаний.
  2. Изучение нового материала.
  3. Применение приобретенных знаний и отработка навыков.

1. Актуализация.

Пытаемся пробудить (вызвать из памяти), систематизировать и конкретизировать то, что ученики уже знают. Контекстом (направлением) является тема урока. На обилие (или отсутствие) высказываний делаем свои уточнения, дополнения, ставим акценты, привлекаем внимание к содержательной линии урока всеми доступными средствами.

2. Новая информация.

Выдаём по иерархическому принципу, то есть "потомок может иметь только одного родителя, а родитель может иметь множество потомков". Здесь, пожалуйста, и кластеры, и домены, и суффиксы, и префиксы. А в терминах ООП (объектно-ориентированного программирования) – классы, образцы класса, наследуемые признаки, и т.д. и т.п. Ещё иногда называют "маяковый" метод – "в темную большую комнату кидают факелы, а затем разглядывают, что вокруг них". Главное – каждый сам для себя фиксирует нужную информацию, и разные записи конспектов приветствуются, как и разные формулировки.

3. Закрепление.

Главное, на мой взгляд, дать почувствовать каждому ученику уверенность в совершаемых действиях. Решающим являются навыки самоконтроля и самопроверки – всегда есть множественность выбора (хотя бы два). Если выбора нет, это должно вызвать подозрение на ошибочность рассуждений. Хорошо, если один высказывается, а другой ищет слабые места или нечто аналогичное. Возможен похожий диалог с компьютером. И даже интерактив здесь будет уместен.

Попробуем примерить сказанное к циклу со счётчиком. Предполагается, что ученикам известен графический способ записи алгоритмов, линейные алгоритмы и алгоритмы с ветвлением, но циклические структуры ещё не знакомы. Кроме того, они знают операции присваивания и сравнения, основные алгебраические действия.

Первый вопрос зададим в лоб: — Какие образы, впечатления, ассоциации у вас вызывает слово "цикл"? (Высказывания учеников).

— Попробуйте сформулировать определение цикла на основе того, что мы только что услышали. (Высказывания учеников).

— Цикл, дословно с греческого – круг. Какие действия можно назвать циклом? (Высказывания учеников).

— Итак, цикл – повторяющееся действие. А может действие повторяться бесконечно? Что бы нам ещё хотелось? (Высказывания учеников).

— Итак, цикл – повторяющееся действие + условие.

Можно вспомнить сказки – дед тянул репку, позвал бабку, позвал внучку, позвал Жучку и т.д. Какое действие? Тянул. Какое условие? Пока не вытянул. Другие примеры циклов.

— А теперь вспомните "семь раз отмерь – один раз отрежь". Какое условие? (Высказывания учеников).

— Да, здесь считаем. Для счёта надо задать начало и конец – от .. и до .. (Высказывания учеников).

— Начинать можно с "0", с "1", да и вообще с чего угодно! Как Робинзон Крузо считал дни? (Ставил зарубки).

— А начал он с какого числа? (С того, когда попал на остров).

— Другие ставят палочки на листке бумаги, иногда одну за несколько единиц. Кто покупал куриные яйца? Как их вам считали? (Парами).

— Это называется шагом. Можно считать десятками, сотнями, любым удобным шагом.

— Итак, действие, выполняемое определенное количество раз – это цикл со счётчиком. Здесь нужен помощник, который следит от какого до какого и через сколько. Вот этот помощник и есть счётчик. Вы сдаёте норматив по подтягиванию на перекладине, а кто-то стоит рядом и считает. Изобразим:

— Для записи на языке программирования нам понадобится переменная счётчика, а что ещё? (Начальное её значение, конечное значение и шаг).

— А какой минимум служебных слов? (Высказывания учеников).

— Минимум 4 служебных слова: "для" For, "до" To, "шаг" Step, "следующий" Next.

Синтаксис:

For x=1 To 10 Step 2
<действие>
Next x

Читаем: для икс от 1 до 10 с шагом 2 делаем <действие> следующий икс.

Если шаг равен единице (что бывает очень часто), то Step не пишется (говорят "по умолчанию — default — шаг равен единице"). Теперь рассмотрим пример:

For x=3 To 10 Step 5
y= x*x
Next x

— Проанализируем, сколько шагов сделает цикл? Какое значение икс получит по завершении цикла? (Ответ: 2 шага, x=13).

— А какое значение будет у игрек? (Ответ: y=64).

— Переменная цикла может изменяться в цикле. Сами считаем:

For x=2 To 6 Step 2
x= x+x
Next x

(Ответ: 2 шага, x=14).

— Подробно (кто-нибудь, кто быстро въехал):

Шаг 1

x=2 (присвоили переменной цикла начальное значение).

x=2+2 (теперь x=4).

x=4+2 (Next к x прибавляется шаг, теперь x=6).

6>6 (сравниваем переменную цикла с конечным значением) – нет – возврат.

Шаг 2

x=6+6 (новое значение x=12).

x=12+2 (Next к x прибавляем шаг, теперь x=14).

14>6 (сравниваем x с конечным значением) – да – стоп, выход из цикла.

Теперь сами пыхтим над заданиями. Разбиваемся на группы (например, по два человека).

— Я вам даю ответ примера с отрицательным шагом, а вы сами определите (догадайтесь здесь нехорошее слово – нужна уверенность), что здесь меняется и выполните упражнения.

For x=9 To 2 Step -5
x= x+1
Next x

— Цикл совершит 2 шага, а переменная цикла на выходе будет =1.

Делают упражнения по карточкам.

— Следующий раз разберём выход из цикла по условию и рассмотрим циклы с пост- и предусловием.

Подводим итоги. Награждаем хвалебными словами. Высказываем замечания. Задаём и, при необходимости, поясняем домашнее задание.

Один из вариантов самостоятельной работы

  1. Определите, какое количество раз выполняются операторы цикла?
  2. FOR X = 10 TO 12 STEP 2
    Y = X*X
    NEXT X

  3. Определите, какое значение примет переменная цикла:
  4. FOR X = 3 TO 5
    X = X+1
    NEXT X

  5. Определите, какое значение примет переменная цикла:
  6. FOR X = 1 TO 12 STEP 5
    X = 2*X
    NEXT X

  7. Определите, какое значение примет переменная цикла:
  8. FOR X = -2 TO 1
    X = -X
    NEXT X

  9. Определите, какое значение примет переменная цикла:
  10. FOR X = 3 TO 1 STEP –2
    X = X-2
    NEXT X

  11. Определите, какое значение примет переменная цикла:
  12. FOR X = 14 TO 19 STEP 6
    X = 6*X
    NEXT X

  13. Какое значение выдаст программа на экране монитора?
  14. FOR X = 4 TO 12 STEP 5
    X = 2*X
    IF X>7 THEN EXIT FOR
    NEXT X

  15. Какое значение выдаст программа на экране монитора?

FOR X = 1 TO 17 STEP 9
IF X>12 THEN EXIT FOR
X = 2*X
NEXT X

Ответы

1 2 3 4 5 6 7 8
2 7 19 3 -1 90 8 31