TheForgetDragon
@TheForgetDragon
Начинающий по C# , Java

Как понять механизм кода?

int e;
int result;
for (int i = 0; i < 10; i++)
{
    result = 1;
    e = i;
    while (e > 0)
    {
        result *= 2;
        e--;
    }
    Console.WriteLine("2 в степени " + i + " равно " + result);
}

Вывод программы:
2 в степени 0 равно 1
2 в степени 1 равно 2
2 в степени 2 равно 4
2 в степени 3 равно 8
2 в степени 4 равно 16
2 в степени 5 равно 32
2 в степени 6 равно 64
2 в степени 7 равно 128
2 в степени 8 равно 256
2 в степени 9 равно 512
Проблема:
Не могу понять, механизм работы кода, а именно в функции while.
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 4
@S0HardCore
На каждую итерацию внешнего цикла (for), а именно - все, кроме первой (где i = 0) будет цикл while с количеством итераций, равным i. Можно представить это так:
i = 5
while (5 > 0)
{
...
i--;
}
while (4 > 0) { ... i--; }
...
while (1 > 0) { ... i--; }
Конец
Ответ написан
@heartdevil
плыву как воздушный шарик
i=0
e=0
while(0>0)
i=1
e=1
while(1>0)->1 итерация 1
i=2
e=2
while(2>0)->2 итерации 2,1
i=3
e=3
while(3>0)->3 итерации 3,2,1
...
i=9
e=9
while(9>0)->9 итераций 9,8,7,6,5,4,3,2,1
Ответ написан
Комментировать
a_volkov1987
@a_volkov1987
Инженер-схемотехник
Серьёзно? У вас есть IDE с пошаговым выполнением программы и возможностью отслеживать содержимое переменных. Не стесняйтесь, посмотрите, что и когда меняется в процессе выполнения.
Ответ написан
Комментировать
while - тот же цикл с пред условием, что и for
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы