Russian subtitles

← 02-38 while-циклы (Решение)

Get Embed Code
9 Languages

Showing Revision 2 created 07/30/2013 by handfulofvoid.

  1. Правильный ответ – программа выводит числа от 1 до 10.
  2. И если мы проследим за выполнением кода, то поймем, почему.
  3. Итак, i изначально равно 0.
  4. В цикле проверяется условие i != 10,
  5. и поскольку 0 не равен 10,
  6. мы переходим к вложенному блоку,
  7. который прибавляет 1 к i
  8. и присваивает i полученное значение.
  9. Теперь i равно 1.
  10. А следующая инструкция выводит на экран значение i.
  11. В i теперь хранится значение 1, поэтому на экране появится 1.
  12. А поскольку это while-цикл, мы возвращаемся обратно.
  13. Мы снова выполняем проверку – я не буду расписывать каждый шаг цикла, поэтому продолжим.
  14. i будет расти, а мы будем повторять цикл.
  15. И наконец – пусть текущее значение i равно 9,
  16. и к этому моменту – ну то есть когда i уже равно 9 – мы выводим 9.
  17. Мы уже вывели числа от 1 до 9.
  18. И в этот момент i все еще не равно 10,
  19. поэтому мы выполняем тело цикла:
  20. добавляем 1 к i, после чего i становится равным 10.
  21. Затем мы выводим i, и на экране появляется 10.
  22. Затем мы возвращаемся к условию while-цикла.
  23. Теперь значение i равно 10, поэтому условие i != 10, то есть 10 != 10,
  24. ложно, поскольку 10 равно 10.
  25. Это значит, что мы прекращаем выполнять while-цикл
  26. и идем дальше,
  27. но больше инструкций нет, и поэтому мы прекращаем выполнение кода,
  28. В результате код вывел числа от 1 до 10,
  29. и больше ничего.
  30. Итак, теперь условие ложно.
  31. Мы больше не будем выполнять вложенный блок, и должны перейти к следующей инструкции.
  32. Но ее нет, а значит, мы закончили.
  33. И наш код вывел числа от 1 до 10.