Тема: Основы алгоритмизации
Урок №6. Цикл с постусловием
Цели:
-обучающие: обеспечить знание учащимися цикла с постусловием, его применение в типовых задачах
-воспитательные: создать условия для воспитания умения слушать других, культуры речи, общения
-развивающие: создать условия для развития мышления; способности четко формулировать свои мысли
Требования к результатам обучения:
-Знать/понимать различия использования цикла с предусловием и цикла с постусловием; основные информационные процессы в реальных ситуациях
-Уметь решать учебные задачи
-Применять полученные знания при решении задач
Ключевые понятия: цикл repat, оператор until
Обеспечение урока: интерактивная доска, персональный компьютер, тетради
План-сценарий урока:
1. Приветствие (1 мин)
Приветствует учащихся, проверка готовности к уроку, настрой на предстоящую работу.
2. Постановка цели урока, проверка домашнего задания (2 мин)
Прежде чем приступить к изучению новой темы, производится проверка домашнего задания, проверяются правильность выполнения и возникшие трудности
3. Представление теоретического материала (16 мин)
Repeat — это цикл, в котором условие стоит после тела. Причем оно выполняется тогда и только тогда, когда результат условия false; как только логическое выражение становится true, выполнение цикла прекращается.
Этот оператор аналогичен оператору цикла с предусловием, но отличается от него тем, что проверка условия производится после выполнения тела (действий) цикла. Это обеспечивает его выполнение хотя бы один раз в отличие от ранее разобранных циклов.
Данный оператор цикла предполагает наличие нескольких операторов в теле цикла, то есть можно выполнять несколько действий, поэтому служебные слова Begin и End не нужны.
Последовательность операторов, входящих в тело цикла выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие не соблюдается, цикл завершается. В противном случае - тело цикла повторяется ещё раз, после чего снова проверяется соблюдение условия.
Repeat – повторять
Until – до тех пор
Repeat имеет формат:
repeat
<оператор 1>;
< оператор 2>;
until (пока условие ложно)

Рисунок 1 – Блок-схема цикла с постусловием
Запишем программу на языке Паскаля:
program summer; (Задаем имя праграмме)
uses crt;
var
sum, a: real; (sum – для накопления суммы, а – для очередного числа)
begin
sum:=0; (Обнуляем сумму)
repeat
sum:=sum+a; (Добавляем введенное число к сумме)
write «Введите число:» ;(Ввод определенного числа)
readln(a)
until a<0; (Проверяем введенное число на отрицательность)
(При выходе из цикла выполняется этот оператор: )
write('Сумма чисел=' ,sum:5:3);
readln
end.
4. Практическая часть (25 мин)
Задачи на усвоение нового материала:
Задание 1.
1. Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину.
Решение:
Совместно с учениками на доске составляем программу.
1) Введем переменные:
с – цена товара;
k – количество товара;
р – заданная предельная величина;
s – начальное значение общей стоимости покупки;
2) Составим блок-схему для задачи.
Вводим начальное значение суммы (s) = 0,

Далее вводим цену товара (c) и его количество (k), затем вычисляем его стоимость и выводить результат на экран до тех пор, пока она не превысит предельную сумму, в этом случае на экран нужно вывести сообщение о превышении.

Задание 2. Самостоятельно записать решение на языке Паскаль.
program pokypka;
uses crt;
var c, k,p, s:integer;
begin
clrscr;
{Вводим наличие денежных средств с клавиатуры}
writeln ('Предельная сумма – ');readln(p);
s:=0; {вводим начальное значение суммы}
REPEAT;
writeln ('Цена товара – ');readln (c); {вводим цену товара}
writeln ('Количество товара – ');readln (k); {вводим количество товара}
s:=s+c*k; {Находим стоимость приобретенных товаров}
{Выводим на экран стоимость определенных товаров}
writeln ('Стоимость покупки =',s);
UNTIL s>p; {Повторяем до превышения наличия денег}
writeln('Не хватило!');
end.
Проверка правильности выполнения задания.
Задачи на закрепление нового материала:
- Задача № 1
Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.
Решение:
program summa;
var x, s:integer;
Begin
s:=0;
repeat
write(‘Введите число’);
Readln(x);
If x<>999 then s:=s+x;
Until x=999;
writeln (‘Сумма введенных чисел’, s);
- Задача № 2
Написать программу, в которой компьютер будет печатать «ноль» указанное количество раз.
Решение:
program nol’;
var i, n:integer;
begin
write ('количество раз');
readln (n);
i:=1;
repeat
write (0);
i:=i+1
until i>n
end.
Проверка правильности выполнения заданий.
5. Подведение итогов, рефлексия (1 мин)
Вопросы:
- Что называется циклом с постусловием?
- Есть ли сложности в использовании данного цикла? В чем сложности?


