Читаем С++ для "чайников" . полностью

            setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */

_________________

68 стр. Часть 1. Первое знакомство с С++

            /* Ввод счётчика цикла */

            int loopCount ;

            cout << "Введите loopCount: " ;

            cin >> loopCount ;

            /* Теперь в цикле выводим значения */

            while ( loopCount > 0 )

            {

                loopCount = loopCount - 1 ;

                cout << "Осталось выполнить "

                       << loopCount << " циклов( a )\n" ;

            }

            /* Пауза для того, чтобы посмотреть на результат работы программы */

            system( "PAUSE" ) ; return 0 ;

      }

Программа WhileDemo получает от пользователя значение счётчика цикла, которое сохраняется в переменной loopCount. Затем программа выполняет цикл while. Сначала проверяется значение переменной loopCount. Если оно больше нуля, программа входит в тело цикла ( телом цикла называется код между скобками ), где loopCount уменьшается на 1, и результат выводится на экран. Затем программа возвращается к началу цикла и проверяет, осталась ли переменная loopCount положительной.

Ниже представлены результаты выполнения программы, выведенные на экран. Нетрудно догадаться, что введённый мною счётчик цикла равен 5. Программа пять раз выполнила цикл, каждый раз выводя результат на экран:

      Введите loopCount: 5

      Осталось выполнить 4 циклов( а )

      Осталось выполнить 3 циклов( а )

      Осталось выполнить 2 циклов( а )

      Осталось выполнить 1 циклов( а )

      Осталось выполнить 0 циклов( а )

      Press any key to continue...

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

Реже используется другая версия цикла while, известная как do ... while. Она работает аналогично, но условие завершения проверяется в конце, после выполнения тела цикла.

      do

      {

          // Тело цикла

      }

      while ( условие ) ;

Поскольку условие проверяется только в конце, тело оператора do ... while выполняется всегда хотя бы один раз.

«Условие завершения цикла проверяется только в начале оператора while или в конце оператора do . . . while. Даже если в какой-то момент оно перестанет быть справедливым, программа продолжит выполнение цикла до следующей проверки условия.»

[Атас!]

_________________

69 стр. Глава 5. Операторы управления программой

<p id="chapter5.2.2"><strong><emphasis>Использование операторов инкремента и декремента...70</emphasis></strong></p>

Очень часто для какого-либо подсчёта в циклах программисты используют операторы инкремента или декремента. Заметим, что в следующем фрагменте программы WhileDemo для уменьшения значения счётчика используются операторы присвоения и вычитания:

      while ( loopCount > 0 )

      {

          loopCount = loopCount - 1 ;

          cout << "Осталось выполнить "

                << loopCount << " циклов\n" ;

      }

Используя оператор декремента, этот цикл можно записать более компактно:

      /* В цикле выводим значения */

      while ( loopCount > 0 )

      {

          loopCount-- ;

          cout << "Осталось выполнить "

               << loopCount << " циклов\n" ;

      }

Смысл этого варианта цикла полностью совпадает со смыслом оригинала. Единственная разница — в способе записи.

Поскольку оператор декремента одновременно уменьшает аргумент и возвращает его значение, он может включаться в условие цикла while. В частности, допустима следующая версия цикла:

      /* В цикле выводим значения */

      while ( loopCount-- > 0 )

      {

          cout << "Осталось выполнить "

                << loopCount << " циклов\n" ;

      }

Хотите — верьте, хотите — нет, но большинство программистов на С++ используют именно этот вариант записи. И не потому, что им нравится быть остроумными; хотя почему бы и нет? Использование в логических сравнениях операторов инкремента и декремента делает программный код легко читаемым и более компактным. И вряд ли вы, исходя из своего опыта, сможете предложить достойную альтернативу.

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных