Лабораторная работа №3 циклические программы
1Цель работы:
;
2Порядок проведения работы
2.1. Изучить теоретический материал
2.2. Проделать практическое задание
3Теоретическая часть
Цикл представляет собой последовательность операторов, которая выполняется неоднократно.
В языке программирования Pascal имеется стандартный набор из трех разновидностей цикла — цикл с постусловием (инструкция repeat), цикл с предусловием (инструкция while) и цикл со счетчиком (инструкция for). Хорошо, что у программиста есть возможность выбора наиболее подходящего средства реализации алгоритма, но при изучении циклов часто возникают затруднения при выборе оператора цикла.
3.1Цикл с постусловием
Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие повторять ли его еще раз. Эту задачу выполнит цикл с постусловием Repeat.
Оператор повтора repeat состоит из заголовка (repeat), тела и условия окончания (until). Ключевые слова repeat, until обозначают "повторяй" и "пока" соответственно.
repeat повторяй
операторы операторы
until <условие>; до тех пор, пока условие не будет верным
Для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin ... end. Зарезервированные слова repeat и until действуют как операторные скобки.
Repeat проверяет условие после выполнения действий. это гарантирует хотя бы одно выполнение действий до завершения цикла.
Условие выхода из цикла — это выражение логического типа: простое выражение отношения или сложное логическое выражение;
Цикл работает так: вначале выполняется тело цикла — инструкции, которые находятся между repeat и until, затем проверяется значение Условия выхода из цикла. В том случае, если оно равно false (ложь), т. е. не выполняется — инструкции цикла повторяются еще раз. Так продолжается до тех пор, пока условие не станет true (истина). На рис.7 приведена блок-схема оператора повтора repeat.
Р ис. 7 Условное обозначение на схемах алгоритмов оператора repeat |
Например,
a) repeat read (Number); Sum := Sum+Number; until Number=-1 |
b) repeat i := i+1; writeln (Sqr(i)) until Number=-1 |
3.2Цикл с предусловием
Оператор повтора while состоит из заголовка и тела цикла. Ключевые слова while и do обозначают "до тех пор, пока" и "выполняй" соответственно.
while Условие выполнения цикла do
begin
{ Инструкции }
end;
Условие выполнения цикла — это выражение логического типа.
Оператор while аналогичен оператору repeat, но проверка Условия выполнения цикла производится в самом начале оператора — если значение условия равно true (истина), то выполняются инструкции цикла, находящиеся между begin и end и снова вычисляется выражение Условия выполнения цикла. Так продолжается до тех пор, пока значение Условия выполнения цикла не станет равно false (ложь). На рис. 8 приведена блок-схема оператора повтора while.
Р ис. 8 Условное обозначение на схемах алгоритмов оператора while |
Взаимосвязь операторов while и repeat: оператор while Условие do Инструкция; эквивалентен оператору if Условие then repeat Инструкция until Not Условие;
Например, фрагмент программы суммирования чисел от 1 до 10. В данном примере использование всех видов цикла равноценно:
...
s:= 0; i:= 1;
while i<=10 do { находим сумму чисел от 1 до 10 }
begin
s:=s+i;
i:=i+1; { изменение переменной управления циклом }
end;