«Не первый год работаю я в школе,

advertisement
«Не первый год работаю я в школе,
Не понаслышке знаю этот труд.
В делах любых смотреть стараюсь в корень,
Иначе ведь успехи не придут.»
Терентьева Наталья Григорьевна, МБОУ СОШ №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
Download