Читаем Язык программирования C++. Пятое издание полностью

Откомпилируйте программу с этими тремя операторами и проверьте правильность своего ответа. Исправьте ошибки, сообщения о которых были получены.

<p>1.4. Средства управления</p>

Операторы обычно выполняются последовательно: сначала выполняется первый оператор в блоке, затем второй и т.д. Конечно, при последовательном выполнении операторов много задач не решить (включая проблему книжного магазина). Для управления последовательностью выполнения все языки программирования предоставляют операторы, обеспечивающие более сложные пути выполнения.

<p>1.4.1. Оператор <code>while</code></p>

Операторwhile организует итерационное (циклическое) выполнение фрагмента кода, пока его условие остается истинным. Используя оператор while, можно написать следующую программу, суммирующую числа от 1 до 10 включительно:

#include

int main() {

 int sum = 0, val = 1;

 // продолжать выполнение цикла, пока значение val

 // не превысит 10

 while (val <= 10) {

  sum += val; // присвоить sum сумму val и sum

  ++val;      // добавить 1 к val

 }

 std::cout << "Sum of 1 to 10 inclusive is "

           << sum << std::endl;

 return 0;

}

Будучи откомпилированной и запущенной на выполнение, эта программа отобразит на экране следующий результат:

Sum of 1 to 10 inclusive is 55

Как и прежде, программа начинается с включения заголовка iostream и определения функции main(). В функции main() определены две переменные типа intsum, которая будет содержать полученную сумму, и val, которая будет содержать каждое из значений от 1 до 10. Переменной sum присваивается исходное значение 0, а переменной val — исходное значение 1.

Новой частью программы является оператор while, имеющий следующий синтаксис.

while (условие)

 оператор

Оператор while циклически выполняет оператор, пока условие остается истинным. Условие — это выражение, результатом выполнения которого является истина или ложь. Пока условие истинно, оператор выполняется. После выполнения оператора условие проверяется снова. Если условие остается истинным, оператор выполняется снова. Цикл while продолжается, поочередно проверяя условие и выполняя оператор, пока условие не станет ложно.

В этой программе использован следующий оператор while:

// продолжать выполнение цикла, пока значение val

// не превысит 10

while (val <= 10) {

 sum += val; // присвоить sum сумму val и sum

 ++val;      // добавить 1 к val

}

Для сравнения текущего значения переменной val и числа 10 условие цикла использует оператор меньше или равно (оператор <=). Пока значение переменной val меньше или равно 10, условие истинно и тело цикла while выполняется. В данном случае телом цикла while является блок, содержащий два оператора.

{

 sum += val; // присвоить sum сумму val и sum

 ++val;      // добавить 1 к val

}

Блок (block) — это последовательность из любого количества операторов, заключенных в фигурные скобки. Блок является оператором и может использоваться везде, где допустим один оператор. Первым в блоке является составной оператор присвоения (compound assignment operator), или оператор присвоения с суммой (оператор +=). Этот оператор добавляет свой правый операнд к левому операнду. Это эквивалентно двум операторам: суммы и присвоения.

sum = sum + val; // присвоить sum сумму val и sum

Таким образом, первый оператор в блоке добавляет значение переменной val к текущему значению переменной sum и сохраняет результат в той же переменной sum.

Следующее выражение использует префиксный оператор инкремента (prefix increment operator) (оператор ++), который осуществляет приращение:

++val; // добавить 1 к val

Оператор инкремента добавляет единицу к своему операнду. Запись ++val эквивалентна выражению val = val + 1.

После выполнения тела цикл while снова проверяет условие. Если после нового увеличения значение переменной val все еще меньше или равно 10, тело цикла while выполняется снова. Проверка условия и выполнение тела цикла продолжится до тех пор, пока значение переменной val остается меньше или равно 10.

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

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

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

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

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

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

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

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

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