Слайд 0
Цикл REPEAT
Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз!
Слайд 1
Синтаксическая диаграмма
repeat
оператор
until
Логическое
выражение
;
Слайд 2
Блок схема
Тело цикла
нет
(false)
REPEAT
UNTIL
Операторы, расположенные между REPEAT и UNTIL выполняются многократно до тех пор, пока условие false.
Как только условие становится истинным, управление переходит к следующему оператору.
Слайд 3
Сколько раз будет напечатано на экране слово «ИНФОРМАТИКА» если:
repeat
write (‘ИНФОРМАТИКА');
i:=i+1;
until i=5;
i = 5
i = 10
i < 6
i = 0
5 раз
10 раз
1 раз
бесконечность
Слайд 4
Этапы решения задачи на компьютере
Анализ условия
Составление блок-схемы
Перевод решения на PASCAL
Тестирование и доводка алгоритма
Слайд 5
Пример: Найти Сумму Последовательности Неравных Нулю Чисел, Завершающейся Нулем. Нуль Играет Роль Признака Конца Последовательности.
Программа будет использовать ввод (слагаемые – числа необходимо вводить с клавиатуры)
Программа будет использовать вывод (сумма – результат работы должен быть выведен на экран монитора)
Программа использует цикл (часть программы повторяется несколько раз: запрос, суммирование, проверка)
Слайд 6
Вывести на экран запрос об очередном слагаемом
Занести ответ пользователя в память
Суммировать в сумматор
Проверить слагаемое на равенство 0 (т.е. Признак окончания суммирования)
Вывести результат на экран PC
Решение:
Пока не 0
Слайд 7
Program Summa ;
Var A,S:Real;
Begin
S:=0;
Repeat
Write (‘Vvedite A=‘);
Read (A);
S:=S+A;
Until A=0;
Write (‘Summa=‘,S );
End.
:2:2
Ln
Слайд 8
Тестирование работы программы
S=0
На запрос вводим А=1.2
S=S+A=0+1.2=1.2
Проверяем А=1.2<>0
На запрос вводим А=3.7
S=S+A=1.2+3.7=4.9
Проверяем А=3.7<>0
На запрос вводим А=0
S=S+A=4.9+0=4.9
Проверяем А=0=0
Выводим на экран S=4.9
Слайд 9
Экран компьютера
1.2
0
3.7
Vvedite A=
Vvedite A=1.2
Vvedite A=
Vvedite A=1.2
Vvedite A=3.7
Vvedite A=
Vvedite A=1.2
Vvedite A=3.7
Vvedite A=0
Summa= 4.90
Слайд 10
Соответствия блоков и команд
Слайд 11
Требования к оформлению
Все решения должны состоять из:
Условия задачи
Блок-схемы
Алгоритма на языке Pascal
Таблицы тестов
Слайд 12
Задачи для самостоятельного решения
Найти произведение последовательности чисел не равных 1. Единица играет роль конца последовательности.
Вычислить факториал числа: n!=1*2*3*..*n
Вывести на экран определенную последовательность символов (цифр или букв), введенную с клавиатуры, несколько раз (количество определяется в процессе выполнения программы) а) в столбик; б) в строчку.
Вычислить сумму ряда:
1/x+1/x2+1/x3+..+1/xn
?+1/22+1/23+..+1/2n