Урок по теме "Введение понятия цикл, построение циклических структур при помощи оператора DО-L00Р"

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


Обоснование темы: цикл – это базовая структура в алгоритмизации. Практически ни одна серьезная задача не решается без этой конструкции. Очень широк спектр ее применения. Это и игровые программы, и компьютерная графика, и обработка текстов. Цикл используется во всех языках программирования. Кроме того, решение задач с использованием циклических структур, развивает мыслительную деятельность учащихся: анализ, синтез, сравнения и т.д. Для учителя эта тема интересна тем, что она предполагает уроки различных типов: комбинированные, теоретические, лабораторно-практические. Предложенный урок - комбинированный, с элементами игровой технологии.

Цель урока: ввести новые термины «цикл», « переменные цикла», «тело цикла» и подвести учащихся к понятию о существовании различных видов циклических структур.

Задачи урока:

Образовательные: активизировать деятельность учащихся по повторению изученного ранее материала, определить и объяснить понятие цикла, работу оператора DO-LOOP, показать построение алгоритма с использованием циклических структур, организовать практическую работу учащихся на компьютере.

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

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

Ход урока.

Актуализация деятельности учащихся.

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

Вопросы к учащимся:

  1. С какими алгоритмическими структурами мы знакомы?
  2. Что такое линейный алгоритм?
  3. Что такое ветвление?
  4. Какие ветвления бывают?
  5. Как выглядит структура ветвления?
  6. В каких случаях используются эти конструкции?
  7. Какие задачи решаются при помощи команды выбора?

После блока повторений учитель предлагает детям поиграть. Он задумывает целое число от 1 до 100 и просит учащихся его отгадать. Вопросы нужно задавать таким образом, чтобы ответы были «больше», «меньше» или «вы отгадали». Например: мною загадано число 17. Кто-либо из ребят называет число 51. После первого ответа учащихся, если число не отгадано, возникает неопределенность действий. При помощи известных структур они не могут продолжить решение этой задачи. Учитель говорит, что вероятность отгадать загаданное число равна 0.01 и просит учащихся обосновать его мысль. Возникает проблема. Что же делать дальше? И ответ приходит сам. Нужно вернуться назад и назвать новое число. И так продолжать несколько раз до того, как отгадаем число.

Составление блок схемы для предложенной игры.

Учитель ставит проблему перед учащимися: как организовать эту игру на компьютере, чтобы он загадывал число. Если они не могут сразу сообразить, то учитель напоминает о существовании стандартных функций. Учащиеся должны вспомнить о генераторе случайного числа RND и как он работает. Далее преподаватель заостряется внимание учащихся, что наше число целое и лежит в интервале от 1 до 100, поэтому нужно вспомнить формулу

если b<= a<= c, то a = int ((c-b)*rnd +c).

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

Учитель должен обратить внимание детей на то, что в блок-схеме появилось новое направление от блока ветвления вверх. По этой стрелке происходит возврат в нужное место алгоритма до тех пор, пока числа не совпадут. Эта ветвь в программе описывается при помощи оператора DO-LOOP UNTIL («делать до тех пор, пока»). Он имеет вид:

DO-LOOP UNTIL <условие >
DO-LOOP WHILE <условие>

Учитель объясняет работу данного алгоритма. Для закрепления, можно попросить прокомментировать еще раз этот алгоритм одного из учащихся класса.

Практическая работа на компьютере.

Учащимся предлагается самостоятельно составить программу к предложенной блок-схеме и набрать ее на компьютере. В это время учитель исполняет роль консультанта и проверяет правильность набранной программы. Учащихся просят несколько раз запустить программу. В итоге они видят, что машина все время загадывает одно и тоже число. Чтобы этого избежать, нужно ввести оператор RANDOMIZE TIMER. Окончательный вариант программы будет выглядеть следующим образом:

CLS: RANDOMIZE TIMER
DEFINT A-B
A = 99*RND +1
DO
INPUT “Введите число”; B
IF A < B THEN PRINT “Ваше число больше”
IF A > B THEN PRINT “Ваше число меньше”
LOOP UNTIL A=B
PRINT “Вы отгадали число”
END

Для учащихся, которые быстро справились с заданием, можно предложить переделать программу с использованием команды выбора. Кроме этого желательно напомнить: чтобы быстрее отгадать число, нужно предложенный интервал разделить на два равновероятных, т.е. сначала взять число 50, затем в зависимости от ответа оставшийся интервал разделить пополам (25 или 75) и т.д. Можно, при наличии времени, предложить некоторым учащимся доработать программу, введя дополнительное условие: отгадать число за определенное количество ходов. Тогда программа будет иметь следующий вид:

CLS: RANDOMIZE TIMER
DEFINT A-K
A = 99*RND +1
K=0
DO
INPUT “Введите число”; B
K=K + 1
IF A = B THEN
PRINT “Вы отгадали число за”; K; “ходов”: END
ELSEIF A < B THEN
PRINT “Ваше число больше”
ELSE
PRINT “Ваше число меньше”
END IF
LOOP UNTIL K=5
PRINT “Вы исчерпали свои возможности”
END

4. Исследовательская работа учащихся.

