While program c windows

Циклы в C++ — урок 4

Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. В этом уроке мы научимся программировать циклы на C++, после чего посчитаем сумму всех чисел от 1 до 1000.

Цикл for

Если мы знаем точное количество действий (итераций) цикла, то можем использовать цикл for . Синтаксис его выглядит примерно так:

Итерацией цикла называется один проход этого цикла

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

Счетчик цикла — это переменная, в которой хранится количество проходов данного цикла.

Описание синтаксиса

Сначала присваивается первоначальное значение счетчику, после чего ставится точка с запятой.

Затем задается конечное значение счетчика цикла. После того, как значение счетчика достигнет указанного предела, цикл завершится. Снова ставим точку с запятой.

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

Пример кода

Напишем программу, которая будет считать сумму всех чисел от 1 до 1000.

Если мы скомпилируем этот код и запустим программу, то она покажет нам ответ: 500500. Это и есть сумма всех целых чисел от 1 до 1000. Если считать это вручную, понадобится очень много времени и сил. Цикл выполнил всю рутинную работу за нас.

Заметьте, что конечное значение счетчика я задал нестрогим неравенством ( — меньше либо равно), поскольку, если бы я поставил знак меньше, то цикл произвел бы 999 итераций, т.е. на одну меньше, чем требуется. Это довольно важный момент, т.к. здесь новички часто допускают ошибки, особенно при работе с массивами (о них будет рассказано в следующем уроке). Значение шага цикла я задал равное единице. i++ — это тоже самое, что и i = i + 1.

В теле цикла, при каждом проходе программа увеличивает значение переменной sum на i . Еще один очень важный момент — в начале программы я присвоил переменной sum значение нуля. Если бы я этого не сделал, программа вылетела вы в сегфолт. При объявлении переменной без ее инициализации что эта переменная будет хранить «мусор».

Естественно к мусору мы ничего прибавить не можем. Некоторые компиляторы, такие как gcc, инициализирует переменную нулем при ее объявлении.

Цикл while

Когда мы не знаем, сколько итераций должен произвести цикл, нам понадобится цикл while или do. while. Синтаксис цикла while в C++ выглядит следующим образом.

Данный цикл будет выполняться, пока условие, указанное в круглых скобках является истиной. Решим ту же задачу с помощью цикла while. Хотя здесь мы точно знаем, сколько итераций должен выполнить цикл, очень часто бывают ситуации, когда это значение неизвестно.

Ниже приведен исходный код программы, считающей сумму всех целых чисел от 1 до 1000.

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

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

В данном случае мы обязательно должны присвоить счетчику цикла какое-либо значение, т.к. в предыдущей программе мы это значение присваивали внутри цикла for, здесь же, если мы не инициализируем счетчик цикла, то в него попадет «мусор» и компилятор в лучшем случае выдаст нам ошибку, а в худшем, если программа соберется — сегфолт практически неизбежен.

Читайте также:  Не меняется тема рабочего стола windows 10

Затем мы описываем условие цикла — «пока переменная i меньше 1000 — выполняй цикл». При каждой итерации цикла значение переменной-счетчика i увеличивается на единицу внутри цикла.

Когда выполнится 1000 итераций цикла, счетчик станет равным 999 и следующая итерация уже не выполнится, поскольку 1000 не меньше 1000. Выражение sum += i является укороченной записью sum = sum + i .

После окончания выполнения цикла, выводим сообщение с ответом.

Цикл do while

Цикл do while очень похож на цикл while . Единственное их различие в том, что при выполнении цикла do while один проход цикла будет выполнен независимо от условия. Решение задачи на поиск суммы чисел от 1 до 1000, с применением цикла do while .

Принципиального отличия нет, но если присвоить переменной i значение, большее, чем 1000, то цикл все равно выполнит хотя бы один проход.

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

Цикл while в C++: синтаксис и игра

Цикл while является важнейшим компонентов в любом языке программирования. Данный цикл выполняет определенные действия, пока условие истинно.

Структура цикла while

Цикл while имеет самую простую структуру из всех циклов (по сравнению с тем же циклом for). Однако имеет несколько отличий:

Теперь давайте я вам подробнее расскажу об его синтаксисе:

  1. Ключевое слово while .
  2. После, в круглых скобках, указываем логическое выражение. Цикл будет выполнятся до тех пор, пока оно истинно.
  3. Далее идет тело цикла. Это собственно тот код, который должен выполняться. Фигурные скобки можно опустить, в том случае, если мы указали лишь одну операцию.

Теперь, чтобы закрепить знания, давайте напишем простенькую программу, а затем разберем ее.

Пример

Данная программа поочередно получает числа, а затем выводит сообщения для каждого из них: четное или нечетное. Вот код:

