В C# имеются четыре различных вида циклов (for, while, do…while и foreach), позволяющие выполнять блок кода повторно до тех пор, пока удовлетворяется определенное условие.
Цикл с параметром — Цикл for C#
Может использоваться в ситуациях, когда до входа в цикл известно количество итераций (повторений цикла). Имеет следующий вид:
for(<инициализация>; <условие>; <порядок выполнения>) { <действия> }
- Инициализация — установка начальных параметров счетчика;
- Условие — условие выхода из цикла, как только оно вернет ложь — произойдет выход из цикла;
- Порядок выполнения — команда увеличения счетчика.
Действия, выполняемые циклически, называются телом цикла. Рассмотрим наиболее общий пример: поиск факториала числа. Факториал числа вычисляется по формуле:
- Цикл do while в C++. Урок 9.
- Урок 12. Циклы WHILE и DO-WHILE — YouTube
- Использование цикла do…while …
N = 1 * 2 * 3 * … * N
Как вы видите, мы заранее знаем, сколько раз должно повториться тело цикла, потому можем использовать счетчик.
int n = (()); // Пользователь вводит число. int factorial = 1; for(int i = 2; i <= n; i++) // Вычисление факториала. { factorial *= i; } (factorial); // Выводим факториал пользователю.
Итак, пользователь вводит любое число. После чего, мы вычисляем факториал по вышеуказанной формуле. Начальное значение факториала необходимо установить в единицу. Цикл начинаем с двойки и повторяем до тех пор, пока счетчик меньше или равен введенному пользователем значению. Если использовать оператор «меньше», мы потеряем умножение на старшее число при вычислении факториала. Порядок выполнения указан как i++, это значит, что на каждой итерации цикла счетчик i увеличивается на единицу. В виде порядка управления может выступать и более сложная математическая формула.
Оператор цикла с предусловием
Синтаксическая диаграмма цикла While
Условие выполнения данного цикла в общем случае задается логическим выражением, которое указывается после ключевого слова while. Телом цикла является оператор, который указан после ключевого слова do. Циклы с предусловием обычно используются в тех случаях, когда количество повторений цикла заранее неизвестно. Этот цикл выполняется до тех пор, пока условие цикла истинно.
Особенности цикла while:
1) В цикле с предусловием сначала идёт проверка условия, после чего выполняется тело цикла, если условие было истинно.
2) После служебного слова do в цикле с предусловием выполняется только один оператор. Если нужно выполнить несколько операторов, то используется составной оператор.
3) Цикл while может не выполниться ни разу.
4) Условие в цикле whilе проверяется на один раз больше, по сравнению с числом повторений тела цикла.
5) Для избежания бесконечного выполнения в теле цикла должен быть оператор, влияющий на условие.
Пример 1. Сколько раз выполнится тело цикла и сколько раз будет произведена проверка условия цикла?
eps:=; x:=1;
While x > eps Do x:=x/2;
Построим трассировочную таблицу
Номер итерации | x | x>eps |
– | 1 | 1> Þ Истина |
1 | 0.5 | 0.5> Þ Истина |
2 | > Þ Истина | |
3 | > Þ Истина | |
4 | > Þ Истина | |
5 | > Þ Истина | |
6 | > Þ Истина | |
7 | > Þ Ложь |
Ответ: тело цикла выполнится 7 раз, а условие цикла будет проверено 8 раз.
Пример 2. Сколько раз выполнится тело цикла?
x:=0;
While x<=10 Do;
x:=x+1;
Правильный ответ: бесконечно много раз, а точнее программа зациклится, т. к. в теле цикла стоит пустой оператор.
Пример 3. Требуется написать программу для решения следующей задачи. В первый день Винни-Пух съел 1 кг мёда, во второй – 2 кг, а каждый последующий день он съедал столько мёда, сколько съел за два предыдущих дня. На какой день Винни-Пух съест не менее X кг мёда? X – натуральное число, X>2.
Program puh;
Var yesterday, before, today, i :integer;
Begin
Writeln(’Введите X’); readLn(X);
Before:=1;
Yesterday:=2;
Today:=before+yesterday;
i:=3;
While today<X Do
Begin
Before:=yesterday;
Yesterday:=today;
Today:=before+yesterday;
i:=i+1
End;
WriteLn(’На ’,i,’-ый день Вини-Пух съест ’,X,’ кг меда’);
End.
Пример 4. Дано целое число. Подсчитать количество цифр данного числа.
Program sum_cif;
Var m, N,k:integer;
Begin
WriteLn(‘Введите целое число’);
ReadLn(N);
If N=0 then k:=1 {При N=0 особый случай}
Else
Begin
m:=N;
k:=0;
While m<>0 Do
Begin
k:=k+1;
m:=m Div 10;
End
End;
WriteLn(’В числе ’,N,’ – ’,k,’ цифр!’)
End.
Обратите внимание, что в данной задаче избавляться от знака числа с использованием функции abs() нет необходимости.
Цикл do while в Java
Цикл do … while похож на цикл while, за исключением того, что цикл do … while гарантированно будет выполнен как минимум один раз.
Ниже приводится синтаксис цикла do … while —
do { // Statements }while(Boolean_expression);
Обратите внимание, что логическое выражение появляется в конце цикла, поэтому операторы в цикле выполняются один раз перед проверкой логического выражения.
Если логическое выражение имеет значение true, элемент управления возвращается к оператору do, а операторы в цикле выполняются очередной раз. Этот процесс повторяется до тех пор, пока логическое выражение не станет ложным.
- Использование цикла do…while …
- ОКН 12 !!! Колтырин Александр : Предмет …
- 8 — Циклы (For, While, Do while)
Пример
public class Test { public static void main(String args[]) { int x = 10; do { («value of x : » + x ); x++; («\n»); }while( x < 20 ); } }
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
Оцени статью
Оценить
Средняя оценка / 5. Количество голосов:
Спасибо, помогите другим — напишите комментарий, добавьте информации к статье.
Или поделись статьей
Видим, что вы не нашли ответ на свой вопрос.
Помогите улучшить статью.
Напишите комментарий, что можно добавить к статье, какой информации не хватает. Отправить
Спасибо за ваши отзыв!
Что такое pass в Python или как ничего не делать в цикле?
pass — это нулевой оператор и используется, когда оператор требуется синтаксисом Python (например, в теле цикла for или while), но никакие действия не нужны. Этот оператор можно использовать как заполнитель для кода, который ещё не написан.
for x in range(10): pass # нам не нужно ничего выполнять или пока не знаем что здесь должно быть, поэтому используем pass
В этом примере ничего не произойдёт. Цикл for завершится без ошибок, но никакие команды или код не будут выполнены. pass позволяет нам успешно выполнять наш код без полной реализации всех команд и действий.
Аналогично, pass можно использовать в циклах while, а также в выборках, определениях функций и т.д.
while x == y: pass
Вложенные циклы
Рассмотрим вложенные циклы в Python. Для реализации можно использовать как вложенные for, так и while.
Про них мы уже писали выше. Здесь же хочется привести пару примеров использования. Они очень часто используются при обработке двухмерных списков.
Вот пример создания двумерного списка и вывода его на экран с помощью print.
d = [[1,2,3],[4,5,6]] for i in range(2): for j in range(3): print(d[i][j])
- Открытый урок «Цикл с предусловием While»
- Цикл do while в C++ | Уроки С++ — Ravesli
- Урок №13 — Циклы For, While и Do While
Нельзя с помощью одного break в Python выйти сразу из двух циклов. В этом случае нужно во внешнем цикле создать условие следующим образом.
toExit = False while True: while True: toExit = doSomething() if toExit: break if toExit: break
Здесь приведен пример использования в Python цикла в цикле. Оба бесконечны. Все будет выполняться бесконечно, до тех пор, пока функция doSomething не вернет True. После этого поочередно сработают break во внешнем и во внутреннем циклах.