Можно видеть, что, хотя мы и добавляем новые члены, сумма, по-видимому, стремится к какому-то пределу. И действительно, математики показали, что при стремлении числа членов к бесконечности сумма ряда сходится к 2,0, что и демонстрируется нашей программой. Какая радость! Если бы Зенон оказался прав, движение было бы невозможно. (Но если бы движение было невозможно, то не было бы Зенона ).
Что можно сказать по поводу самой программы? В ней показано, что в одном выражении можно использовать более, чем одну операцию "запятая". В спецификации цикла мы инициализировали переменные sum
, x и count. После задания условий выполнения цикла оставшаяся часть программы оказывается очень короткой.ЦИКЛ С УСЛОВИЕМ НА ВЫХОДЕ: do while
Оба цикла, while
и for, являются циклами с предусловиями. Проверка истинности условия осуществляется перед началом каждой итерации цикла. В языке Си имеется также конструкция цикла с постусловием (условием на выходе), где истинность условия проверяется после выполнения каждой итерации цикла. Этот подход реализуется с помощью цикла do while, который иллюстрируется следующим примером.Это сильно отличается от записи, например, такого вида
Различие начинается с того момента, когда прочитан символ "новая строка". Цикл while
печатает все символыТакой оператор может быть как простым, так и составным.
РИС. 8.5. Структура цикла do while
.Тело цикла do while
всегда выполняется по крайней мере один раз, поскольку проверка осуществляется только после его завершения. Тело цикла for или while, возможно, не будет выполнено ни разу, поскольку проверка осуществляется перед началом его выполнения. Использовать цикл do while лучше всего в тех случаях когда должна быть выполнена по крайней мере одна итерация, к примеру, мы могли бы применить цикл do while в нашей программе угадывания числа. На псевдокоде алгоритм работы программы можно тогда записать следующим образом:Вы должны избегать использования цикла do while
, структура которого аналогична представленной ниже в записи на псевдокоде.В данном случае, после того как пользователь ответит "нет", "некоторый умный вздор" будет выполнен, поскольку проверка осуществляется слишком поздно.
Резюме: оператор do while
I. Ключевые слова: do while
II. Общие замечания:
Оператор do while
определяет действия, которые циклически выполняются до тех пор, пока проверяемоеIII. Форма записи
Выполнение
IV. Пример
КАКОЙ ЦИКЛ ЛУЧШЕ?