Вопрос по циклам в C#

154
22 октября 2019, 11:50
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 раз? Обьясните, пожалуйста.

Answer 1

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

Answer 2

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

  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 раз.

READ ALSO
Программа дождь на с#

Программа дождь на с#

Создать приложение «Дождь», которое позволяет отображать на экране падающие капли дождяКапля представляет собой набор графических элементов...

198
DotNetZip очень долго упаковывает в архив

DotNetZip очень долго упаковывает в архив

Вот мой код, который упаковывает файлы из папки в архив:

157
Как передать массив файлов и текст AJAX в контроллер

Как передать массив файлов и текст AJAX в контроллер

Я формирую FormData из файлов и передаю в контроллер, но мне так же нужно передавать туда текст из TextAreaВот мой код на JS :

149