Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование 1 к ПОВТ.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
1.14 Mб
Скачать

Работа 6 Инструкции управления. Операторы Си, реализующие повторения

Цель работы:

  • изучить инструкции управления языка Си: операторы циклов;

  • изучить правила работы с операторами цикла while, do… while, for;

  • приобрести навыки составления, отладки и тестирования программ, использующих циклы с постусловием;

  • закрепить навыки работы в среде Cи.

I. Теоретический раздел работы

Введение

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

Алгоритмы циклической структуры должны содержать следующие элементы:

1. подготовка цикла, т.е. задание начальных значений переменных перед первым его выполнением;

2. тело цикла, т.е. действия, повторяемые в цикле многократно;

3. изменение значений переменных цикла перед каждым новым его выполнением;

4. управление циклом, т.е. проверка условия продолжения или окончания цикла и переход к его началу.

В Cи имеется несколько возможностей организации цикла в зависимости от того, например, известно или неизвестно число повторений. Отметим, что программно цикл может быть реализован с помощью операторов goto, if и присваивания. Однако, хороший стиль программирования – это программирование без употребления оператора goto. Использование специальных конструкций циклов, рассматриваемых в этой работе, позволяют обходиться без этого оператора, и является более эффективным методом программирования. При их использовании Ваша программа принимает более компактную форму, проще контролируема и более наглядна.

1.1. Оператор цикла с предусловием

Его структура имеет вид:

while (B) S;

где B – логическое (булево) выражение;

S - любой оператор языка (тело цикла);

while (пока) – служебные слова.

Схематически оператор цикла с предусловием можно изобразить таким образом:

false

true

Такая конструкция цикла организует выполнение оператора S до тех пор, пока логическое выражение B – истинно. Если условие, которое вычисляется и анализируется перед каждым выполнением цикла, - ложно, то выполняется оператор, следующий за while. Заметим, что если первоначальное значение логического выражения B ложно, то оператор S не будет выполняться ни разу. Другая крайность, которую следует избегать,- логическое условие всегда истинно. В этом случае оператор S будет повторяться бесконечное число раз. Произойдет, так называемое, «зацикливание» и тогда потребуются принудительные меры выхода из него,- перезагрузка компьютера.

1.2. Оператор цикла с постусловием

Его синтаксис:

do { S1;S2;...Sn } while (B);

где B- логическое выражение;

S1;S2;...Sn – любые операторы языка;

do (делать), while(пока ) – служебные слова.

Схематически оператор цикла с предусловием можно изобразить таким образом:

true

false

В такой конструкции цикла проверка условия производится в его конце (постусловие), что обеспечивает выполнение операторов S1,...Sn хотя бы один раз. Тело цикла выполняется в операторе dowhile до тех пор, пока условие истино. Выход из цикла осуществляется при ложности логического выражения B.

Оператор цикла с предусловием обычно используется чаще оператора do…while, т.к. проверка на окончание цикла в нем производится до выполнения и есть возможность при необходимости цикл пропустить вообще.

Важно помнить, что перед каждым (и первым в том числе) выполнением цикла, условие его окончания должно быть определено. Кроме того, тело цикла должно содержать хотя бы один оператор, влияющий на условие В, иначе произойдет зацикливание. Условие окончания цикла должно быть, в конце концов, удовлетворено.