Данная программа при ее запуске выдаст следующее:

Теперь давайте подробнее разберем пример:

  1. Строка 1: устанавливаем локаль.
  2. Строки 3-4: выводим краткое описание программы.
  3. Строки 6-8: вводим первое число.
  4. Строки 10-16: это цикл while . Давайте его рассмотрим поподробнее:
    • в качестве логического выражения выступает следующее условие: number != -1 . Пока введенное число не будет равным -1 , цикл будет выполняться;
    • далее идет оператор ветвления if. В нем мы проверяем число. Если оно оказывается четным, то мы выводим соответствующее сообщение. Иначе, выводим «Нечетное»;
    • ну и в конце, мы считываем очередное число, которое будет обработано в следующей итерации цикла while;
  5. Конец программы.

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

while: реализуем простую игру

Теперь давайте соберем все свои знания которые касаются цикла while и создадим полноценное консольное приложение.

Оно будет делать следующее:

  1. Программа загадывает число из определенного промежутка.
  2. Пользователь вводит число.
  3. Программа выводит следующее:
    • мое число меньше;
    • ты угадал;
    • мое число больше;
  4. Затем мы возвращаемся к пункту 2 до тех пор, пока пользователь не угадает число.

Вот суть программы. Вот ее реализация на C++:

BestProg

Оператор цикла do-while . Примеры использования

Содержание

Поиск на других ресурсах:

1. Оператор цикла do-while . Особенности использования. Общая форма

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

Общая форма оператора

  • условие – условие выполнения циклического процесса. Если значение условие = True , то будут выполняться операторы, размещенные между фигурными скобками (словами do и while ).
2. Схема работы оператора цикла do-while

На рисунке 1 отображена схема работы цикла do-while .

Рис. 1. Схема работы оператора цикла do-while

3. Примеры решения задач с оператором цикла do-while
3.1. Вычисление суммы чисел последовательности

Дана непустая последовательность целых чисел, которая заканчивается нулем. Вычислить сумму всех чисел последовательности.

Текст программы для приложения типа Console Application следующий

Результат выполнения программы

3.2. Поиск значения в ряде чисел

Дано число a (1 a ≤1.5). Среди чисел

найти первое, меньшее a .

Текст программы для приложения типа Console Application .

Результат выполнения программы

3.3. Определение количества цифр в числе

Дано натуральное число. Определить количество цифр 7 в нем.

Текст программы для приложения типа Console Application следующий

Результат выполнения программы

3.4. Определение закономерности в последовательности

Дано натуральное число. Определить, есть ли последовательность его цифр при просмотре слева направо упорядоченной по убыванию. Например, для числа 9621 ответ положительный, для числа 8340 ответ отрицательный.

Текст программы для приложения типа Console Application

Паскаль — Урок 6: Циклы while, for, repeat

Вчера мы узнали о понятии циклы в паскале в общих чертах, сегодня узнаем о каждом из циклов в паскале поподробней и увидим как они задаются. Будем разбирать цикл while с предусловием, цикл for с параметром и цикл repeat — until с постусловием.

1. Цикл с параметром в Паскале — FOR

Цикл FOR задаёт определённое условие по которому программа будет работать до его выполнения, допустим нужно нам 5 (или n) раз зациклить программу, то это легко сделать с помощью данного цикла. У цикла FOR есть характерная черта — счетчик который обычно обозначается буквой i или j.

Внешний вид цикла с параметром в паскале:

После 1-го прохода переменной i присваиваем 1, после второго присваиваем 2 и так до тех пор, пока не дойдем до n. to — это до .. в порядке возрастания, также есть downto — до .. в порядке убывания.

Блок — схема цикла с параметром:

2. Цикл с предусловием в Паскале — WHILE

Оператор цикла с предусловием выполняет действия заранее неизвестное число раз. Выход из цикла осуществляется, если некоторое логическое выражение или его результат окажется ложным. Так как верность логического выражения проверяется в начале, тело цикла может не выполнится ни одного разу.

Структура цикла с предусловием:

— логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;

— любые выполняемые операторы языка.

Порядок выполнения цикла:

Пока условие истинно выполняется тело цикла. Как только условие становится ложно выполнение цикла прекращается.

Блок — схема цикла с предусловием:

Примечание: в прямоугольных блоках показано любое действие, которое выполняется в цикле или после него (шаг цикла), в овалах — начало или конец всей программы или её части. Главную роль в данной блок — схеме играет её центральная часть.

Задача: вычислить сумму ряда 1+1.5+2+2.5+3+3.5+ .. + 30

3. Цикл с постусловием — Repeat — until.

