Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович Проблемы никогда нельзя разрешить с тем же образом мыслей, который их породил. А. Эйнштейн. Тема урока: «Оператор повторения. Циклы» Обоснование темы: цикл – это базовая структура в алгоритмизации. Практически ни одна серьезная задача не решается без этой конструкции. Очень широк спектр ее применения. Это и игровые программы, и компьютерная графика, и обработка текстов. Цикл используется во всех языках программирования. Кроме того, решение задач с использованием циклических структур, развивает мыслительную деятельность учащихся: анализ, синтез, сравнения и т.д. Для учителя эта тема интересна тем, что она предполагает уроки различных типов: комбинированные, теоретические, лабораторно-практические. Предложенный урок комбинированный, с элементами игровой технологии. Тип урока: Изложение нового материала. Цель урока: ввести новые термины «цикл», « переменные цикла», «тело цикла» и подвести учащихся к понятию о существовании различных видов циклических структур. Создание условий для развития познавательного интереса и логического мышления учащихся через анализ условия задач, возникающих на практике. Создание условий для применения имеющихся знаний на различном уровне (репродуктивном и творческом) за счет дифференцированных заданий. Задачи урока: Образовательные: активизировать деятельность учащихся по повторению изученного ранее материала, определить и объяснить понятие цикла, показать построение алгоритма с использованием циклических структур, организовать практическую работу учащихся на компьютере. Воспитательные: организовать на уроке атмосферу сотрудничества и свободу высказываний, повышение мотивации учащихся путем использования игрового изложения материала, формирование гуманных отношений. Развивающие: организовать исследовательскую деятельность учащихся в рамках урока, провести интеграцию информатики с предметами естественно-географического цикла, развить логическое мышление, воображение, умение анализировать, выделять главное, обобщать и делать выводы. Ход урока. Актуализация деятельности учащихся. Учитель с помощью заранее продуманных вопросов старается напомнить учащимся ранее изученные конструкции и, применяя фрагмент игровой технологии, пробудить у учащихся интерес к поставленной теме. Вопросы к учащимся: 1. С какими алгоритмическими структурами мы знакомы? Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович 2. Что такое линейный алгоритм? 3. Что такое ветвление? 4. Какие ветвления бывают? 5. Как выглядит структура ветвления? После блока повторений учитель предлагает детям поиграть. Он задумывает целое число от 1 до 100 и просит учащихся его отгадать. Например: мною загадано число 17. Кто-либо из ребят называет число 51. После первого ответа учащихся, если число не отгадано, возникает неопределенность действий. Возникает проблема. Что же делать дальше? И ответ приходит сам. Нужно вернуться назад и назвать новое число. И так продолжать несколько раз до того, как отгадаем число. 4. Исследовательская работа учащихся. Учитель ставит проблему: какие задачи мы можем решить, т.е. организуя неоднократный повтор действий. Здесь могут появиться самые разные ответы. В ходе диспута принимаются возможные варианты. Это могут быть различные задачи из курсов математики, физики, где несколько раз производятся вычисления по одной формуле. Затем нужно перейти к окружающей природе и жизни общества. Вопросы к учащимся: 1. Назовите явления природы, в которых происходит повтор действий? 2. Как происходит смена времен года? 3. Как происходит смена дня и ночи? 4. Как происходит фотосинтез? 5. Как происходит круговорот воды в природе? 6. Как происходит жизнь растений? 7. Какой повтор действий происходит в вашей жизни? 8. Расскажите о режиме дня. - - - - -- - - - - - - - - -- - - -- - - - Первый вопрос зададим в лоб: — Какие образы, впечатления, ассоциации у вас вызывает слово "цикл"? (Высказывания учеников). — Попробуйте сформулировать определение цикла на основе того, что мы только что услышали. (Высказывания учеников). — Цикл, дословно с греческого – круг. Какие действия можно назвать циклом? (Высказывания учеников). — Итак, цикл – повторяющееся действие. А может действие повторяться бесконечно? (Высказывания учеников). — Итак, цикл – повторяющееся действие + условие. Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович Можно вспомнить сказки – дед тянул репку, позвал бабку, позвал внучку, позвал Жучку и т.д. Какое действие? Тянул. Какое условие? Пока не вытянул. Другие примеры циклов. — А теперь вспомните "семь раз отмерь – один раз отрежь". Какое условие? (Высказывания учеников). — Да, здесь считаем. Для счёта надо задать начало и конец – от .. и до .. (Высказывания учеников). — Начинать можно с "0", с "1", да и вообще с чего угодно! Как Робинзон Крузо считал дни? (Ставил зарубки). — А начал он с какого числа? (С того, когда попал на остров). Алгоритм циклической структуры – это алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий. На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз. Многократное повторение последовательности действий называется циклом, а многократно повторяющиеся действия – телом цикла. Изучение циклов демонстрирует учащимся главное преимущество компьютера перед человеком – выполнение большого числа действий за короткое время. Ведь даже весьма короткий циклический алгоритм, составить который не так уж долго, при исполнении может потребовать выполнения нескольких сотен действий, с которыми компьютер справится намного быстрее, чем человек. Учащиеся должны уметь организовать цикл и верно определить тело цикла. Более того, при конструировании алгоритмов важно использовать такую конструкцию цикла, которая окажется оптимальной для решения поставленной задачи. Существует три формы циклов: цикл с параметром, цикл с предусловием, цикл с постусловием. Каждая форма имеет стандартное описание на языке схем, а также соответствующий оператор алгоритмического языка. Определение 1. Цикл с параметром – это цикл, в котором тело цикла выполняется заранее известное количество раз, т.е. известен диапазон изменения параметра. Параметр – это переменная целого типа, которая либо увеличивается, либо уменьшается на единицу. Цикл реализуется следующим образом: 1) параметру присваивается начальное значение; 2) если значение входит в заданный диапазон, то выполняется тело цикла, параметр изменяется на единицу и выполняется пункт 2; 3) если значение не входит в заданный диапазон, то выполнение цикла прекращается и управление передаётся команде, следующей сразу за циклом. При такой организации цикла тело цикла может не выполниться ни разу, если начальное и конечное значение цикла образуют пустой диапазон. Общий вид команды: for параметр:= начальное значение to конечное значение do тело цикла ; ( цикл с шагом +1). Непустой диапазон будет в том случае, если начальное значение < конечного значения Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович for параметр:= начальное значение downto конечное значение do тело цикла ; ( цикл с шагом -1). Непустой диапазон будет в том случае, если начальное значение > конечного значения Определение 2. Цикл с предусловием – это цикл, в котором тело цикла выполняется только в случае выполнения условия. Если условие становится неверным, то работа цикла прекращается и управление передаётся команде, следующей сразу за циклом. При такой организации цикла тело цикла может не выполниться ни разу, если условие цикла сразу задано неверным. Общий вид команды: while условие do тело цикла ; Определение 3. Цикл с постусловием – это цикл, в котором тело цикла выполняется до тех пор, пока условие, заданное после тела цикла не станет верным. Если условие становится верным, то работа цикла прекращается и управление передаётся команде, следующей сразу за циклом. При такой организации цикла тело цикла обязательно выполниться хотя бы один раз, даже если условие цикла сразу задано верным. Общий вид команды: repeat тело цикла until условие ; Правило 1. Цикл ”for” применяется в том случае, если надо выполнять одну и ту же последовательность команд, в которых есть изменяющийся на единицу параметр. Правило 2. Циклы ”while” и ”repeat” применяются для записи любой задачи, в которой есть повторяющиеся действия. Правило 3. Запись команды повторения, в которой параметр увеличивается на единицу: а) for i : = iнач to iкон do команда ; б) for i : = iнач to iкон do begin команды end ; в) i := iнач ; while i <= iкон do begin команды; i := i + 1; end ; г) i := iнач; repeat команды; i := i + 1; until i > iкон ; Правило 4. Запись команды повторения, в которой параметр уменьшается на единицу: а) for i : = iнач downto iкон do команда ; б) for i : = iнач downto iкон do begin команды end ; в) i := iнач ; while i >= iкон do begin команды; i := i - 1; end ; г) i := iнач; repeat команды; i := i - 1; until i < iкон ; Правило 5. Если тело цикла в цикле for или в цикле while состоит из нескольких команд (больше одной), то тело цикла должно быть обозначено begin – end. Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович Резерв - Разобрать задачу на закрепление материала Условие: Вычислить сумму следующего ряда 1 1 1 1 1 ... 2 3 4 N program a1; var s:real; I,n:integer; begin writeln (‘Введите количество членов ряда’); readln (n); s:=0; for i:=1 to n do s:=s+1/i; writeln (‘Сумма=’,S); readln; end. Итог урока – Итак, мы познакомились с циклами, важнейшей составной частью большинства программ. Мы выяснили, что циклическое действие, которое он выполняет, будет конечным, если существует условие, при выполнении (или невыполнении) которого цикл должен завершиться. Ограничение может быть и по числу повторений цикла. Цикл в программе при каждом новом повторении выполняет действие, которое хотя бы немного отличается о предыдущего. Украина, Сумская область, г.Ахтырка общеобразовательная школа I-III ступеней №5 учитель информатики Шишкин Валерий Александрович – Завершим мы тему “Циклы” решением задач на следующем уроке. В каждой задаче вначале нужно придумать алгоритм, а затем написать программу. Домашнее задание.