0
int j = 2;
for (int i = 1; i < 100; i = i + 2)
{
    j = j - 1;
    while(j < 15) 
    { 
        j = j + 5;
    }
}

Сколько раз в этом цикле будет выполняться строка j = j - 1; Почему цикл выполниться 50 раз? Обьясните, пожалуйста.

Bulson
  • 9,411

2 Answers2

4

С помощью отладчика и точек остановки вы сможете понять как работает тот или иной код, а также найти ошибки. пример использования точки остановки

Bulson
  • 9,411
1

Работа цикла такова (грубо):

  1. Если условие (здесь i < 100) false, то покидаем цикл
  2. Выполнить код внутри цикла
  3. Выполнить действие цикла (здесь i = i + 2)

Почему цикл работает 50 раз?

Все очень просто: сперва i = 0, после 1-й итерации i = 2 (увеличивается на 2), после 2-й итерации i = 4 и т. д. После n-й итерации i = n * 2. Цикл завершается, когда i >= 100, а после 50 итераций i = 100 (i = 50 * 2 = 100). Вот и получается эти 50 раз, т. к. Вы увеличили скорость "роста" i в 2 раза.

Сколько раз выполнится j = j - 1

Столько раз сколько и цикл выполнит итераций, т. е. 50 раз.

return
  • 2,740