@sulim000333

Циклы. While, do while, for, чем отличаются?

Прошу объяснить понятными определениями.. Я уже все перерыл и перечитывал, но мозгу все равно очень трудно осваивать это. Объясните мне как 3 летнему ребенкуXD))
  • Вопрос задан
  • 477 просмотров
Решения вопроса 2
si1n3rd
@si1n3rd
Если вам не хватает информации в интернете, чтобы понять столь элементарные вещи, стоит серьезно задуматься, идете ли вы в нужном направлении.

P.S. Трехлетнему ребенку я посоветовал бы строить домики из кубиков.

UPD.
Есть конструкция for:
for (init-expression; cond-expression; loop-expression)
    statement

init-expression - выражение, которое выполняется лишь раз при старте цикла, например, чтобы задать начальное значение счетчика.
cond-expression - условие, которое проверяется перед каждой итерацией.
loop-expression - выражение, которое выполняется после каждой итерации.
Данный вид цикла может как выполняться, так и нет, в зависимости от истинности условия.

Есть конструкция while:
while (cond-expression)
    statement

cond-expression - условие, которое проверяется перед каждой итерацией.
Данный вид цикла может как выполняться, так и нет, в зависимости от истинности условия.

Есть конструкция do-while:
do {
    statement
} while (cond-expression)

cond-expression - условие, которое проверяется после каждой итерацией.
Данный вид цикла выполняется минимум один раз.

Что непонятно?
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
While — сначала проверь, потом сделай, и так по кругу.
Do — сначала сделай, потом проверь, и так по кругу.

Отличаются они только случаем, когда условие не выполняется: while не пройдёт, а do пройдёт один раз.
// Пример 1.
// верно
while (впереди свободно) шаг;
// неверно — можно врезаться в препятствие, если нельзя сделать ни шагу
do шаг while (впереди свободно);

// Пример 2.
// Неверно — пока у вас в руках нет рубашки, условие цикла некорректно
while (рубашка грязная) возьми рубашку;
// верно
do возьми рубашку; while (рубашка грязная);


Циклы for, foreach и прочие — это разновидность цикла while (не do!!), сделанная для специального сценария: пройти некий набор объектов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Слишком очевидный ответ, если посмотреть на примеры: www.php.su/learnphp/cs/?cycles

Допустим у Вас есть коробочка в которой хранятся бутылочки с "пивасиком" и бутылочки с "молоком"
Если Ваш батя попросил протереть все бутылки из коробочки - это foreach
Если каждую бутылку, пока в коробке не закончится пивасик - это while
Если каждую бутылку, пока протертых бутылок с пивасиком станет 4 - это тоже while
Если каждую бутылку, пока в коробке не закончится пивасик, но раз уж взял бутылку последнюю с молоком, то будь любезен протри - это do-while
Если с 3-й по 12-ю - это for
Если только с молоком - это мамка, а не батя
Ответ написан
lxsmkv
@lxsmkv
Test automation developer
Нам в школе так обьяснили:
while - в зависимости от условия тело цикла может быть не выполнено ни разу.
do while - тело цикла будет выполнено минимум один раз.

ну а for - будет выполняется для выбраных элементов последовательности (какие это будут элементы - указывается в условии). Тут можно задать периодичность, например, для каждого второго элемента.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы