Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электронный конспект по программированию часть 2.doc
Скачиваний:
145
Добавлен:
13.02.2016
Размер:
17.09 Mб
Скачать

Цикл с условием (while)

Очень часто заранее невозможно сказать, сколько раз надо выполнить какую-то операцию, но можно определить условие, при котором она должна заканчиваться. Такое задание может выглядеть так: пока условие истинно, выполняй данную операцию. Слово «пока» на английском языке записывается как while, и так же называется еще один вид цикла.

Пример. Ввести целое число и определить, сколько в нем цифр.

Для решения этой задачи обычно применяется такой алгоритм. Число делится на 10 и от-

брасывается остаток, и так до тех пор, пока результат деления не равен нулю. С помощью специальной переменной (она называется счетчиком) считаем, сколько раз выполнялось деление - столько цифр и было в числе. Понятно, что нельзя заранее определить, сколько раз надо разделить число, поэтому надо использовать цикл с условием.

• Цикл while используется тогда, когда количество повторений цикла заранее неизвестно

и не может быть вычислено.

• Цикл while состоит из заголовка и тела цикла.

• В заголовке после слова while в круглых скобках записывается условие, при котором

цикл продолжает выполняться. Когда это условие нарушается (становится ложно), цикл

заканчивается.

• В условии можно использовать знаки логических отношений и операций

> < больше, меньше

>= <= больше или равно, меньше или равно

== равно

!= не равно

• Если условие неверно в самом начале, то цикл не выполняется ни разу (это цикл с предусловием).

• Если условие никогда не становится ложным (неверным), то цикл никогда не заканчива-

ется; в таком случае говорят, что программа «зациклилась» — это серьезная логическая

ошибка.

• В языке Си любое число, не равное нулю, обозначает истинное условие, а ноль — ложное условие:

while ( 1 ){ ... } // бесконечный цикл

while ( 0 ){ ... } // цикл не выполнится ни разу

• Тело цикла заключается в фигурные скобки; если в теле цикла стоит всего один оператор,скобки можно не ставить.

• В тело цикла могут входить любые другие операторы, в том числе и другие циклы (такой

прием называется «вложенные циклы»).

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

скобки сдвигаются вправо на 2-3 символа (запись «лесенкой»).

Цикл с постусловием (do — while)

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

шагу делать проверку некоторого условия и закончить цикл, когда это условие станет ложным.

Для этого используется цикл с постусловием (то есть условие проверяется не в начале, а в конце цикла).

Пример. Ввести натуральное число и найти сумму его цифр. Организовать ввод числа так, чтобы нельзя было ввести отрицательное число или ноль.

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

В отличие от предыдущей программы, теперь надо при каждом делении определять оста-

ток (последняя цифра числа равна остатку от деления его на 10) и суммировать все остатки в специальной переменной.

• Цикл do—while используется тогда, когда количество повторений цикла заранее неизвестно и не может быть вычислено.

• Цикл состоит из заголовка do, тела цикла и завершающего условия.

• Условие записывается в круглых скобках после слова while, цикл продолжает выполняться, пока условие верно; когда условие становится неверно, цикл заканчивается.

• Условие проверяется только в конце очередного шага цикла (это цикл с постусловием),

таким образом, цикл всегда выполняется хотя бы один раз.

• Если условие никогда не становится ложным (неверным), то цикл никогда не заканчива-

ется; в таком случае говорят, что программа «зациклилась» — это серьезная логическая

ошибка.

• Тело цикла заключается в фигурные скобки; если в теле цикла стоит всего один оператор, скобки можно не ставить.

• В тело цикла могут входить любые другие операторы, в том числе и другие циклы (такой

прием называется «вложенные циклы»).

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

скобки сдвигаются вправо на 2-3 символа (запись «лесенкой»).