Этот оператор аналогичен оператору цикла с предусловием, но отличается от него тем, что проверка условия производится после выполнения тела (действий) цикла. Это обеспечивает его выполнение хотя бы один раз в отличие от ранее разобранных циклов.

Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, то есть можно выполнять несколько действий, поэтому служебные слова Begin и End не нужны.

Последовательность операторов, входящих в тело цикла выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие не соблюдается, цикл завершается. В противном случае — тело цикла повторяется ещё раз, после чего снова проверяется соблюдение условия.

Блок — схема цикла с постусловием:

Формат записи, структура цикла:

Выводы:

1.Цикл с параметром используется переменная, называемая параметром цикла или счётчиком. Перед выполнением цикла параметру (счётчику) устанавливается начальное значение. После выполнения шага цикла значение параметра увеличивается на единицу. Цикл продолжается до тех пор пока параметр не достигнет своего конечного значения, которое указывается после to (downto).

2. Цикл с предусловием выполняется до тех пор, пока условие выполнения не станет ложным, и продолжается, если условие истинно.

3. Цикл с постусловием выполняется до тех пор, пока условие не станет истинно, если условие ложно, цикл продолжается.

BestProg

Оператор цикла while . Общая форма. Примеры решения задач

Содержание

Поиск на других ресурсах:

1. Назначение оператора цикла while . Общая форма. Особенности использования

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

Общая форма оператора цикла while следующая:

  • условие – некоторое условие согласно синтаксису языка C#. Инструкция оператор выполняется до тех пор, пока значение условие = true . Как только значение условие становится равным false , то циклический процесс прекращается и выполняются следующие после while операторы;
  • оператор – один или несколько операторов. Если в цикле while нужно выполнить несколько операторов одновременно, то эти операторы берутся в фигурные скобки .

Тело цикла ( оператор ) выполняется, пока значение условие есть истинным ( true ). Оператор цикла должен быть организован таким образом, чтобы в конечном счете значение условия стало равно false . Иначе, программа «зависнет», так как выйдет бесконечный цикл.

Общая форма оператора цикла while , в котором выполняются несколько (два и более) операторов имеет следующий вид

2. Понятие вложенных циклов while

Цикл while может быть вложенным в другие конструкции. Этими конструкциями могут быть:

  • циклы for , while , do…while ;
  • оператор условного перехода if ;
  • оператор выбора switch .

Количество уровней вложения, в которых может использоваться цикл while , есть неограниченным.

3. Схема оператора while

На рисунке 1 изображена схема оператора while . Как видно из схемы, сначала происходит проверка условия. Если значение условия равно True , то выполняется тело цикла. Выход из циклического процесса происходит в случае, если значение условия становится равно False .

Рисунок 1. Схема оператора while

4. Примеры решения задач с оператором цикла while
4.1. Вывод результатов вычисления в цикле

Условие задачи. Получить таблицу температур по Цельсию tc от -50 до +50 градусов а также их эквивалентов по шкале Фаренгейта tf , используя соотношение

Решение. Текст программы решения данной задачи для приложения типа Console Application , с использованием цикла while , следующий

4.2. Рекурентные алгоритмы. Вычисление n -го члена последовательности

Условие задачи. Определить n -й член числовой последовательности ( n >2):

Решение. Текст программы решения данной задачи следующий:

В результате выполнения вышеприведенного кода, будет получен следующий результат

4.3. Вычислить значения числа π с заданной точностью

Условие задачи. Вычислить значения числа π, используя формулу:

Определить, какое количество слагаемых нужно для определения числа π с точностью 7 знаков после запятой.

Решение. Для решения подобных задач цикл while подходит как нельзя лучше. Программный код решения задачи для приложения типа Console Application приведен ниже

В результате выполнения вышеприведенного кода был получен следующий результат

5. Примеры решения задач, в которых оператор while есть вложенным
5.1. Цикл while есть вложенным в оператор выбора switch

В примере цикл while есть вложенным в оператор выбора switch . В зависимости от значения переменной a , выбирается соответствующий вариант нахождения суммы:

  • если a =1, то вычисляется s = 5+10+…+100;
  • если a =2, то вычисляется s = 5+10+…+20;
  • если a =3, то вычисляется s = 5+10;
  • иначе вычисляется s =100.

Программный код приложения типа Console Application , решающий данную задачу следующий:

В результате выполнения вышеприведенного кода, на экран будет выведен результат

5.2. Цикл while есть вложенным в операторе цикла for

Условие задачи. Найти количество делителей любого из целых чисел от 120 до 140.

Решение. Ниже приведен программный код, решающий данную задачу для приложения типа Console Application :

В результате выполнения вышеприведенного кода, будет выведен следующий результат

Читайте также:  Error 2203 database c windows installer cannot open database
Оцените статью