Школа 185. Программирование на языке Pas с al
М ЕНЮ : Опрос; Цикл Repeat - Until; Цикл Repeat - Until; Пример; Задача 1; Задача 1; Задача 2; Домашнее задание. Последний слайд
Что такое цикл? Цикл – это фрагмент программы, повторяемый многократно. С какими видами циклов вы уже знакомы (работали)? For (цикл с параметром); While (цикл с предусловием).
Для решения каких задач мы использовали эти циклы? Оператор For используется, если число повторений заранее известно, то есть заранее может быть вычислено. Оператор While, если число повторения оператора (составного оператора) заранее не известно, а заданно лишь условие его продолжения.
Тема: Цикл Repeat - Until (цикл с постусловием)
Ц ИКЛ R EPEAT – U NTIL Оператор Repeat – Until называют оператором цикла с постусловием, т.к. проверка условия производится после выполнения цикла и таким образом гарантируется хотя бы однократное его прохождение.
Repeat Until условие окончания цикла Тело цикла Продолжение программы False True
Условие окончания цикла Тело цикла Продолжение программы False True Цикл Repeat – Until выполнится по крайней мере один раз, так как условие проверяется после цикла.
П РИМЕР Составим программу суммирования произвольного количества целых чисел. Суммирование прекратим при вводе числа 0. 1.Внимательно читаем условие задачи. 2.Строим математическую модель решения задачи, определяем необходимые формулы и логические связки.
Сумма а – числа, которые будем складывать; s – сумма этих чисел; обязательные условия решения задачи: s=s+a (сумма увеличивается на а); проверяем а=0. М АТЕМАТИЧЕСКАЯ МОДЕЛЬ
3.С ОСТАВЛЕНИЕ АЛГОРИТМА К РЕШЕНИЮ ЗАДАЧИ Начало S:=0 a а =0 s:=s+a конец True False s
4. НАПИСАНИЕ ПРОГРАММЫ Program summa1; Var a, s: integer; Begin s:=0; {начальное значение суммы} Repeat write (Значение a=); readln (a); s:=s+a; Until a=0; writeln (сумма введённых чисел равна, s); Readln;End. Начало S:=0 a s:=s+a а=0 конец False True
5.Компиляция и запуск программы 6.Проверка программы на правильность выполнения Тестирование. Ввод данных, предусматривающих все варианты. 7.Анализ результата, если верно, то конец, если нет, то возвращаемся к пункту 1.
З АДАЧА 1: Вычислить значение функции y=4x 3 -2x 2 +5 для значений х, изменяющийся от -3 до 1 с шагом 0,1.
М АТЕМАТИЧЕСКАЯ МОДЕЛЬ РЕШЕНИЯ ЗАДАЧИ : х – переменная, изменяющаяся от -3 до 1, с шагом 0,1 y= 4x 3 -2x 2 +5 = 2х 2 (2х-1)+5 – выполнили преобразования для удобства записи. y:=2*sqr(x)*(2*x-1)+5; x:=х+0,1 – запись шага. х>1 – условие окончания цикла.
Алгоритм решения задачи: Начало y:=2*sqr(x)* (2*x-1)+5; х,у x>1 x:=x+0.1 Конец False True х=-3
4.Н АПИСАНИЕ ПРОГРАММЫ program funct; var x,y:Real; 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; Readln; end.
Д ОМАШНЕЕ ЗАДАНИЕ : 1. Учить определения, формулировки, знать правила записи оператора (в программе, блок-схеме).
Д ОМАШНЕЕ ЗАДАНИЕ : 2. Составьте программу планирования закупки товара в магазине на сумму, не превышающей данной величины.
Математическую модель решения задачи: Х – цена товара, к – количество товара, р – заданная предельная сумма, s – общая стоимость покупки. s=0 Начальное присвоение. S>p – условие прекращения цикла Начало