Учитель ставит проблему: какие задачи мы можем решить, используя оператор DO-LOOP, т.е. организуя неоднократный повтор действий. Здесь могут появиться самые разные ответы. В ходе диспута принимаются возможные варианты. Это могут быть различные задачи из курсов математики, физики, где несколько раз производятся вычисления по одной формуле. Затем нужно перейти к окружающей природе и жизни общества.

Вопросы к учащимся:

  1. Назовите явления природы, в которых происходит повтор действий?
  2. Как происходит смена времен года?
  3. Как происходит смена дня и ночи?
  4. Как происходит фотосинтез?
  5. Как происходит круговорот воды в природе?
  6. Как происходит жизнь растений?
  7. Какой повтор действий происходит в вашей жизни?
  8. Расскажите о режиме дня.
  9. Расскажите о процессе еды.

Круг возникающих вопросов зависит от активности и уровня мышления учащихся. Если диспут протекает вяло, решающую роль должен взять на себя учитель. В вопросах о явлениях природы следует только перечислить порядок действий. Затем учитель обобщает и говорит о том, что мы с вами должны научиться описывать эти процессы при помощи компьютера. И так как мы начинающие программисты, то понятнее всего начать решать задачи из курса математики, чем мы сейчас и займемся.

5. Решение задач на суммирование чисел.

Задача. Найти сумму всех натуральных чисел.

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

Найти сумму K натуральных чисел.

Объяснение решения задачи производится учителем с привлечением учащихся. Лучше всего решение данной задачи разбить на два этапа. Сначала решим задачу:

вывести на экран k натуральных чисел.

Прежде всего, надо определить, что дано в этой задаче, что нужно найти и вспомнить, какие числа являются натуральными. Затем немного времени отвести на обсуждение используемых в задаче переменных (ребята должны иметь представление о типах переменных). Сначала нужно определить количество переменных, используемых для решения задачи и их тип. В данной подзадаче используется переменная N – для хранения чисел

Затем начинаем составлять алгоритм. Присваиваем переменной N значение первого натурального числа. Тогда на первом этапе мы имеем N: =1 и выводим его на печать. Чтобы присвоить переменной N значение следующего натурального числа нужно к предыдущему добавить 1. Таким образом, получаем формулу N: = N+1. Кроме этого, необходимо поинтересоваться, сколько чисел нам надо вывести на экран, какой структурой воспользоваться и какое условие взять для ограничения. Когда все основные моменты обговорены, можно составить программу. Она будет иметь вид:

CLS
REM Вывод натуральных чисел
DIM k, n AS INTEGER
INPUT “Введите количество чисел”; k
n=0
DO
n= n + 1
PRINT n;
LOOP WHILE n<=k
END

Теперь можно перейти к обсуждению второй части задачи. Здесь уже учащиеся по аналогии должны увидеть, что необходимо ввести еще одну переменную для суммирования чисел, определить ее значение и вывести формулу. Можно ученика с высоким уровнем мыслительной деятельности, вызвать к доске и попросить его нарисовать блок-схему к предложенной задаче. Учитель только направляет и помогает ему. Затем все учащиеся класса самостоятельно пишут программу и набирают ее на компьютере.

Рисунок

CLS
REM сумма натуральных чисел
DIM k, n, S AS INTEGER
INPUT “Введите количество чисел”; k
S=0 : n=1
DO
S=S + n
n=n +1
LOOP WHILE n<=k
PRINT “S=’; S
END

Далее, при наличии времени, учащимся предлагается найти сумму членов следующих рядов:

S = 3/2 + 4/5 + 5/8 + 6/11 + ….. + 22/59
S = 0 + 1/5 + 2/7 + 3/9 +… + 16/35/
S = 1/4 + 3/5 + 5/6 + 1 + ….. + 41/24
S = 3/4 + 7/6 + 11/8 + 15/10 + ….. + 59/32

6. Введение определений.

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

Цикл - это такая форма организации действий, при которой одна и та же последовательность действий выполняется многократно.
Последовательность действий, которая выполняется неоднократно, называется телом цикла.

Сегодня на уроке мы с вами познакомились с организацией цикла при помощи оператора DO-LOOP. Но в начале урока вам было сказано, что существует несколько видов циклических структур. С ними мы постепенно познакомимся на следующих уроках.

7. Домашнее задание.

Учитель просит детей записать задание на дом по учебнику А. Г. Гейна, В. Г. Житомерского и др. Прежде всего, это теория. Прочитать параграф 10 и подготовить свои собственные примеры к этому параграфу. Устно рассмотреть № 2, 3 на стр. 69. Составить блок-схему и программу к № 9 на стр. 74. Обязательно нужно прочитать условие задачи в классе и вспомнить, какие числа называются обратными. Можно при наличии времени определить количество и тип переменных.

8. Подведение итогов.

Вопросы к учащимся.

  1. С какой новой структурой мы познакомились?
  2. Какие процессы можно описать ее используя?
  3. Что обозначает оператор DO-LOOP?
  4. Как на блок-схеме он обозначается?
  5. С какими новыми понятиями мы познакомились?
  6. Для чего нужно вводить ограничения?

Круг вопросов каждый учитель может расширить по своему усмотрению. В заключение преподаватель высказывает свое мнение об уроке и работе учеников, объявляет оценки, если они есть.