КАКОЙ ЦИКЛ ЛУЧШЕ?
КАКОЙ ЦИКЛ ЛУЧШЕ?
После того как вы решили, что вам необходимо использовать оператор цикла, возникает вопрос: циклом какого вида лучше всего воспользоваться? Во-первых, решите, нужен ли вам цикл с предусловием или же с постусловием. Чаще вам нужен будет цикл с предусловием. По оценкам Кернигана и Ритчи; в среднем циклы с постусловием (do while) составляют только 5% общего числа используемых циклов. Существует несколько причин, по которым программисты предпочитают пользоваться циклами с. предусловием; в их числе один общий принцип, согласно которому лучше посмотреть, куда вы прыгаете, до прыжка, а не после. Вторым моментом является то, что программу легче читать, если проверяемое условие находится в начале цикла. И наконец, во многих случаях важно, чтобы тело цикла игнорировалось полностью, если условие вначале не выполняется.
Положим, вам необходимо использовать цикл с предусловием. Что лучше: цикл for или цикл while? Отчасти это дело вкуса, поскольку все, что вы можете сделать с помощью одного, вы можете сделать и с помощью другого. Для превращения цикла for в цикл while нужно опустить первое и третье выражения:
for(; проверка условия;)
Такая спецификация эквивалентна записи
while(проверка условия)
Для превращения цикла while в цикл for необходимо предварительно осуществить инициализацию некоторых выбранных переменных и включить в тело цикла операторы, корректирующие их значения:
инициализация;
while (проверка условия)
{
тело;
коррекция;
}
Данная запись по своим функциональным возможностям эквивалентна следующей:
for(инициализация; проверка условия, коррекция) тело;
Исходя из соображений стиля программирования, применение цикла tor представляется более предпочтительным в случае, когда в цикле используется инициализация и коррекция переменной, а применение цикла while - в случае, когда этого нет. Поэтому использование цикла while вполне оправданно в случае
while((ch = getchar( )) != EOF)
Применение цикла for представляется более естественным в случаях, когда в циклах осуществляется счет прохождений с обновлением индекса:
for (count = 1; count <= 100; count++)
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
1.4. Почему программы GNU лучше
1.4. Почему программы GNU лучше Что делает программу GNU программой GNU?[19] Что делает программное обеспечение GNU «лучше» по сравнению с другим (платным или бесплатным) программным обеспечением? Наиболее очевидной разницей является общедоступная лицензия (General Public License — GPL),
6.2. Что лучше, id или class?
6.2. Что лучше, id или class? Далее давайте рассмотрим, как использование id или class влияет на скорость отображения страницы в браузере (сейчас речь не идет о множественном использовании одинаковых id — это и так запрещено спецификацией). Если элемент на странице встречается
Быстрее и лучше
Быстрее и лучше Чтобы растения росли максимально быстро, пашня должна быть увлажнена, а урожай – хорошо освещен в ночное время. Для увлажнения пашни поместите источник воды в пределах четырех блоков. Если у вас пока нет ведра для воды, сажайте растения около пруда.
Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести?
Блоги какой тематики вы ведете? Блоги какой тематики вы хотели бы вести? Многие блоггеры или не выделяют одну тему и пишут обо всем понемногу, или описывают свой дневник шутливо: «Да так, попукиваю в воздух».Некоторые блоггеры отвечали, что уже ведут дневники на все
Какой почтовый ящик лучше: платный или бесплатный?
Какой почтовый ящик лучше: платный или бесплатный? Электронные почтовые ящики бывают как платными, так и бесплатными. Поэтому перед тем, как завести себе электронный адрес, нужно определиться – согласны вы платить за подобные услуги или нет?Как все мы знаем из
В какой момент лучше использовать технологии допродаж
В какой момент лучше использовать технологии допродаж Всегда! В интернет-магазине существует три момента, когда это можно сделать, – до покупки в момент выбора товаров, во время покупки в корзине с товарами и после покупки до момента оплаты
2.2.1. Цикл типа “пока” (цикл с предусловием)
2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать если X> Y то X:=X-Y иначе Y:=Y-X; Писать (‘НОД=’, X);WHILE X <> Y DO IF X> Y THEN X:=X-Y ELSE Y:=Y-X; WRITE
2.2.2. Цикл типа “до” (цикл с постусловием)
2.2.2. Цикл типа “до” (цикл с постусловием) Этот цикл выполняется не менее одного разаПример 1.5: Решение предыдущей задачи. Цикл с постусловиемПовторять если X> Y то X:=X-Y иначе Y:=Y-X до X=Y;Писать (‘НОД=’, X);REPEAT IF X> Y THEN X:=X-Y ELSE Y:=Y-X UNTIL X=Y;WRITE (‘НОД=’, X);REPEAT –
2.2.1. Цикл типа “пока” (цикл с предусловием)
2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.#include <assert. h>#include <stdio. h>int main (){int x, y;printf (“Введите два целых числа через пробел ”);int r = scanf (”%d%d”, &x, &y);assert (r == 2);while (x!= y) if (x> y) x = x – y; else y =
15.8.5. Лучше, чем IDE
15.8.5. Лучше, чем IDE Ранее в данной главе утверждалось, что Emacs способен предоставить программисту возможности, аналогичные возможностям какой-либо традиционной интегрированной среды разработки и даже превосходящие их. К настоящему моменту у читателя должно быть
15.8.5. Лучше, чем IDE
15.8.5. Лучше, чем IDE Ранее в данной главе утверждалось, что Emacs способен предоставить программисту возможности, аналогичные возможностям какой-либо традиционной интегрированной среды разработки и даже превосходящие их. К настоящему моменту у читателя должно быть
Не бета, а лучше
Не бета, а лучше Не используйте «бета» в качестве козла отпущенияВ наши дни кажется, что все постоянно находится в бета-версии. Неумирающая бета-версия говорит пользователям, что вы не так уж и хотите выпускать завершенный продукт. Она говорит: «Пользуйтесь вот этим, но
4.2. Что лучше: KDE или GNOME?
4.2. Что лучше: KDE или GNOME? Графическая среда GNOME — основной конкурент KDE. Что лучше: KDE или GNOME — сказать трудно. Все зависит от вкусов и предпочтений пользователя. Раньше лично мне больше нравился KDE. Во-первых, у него было меньше проблем с русификацией, а во-вторых, сам
Лучше, чем никогда
Лучше, чем никогда Автор: Сергей ВильяновВесна пришла в Москву непривычно рано. Я бы, скорее всего, и не поверил в серьезность ее намерений, несмотря на +20 за окном, но в пруд рядом с домом вернулись утки. Они, конечно, не такие умные, как окрестные вороны, однако в области
ОГОРОД КОЗЛОВСКОГО: Heavy metal, или Лучше меньше, да лучше
ОГОРОД КОЗЛОВСКОГО: Heavy metal, или Лучше меньше, да лучше Автор: Козловский ЕвгенийНа Новый год, в числе прочего, получился новенький фотоаппарат от Casio: EX S770. Последняя на тот момент и безусловно лучшая модель! Совершенная в своем роде. Таким образом, смутная мечта всегда