Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Правила использования операторов цикла

Читайте также:
  1. I. Правила ведения дневника
  2. I. Правила оформления отчета по практике
  3. I. Правила оформления отчета по практике
  4. I. Правила терминов
  5. I. Прочтите слова и объясните правила чтения буквы е
  6. II. Оценка эффективности использования основных средств
  7. II. Правила оформления курсовой работы
  8. II. ПРАВИЛА ОФОРМЛЕНИЯ РАБОТЫ
  9. III. Общие правила заполнения рецепта.
  10. IV. Упражнения пауэрлифтинга и правила их выполнения.

При использовании операторов цикла следует учитывать следующие особенности:

Цикл While. Проверяется условие, расположенное в заголовке цикла. Если оно является истинным, то выполняется тело цикла. По завершению его выполнения снова проверяется условие, находящееся в заголовке цикла и т.д. Так продолжается до тех пор, пока условие не станет ложным. В этом случае будет осуществлен переход к конструкции, следующей за телом цикла.

При работе с этой конструкцией цикла важно следить за тем, чтобы на каком-то шаге выполнения тела цикла проверяемое условие обязательно стало ложным. Если этого не произойдет, то выход из цикла будет невозможен. В этом случае говорят, что программа " зациклилась ".

Цикл Repeat..Until. Встретив служебное слово Repeat компьютер "запоминает" его местоположение на случай необходимости повторного выполнения тела цикла. Таким образом, служебное слово Repeat отмечает начало тела цикла. После выполнения тела цикла проверяется условие, расположенное за служебным словом Until. Если оно является ложным, то снова выполняется тело цикла и т.д. Когда условие станет истинным, будет осуществлен переход к следующей конструкции, идущей после цикла.

1. Операторы, входящие в цикл Repeat...Until, всегда выполняются хотя бы один раз, поскольку истинность логического выражения в цикле этого типа проверяется после операторов, входящих в тело цикла. При использовании цикла типа While...Do могут быть ситуации, когда операторы, входящие в цикл, не будут выполнены ни разу, если логическое выражение изначально имеет значение "FALSE".

2. Цикл Repeat...Until выполняется, пока логическое выражение имеет значение FALSE. Цикл While...Do выполняется, пока логическое выражение имеет значение TRUE. Этот нюанс следует учитывать при замене цикла одного типа другим.

Program Whl; Var i:integer; Begin i:=1; WHILE i<=10 DO begin Writeln('Привет'); i:=i+1 end; Readln End. Program Rep; Var i:integer; Begin i:=1; REPEAT Writeln('Привет'); i:=i+1 UNTIL i>10; Readln End.

3. Если тело цикла While...Do состоит из нескольких операторов, их следует обрамлять операторными скобками begin...end, образующими составной оператор. В цикле типа Repeat...Until операторные скобки не нужны.

4. Одной из опасностей, возникающих при использовании оператора цикла, является "зацикливание", т.е. возникновение ситуации, когда программа не выходит из цикла, бесконечно повторяя входящие в него операторы:

k1:=1; WHILE k1<5 DO Writeln('Бесконечный цикл');

5. Если в программе встретится такой фрагмент, то экран заполнится строками с фразой "Бесконечный цикл", выдача которой в режиме прокрутки (Scrolling) будет длиться до тех пор, пока программистом не будут приняты действия по принудительному завершению работы программы. Вывести программу из бесконечного цикла можно, дважды нажав сочетание клавиш Ctrl и Break, после чего надо нажать клавишу ESC.

6. Зацикливания не произойдет, если операторы, входящие в тело цикла, будут влиять на условие, определяющее завершение цикла:

k1:=1;

WHILE k1<5 DO

Begin

Writeln('Цикл');

k1:=k1+1

End;

7. В этом фрагменте цикл выполнится ровно 4 раза и компьютер перейдет к следующим командам.

8. При использовании операторов цикла с предусловием и постусловием необходимо быть осторожным в тех случаях, когда в логическом выражении (условии окончания цикла) фигурируют вещественные переменные. Следует помнить, что в компьютере значения выражений вещественного типа вычисляются приближенно, т.е. с небольшой погрешностью. Например, вещественное число 1.0 в компьютере может быть представлено как 0.99999999 или как 1.00000001. Поэтому фрагмент

.............

REPEAT

...........

UNTIL X=B;

.............

где X, B: Real, будет неправильным, хотя с математической точки зрения он верен. Условие X=B скорее всего никогда не выполнится, в результате произойдет "зацикливание" программы. Не следует управлять циклом с помощью логического выражения, в котором вещественные переменные проверяются на строгое равенство.




Дата добавления: 2014-12-18; просмотров: 160 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (2.91 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав