Конспект урока по информатике на тему Циклические алгоритмы. Цикл с предусловием
КОНСПЕКТ УРОКА ПО ИНФОРМАТИКЕ.
Раздел программы: «Алгоритмизация»
Тема урока: «Циклические алгоритмы. Цикл с предусловием».
Тип урока: изучение нового материала.
Цели урока:
определить роль и масштабность циклических алгоритмов в повседневной жизни;
показать необходимость автоматизации циклических алгоритмов;
сформулировать определения цикла и циклического алгоритма и необходимость их использования для компактности и понятности записи алгоритма;
рассмотреть структуру цикла с предисловием, его работу и блок-схему;
научить составлять циклические алгоритмы и исполнять их формально;
научить анализировать фрагменты, содержащие циклы.
Задачи урока:
Воспитательная
-развитие познавательного интереса к теме;
- формирование коммуникативных качеств: обсуждение ситуаций, умение слушать, высказывать свои суждения и аргументировать их.
Образовательная
-дать представление о циклических алгоритмах;
- научить составлять циклические алгоритмы и исполнять их формально;
- научить анализировать фрагменты, содержащие циклы;
- научить составлять блок-схемы к алгоритмам, содержащим цикл с предусловием и по блок-схеме «читать» алгоритм.
Развивающая
- развивать мышление, память, кругозор, умение анализировать ситуации;
- формирование у учащихся умения вести полемику, аргументировать свою точку зрения.
Форма урока: лекция
План урока.
Организационный момент.
Объяснение нового материала.
Закрепление нового материала в ходе решения задач.
Рефлексия.
Домашнее задание.
Организационный момент (проверка готовности к уроку, отсутствующих)
Объяснение нового материала.
В течение дня, недели, месяца нам приходиться выполнять однообразные действия, причем многократно. Так, изо дня в день мы совершаем алгоритм, который условно можно назвать «Моя рабочая неделя». Действительно, каждый день (за исключением выходных), мы после пробуждения совершаем утренние процедуры, завтракаем, идем в школу (на работу), приходим из неё, обедаем, отдыхаем, делаем уроки, гуляем, ужинаем, ложимся спатьИ так все 5 дней, каждую неделю, за исключением каникул!
Мы циклически повторяем одни и те же действия каждый день. И если делать это без отдыха или перерыва, то можно сойти с ума, или, говорят компьютерным языком «зациклиться»!
Очень многие алгоритмы, выполнение которых поручается компьютеру, по своей природе являются циклическими. И это не случайно, потому что человек обычно поручает машине рутинную работу, где нужно много считать (и счет производится по некоторым одинаковым правилам) или эта работа однообразна (штамповка изделий, конвейерный метод и т.д).
Определение.
Цикл – это последовательность операторов, которая может выполняться более одного раза.
Определение.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Существуют удобные конструкции для организации циклов:
цикл с предусловием;
цикл с постусловием;
цикл со счетчиком (или параметром).
Познакомимся с первым из них – оператором цикла с предусловием ПОКА.
Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.
Общая форма записи следующая:
ПОКА <условие>
НЦ
Серия команд (тело цикла)
КЦ
При выполнении оператора ПОКА определенная группа команд выполняется до тех пор, пока определенное в операторе ПОКА булево условие истинно. Если условие сразу ложно, то группа операторов не выполнится ни разу.
Циклом удобно пользоваться тогда, когда одинаковые действия повторяются некоторое число раз.
Вспомним, как Том Сойер красил забор. Тетушка Поли тогда сказала Тому: «Крась до тех пор, пока забор не кончится». Тем самым она определили ему условие. В чем же состояли действия Тома?
- Он подошел к правому краю забора,
- окунул кисть в ведро с краской,
- покрасил доску, повторяются
- передвинулся вправо,
- окунул кисть в ведро с краской,
- покрасил доску,
- передвинулся вправо, и т.д.
Мы видим, что три действия повторяются многократно, и если бы мы записывали этот алгоритм линейно, то он был бы слишком громоздким (количество досок в заборе не малое!)
Поэтому целесообразно оформить этот алгоритм с использованием цикла с предусловием.
АЛГ покраска забора
НАЧ
Подойти к правому краю забора
ПОКА забор не окончен
НЦ
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо
КЦ
Пойти гулять
КОН.
Заметим, что условие могло быть и другим. Например,
ПОКА не позовут обедать
ПОКА не кончится краска
ПОКА не устанешь и т.д.
Рассмотрим формальное исполнение этого алгоритма. Пусть для простоты в заборе 3 доски.
НАЧ
Подойти к правому краю забора
ПОКА забор не окончен (да, мы только к нему подошли)
НЦ
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо (действия выполнились первый раз)
КЦ
Далее исполнитель идет в проверку условия.
ПОКА забор не окончен (да, покрашена только 1 доска)
Значит, снова будет выполняться тело цикла, т.е. последовательность из трех повторяющихся команд.
НЦ
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо (действия выполнились второй раз)
КЦ
Далее исполнитель снова идет в проверку условия.
ПОКА забор не окончен (да, покрашено только 2 доски)
Значит, снова будет выполняться тело цикла, т.е. последовательность из трех повторяющихся команд.
НЦ
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо (действия выполнились третий раз)
КЦ
Далее исполнитель снова идет в проверку условия.
ПОКА забор не окончен (нет, он окончен, и мы покрасили все три доски, т.е. условие не выполняется).
Если условие уже не выполняется, то исполнитель уходит за цикл и выполняет команды за циклом.
В частности, это команда
«Пойти гулять».
На этом выполнение алгоритма закончено.
Заметим, что действие за циклом выполняется всего один раз.
Этих действий могло быть несколько, например,
«Отнести ведро в сарай»
«Помыть руки»
«Пойти обедать», но, тем не менее, они выполнятся однократно, т.к. находятся за циклом.
Составим блок-схему для этого алгоритма.
13 SHAPE \* MERGEFORMAT 1415
Вопросы: В какой ещё алгоритмической структуре встречается условие? Чем действия этой структуры отличаются от работы цикла с предусловием?
Рассмотрим несколько примеров.
Вы пошли в школьный буфет купить булочку. По дороге Вам встретился Злоумышленник и предложил воспользоваться таким алгоритмом для покупки булочки:
АЛГ булочка
НАЧ
ПОКА не исчезло чувство голода
НЦ
купить булочку
КЦ
Съесть булочку
КОН
Вопросы: Удастся ли Вам полакомиться булочкой? Что нужно изменить в алгоритме?
2) Вам задали решить на завтра 10 задач по физике. Идя домой, Вы встретили Злоумышленника и он опять-таки предложил Вам свой алгоритм:
АЛГ задачки
НАЧ
ПОКА не решены все задачи
НЦ
Решить одну
Пойти гулять
КЦ
КОН.
Вопрос: На завтра Вы получили «2». Почему? Что надо исправить в предложенном алгоритме?
ВЫВОД: месторасположение команды (в цикле или за ним) имеет большое значение и влияет на результат алгоритма.
А теперь рассмотрим не словесные задачи, а математические.
III. Закрепление нового материала в ходе решения задач.
Задача 1. Вычислить сумму однозначных чисел.
Заметим, что такую задачу мы взяли для простоты формального исполнения. Аналогичным образом решаются задачи на нахождение суммы любого ряда чисел.
ОБСУЖДЕНИЕ.
1. Какие числа нам придется складывать? (1, 2, 9)
2. Какие переменные для этого нам понадобятся? (N- для записи всех чисел и S- для их суммы)
3. Какого типа эти переменные? (натуральные, но в дальнейшем выясниться, что их тип целый)
4. Сколько раз мы должны будем складывать числа между собой? (Девять)
5. Если мы будем проделывать одно и то же действие девять раз, то какой структурой целесообразно воспользоваться? (Циклом)
АЛГ сумма однозначных чисел
АРГ N: цел
РЕЗ S: цел
НАЧ
S:=0 {обнуление ячейки S}
N:=0 {первое однозначное число}
ПОКА N<10
НЦ
N:=N=+1 {формула перехода к следующему элементу}
S:=S+N {формула суммирования}
КЦ
КОН.
ОБСУЖДЕНИЕ (продолжение)
6. Какие команды относятся к «телу цикла»? (N:=N=+1 и S:=S+N)
7. Что произойдет, если команды в «теле цикла» поменяем местами? (сумма вычисляется неправильно)
8. Внесем некоторые изменения в начальные присваивания.
Пусть S:=0; N:=1. Что изменится?
9. Каким образом нужно изменить команды в «теле цикла», чтобы алгоритм работал правильно? (поменять местами)
10. Можно ли записать в качестве условия N( 9? (Да)
Задача 2. Составить алгоритм, вычисляющий сумму двузначных чисел от 20 до 45 включительно.
АЛГ сумма двузначных чисел
АРГ N: нат
РЕЗ S: цел
НАЧ
S:=0 {обнуление ячейки S}
N:=20 {первое двузначное число из предлагаемых}
ПОКА N<46
НЦ
S:=S+N {формула суммирования}
N:=N=+1 {формула перехода к следующему элементу}
КЦ
КОН.
Задание. 1) Исполните формально данный алгоритм для чисел от 20 до 25.
Изобразите блок-схему для этого алгоритма.
IV. РЕФЛЕКСИЯ
- Что для вас было информативно?
- Что было трудным?
- Что произвело впечатление, удивило?
- Чему научился?
- Дома я сделаю
V. Домашнее задание.
1. Повторить теоретический материал.
2. Вычислить сумму S= 12+22+32++252
3. Используя Задачу 1 из занятия, составьте алгоритм нахождения произведения однозначных чисел.
4. В первый день спортсмен пробегает 10 км, а в каждый следующий на 2 км больше, чем в предыдущий. Сколько км. пробежит спортсмен за неделю? Составить алгоритм решения задачи и исполнить его формально.
Синдеева Ю. И. 9 класс АЛГОРИТМИЗАЦИЯ
НАЧАЛО
Подойти к правому
краю забора
Забор не окончен
Окунуть кисть
в ведро
Покрасить доску
Передвинуться вправо
Пойти гулять
КОНЕЦ