«Не первый год работаю я в школе, Не понаслышке знаю этот труд. В делах любых смотреть стараюсь в корень, Иначе ведь успехи не придут.» Терентьева Наталья Григорьевна, МБОУ СОШ №185, г. Новосибирск. Учитель информатики, высшая категория. Тема урока: Цикл Repeat - Until (цикл с постусловием). Цель урока: 1) обучающий аспект: познакомить учащихся с понятием цикла Repeat–Until, научить применять его для решения практических задач. 2) развивающий аспект: развитие алгоритмического мышления; мыслительной деятельности; обогащение словарного запаса; умений и склонности к рефлексии, самостоятельности выполнения практических заданий на компьютере. 3) воспитательный аспект: воспитание интереса к информатике, личной ответственности за результаты своей работы, бережного отношения к технике, объективного отношения к результатам работы компьютерных программ, потребности и умения работать в коллективе для решения совместной задачи. Тип урока: комбинированный. Вид урока: урок демонстрация (презентация). Средства обучения: проектор, презентация по теме «Цикл Repeat-Until», раздаточный материал. Ход урока: 1) Организационный этап 2) Этап приветствие; перекличка; объявление темы урока и обучающего аспекта цели урока. подготовки учащихся к активному и созидательному усвоению нового материала Ребята, сегодня мы с вами продолжим изучать программирование на языке Паскаль. Давайте вспомним то, что мы уже прошли. -Напомните мне, пожалуйста, что такое цикл. (Цикл – это фрагмент программы, повторяемый многократно) -С какими видами циклов вы уже знакомы (работали)? (цикл с параметром (For), с предусловием (While)). Учитель : Терентьеа Н.Г. МБОУ СОШ №185 -Для решения каких задач мы использовали эти циклы? (Оператор For используется, если число повторений заранее известно, то есть заранее может быть вычислено, While задачи, в которых число повторения оператора (составного оператора) заранее не известно, а задано лишь условие его повторения, задается в самом начале оператора ). Этап усвоения новых знаний Как вы уже сегодня сказали, цикл While выполняет проверку условия выполнения тела цикла в самом начале оператора. А оператор повтора Repeat – Until аналогичен оператору While, но отличается тем, что условие проверяется после очередного выполнения цикла. Repeat – Until называют оператором цикла с постусловием и таким образом гарантируется хотя бы однократное выполнение цикла. Критерием прекращения цикла будет истинность условия (равенство выражения константе true). Тело цикла Repeat – Until может содержать несколько операторов. Записывается оператор цикла с постусловием в виде: Repeat <тело цикла> Until <условие окончания цикла> Тело цикла (Оператор) условие False True Продолжение Программы Тело цикла – простой или составной оператор, условие – величина логического типа (выражение, переменная, или константа). После каждого выполнения тела цикла вычисляется значение условия. Если результат равен false, то тело цикла выполняется снова и опять вычисляется значение условия. Если результат равен true, происходит выход из цикла и переход к следующему за Repeat - Until оператору. Обращаю ваше внимание на то, что цикл Repeat – Until выполнится по крайней мере один раз, так как проверка условия выполняется после выполнения цикла, а он в программе находится выше условия. Учитель : Терентьеа Н.Г. МБОУ СОШ №185 Рассмотрим пример: Составим программу суммирования произвольного количества целых чисел. Суммирование прекратим при вводе числа 0. 1. Внимательно читаем условие задачи. 2. Cтроим математическую модель решения задачи, определяем необходимые формулы и логические связки. Математическая модель а – числа, которые будем складывать; s – сумма этих чисел; обязательные условия решения задачи: s=s+a (сумма увеличивается на а) и проверяем равно ли а 0; 3. Cоставление алгоритма к решению задачи начало S=0 а s:=s+a False а=0 True s конец 4. Написание программы Program summa1; Var a,s: integer; Begin s:=0; {начальное значение суммы} Repeat write (‘Значение a=’); readln (a); Учитель : Терентьеа Н.Г. МБОУ СОШ №185 s:=s+a; Until a=0; writeln (‘сумма введённых чисел равна ’, s); End. 5. Компиляция и запуск программы. 6. Проверка программы на правильность выполнения Тестирование. Ввод данных, предусматривающих все варианты. 7. Анализ результата, если верно, то конец, если нет, то возвращаемся к пункту 1. 3) Этап закрепления новых знаний Задача Вычислить значение функции y=4x3-2x2+5 для значений х, изменяющийся от -3 до 1 с шагом 0,1. 1. Внимательно читаем условие задачи. 2. Строим математическую модель решения задачи, определяем необходимые формулы и логические связки. х – переменная, изменяющаяся от -3 до 1, с шагом 0,1 y= 4x3-2x2+5 = 2х2(2х-1)+5 – выполнили преобразования для удобства записи. y:=2*sqr(x)*(2*x-1)+5. x:=х+0,1 – запись шага. х>1 – условие окончания цикла. 3. Составление алгоритма к решению задачи начало а=-3 y:=2*sqr(x)*(2*x-1)+5; x, y x:=x+0.1 конец True 4. Написание программы program funct; var Учитель : Терентьеа Н.Г. МБОУ СОШ №185 False x>1 x,y: byte; begin x:=-3; Repeat y:=2*sqr(x)*(2*x-1)+5; write(‘x= ’,x:5:1,’ y= ‘,y:10:4); x:=x+0.1; Until x>1; end. 5. Компиляция и запуск программы. 6. Проверка программы на правильность выполнения. Тестирование. Ввод данных, предусматривающих все варианты. 7. Анализ результата, если верно, то конец, если нет, то возвращаемся к пункту 1. 4) Этап сообщения домашнего задания 1. Учить определения, формулировки, уметь правильно записать оператор цикла в блок-схеме и в программе. Текст задачи: 2. Составьте программу планирования закупки товара в магазине на сумму, не превышающей данной величины. 1. Математическая модель: Х – цена товара, к – количество товара, р – заданная предельная сумма, s – общая стоимость покупки. Начальное значение общей стоимости покупки s=0. S>p – условие прекращения цикла. Алгоритм: Начало x, k Конец р S:=s+x*k S:=0 S s>p 5) Этап подведения итогов урока Кратко повторяется, что нового узнали на уроке. Выставляются оценки за урок. Учитель : Терентьеа Н.Г. МБОУ СОШ №185