Вход | Регистрация
 

Программированист1С

↓ [Волшебник, 19.10.19 - 17:45]
Программированист1С
Я
   Makc1998
 
19.10.19 - 02:05
Приветствую. Учусь программировать, объясните пожалуйстана логику и результат данного цикла, что то самому сложновато получается

Для Шаг1 = 1 По 2 Цикл

    Для Шаг2 = 1 По 3 Цикл

        Сообщить("Значения равны: " + Шаг1 + " " + Шаг2);

    КонецЦикла;

КонецЦикла;

Результат:

Значения равны: 1 1
Значения равны: 1 2
Значения равны: 1 3
Значения равны: 2 1
Значения равны: 2 2
Значения равны: 2 3

Заранее благодарю!
 
 
   Конструктор1С
 
1 - 19.10.19 - 04:11
Тебе надо бы освоить отладку. Раз прошагаешь отладчиком, и сразу станет понятно что и как выполняется
https://programmist1s.ru/otladka-1s/

Цикл условно можно разделить на две части - условие выполнения цикла и тело цикла
[Для Шаг1 = 1 По 2] - условие выполнения цикла

[Цикл ... КонецЦикла] - тело цикла

Условие цикла как бы отвечает на вопрос "Что мы перебираем?". В данном случае перебираем значения от 1 до 2. Для Шаг2 = 1 По 3 - перебираем значения от 1 до 3

Тело цикла как бы отвечает на вопрос "Что мы делаем на каждом шаге цикла?"
   Злопчинский
 
2 - 19.10.19 - 05:20
(0) два раза просчитать до трех.
каждый просчет - нумеруется. внутри просчета нумеруешь сам счет.
   Консультант Баранов
 
3 - 19.10.19 - 10:28
(0) Толсто. В любом случае, с 1С это никак не связано. См. Теорию алгоритмов.

(2) > два раза просчитать до трех.

А у меня получается 9, прям логарифм какой-то.
   Лефмихалыч
 
4 - 19.10.19 - 10:34
(0) на каждую итерацию внешнего цикла выполняется три итерации внутреннего, внутренний цикл на каждой своей итерации выводит значения обоих счетчиков. Это - по части логики.
результат ты сам же и показал, что еще по части результата не понятно?
   Asmody
 
Модератор
5 - 19.10.19 - 10:45
Тема не отражает суть сообщения
   Волшебник
 
6 - 19.10.19 - 17:45
И что же тут сложного

ты говоришь первому циклу, пройти 2 раза
первый цикл выполняется, параметр Шаг1 =2
Входим во второй цикл, ты говоришь ему пройти 3 раза и выводишь значения
Шаг1 во вложенном цикле остается константой и равен 1, шаг2 при прохождении увеличивается на 1
имеем результатк первого прохода вложенного цикла
Значения равны: 1 1
Значения равны: 1 2
Значения равны: 1 3

вложенный цикл кончился переходим к первому циклу, счетчик Шаг1 увеличивается на 1 имеем Шаг1=2
переходим во вложенный цикл, где заново присваиваем Шаг2  = 1 и опять проходимся 3 раза увеличивая Шаг2 на единицу, при этом Шаг1 остается константой и равен 2,
имеем вывод данных
Значения равны: 2 1
Значения равны: 2 2
Значения равны: 2 3

надеюсь понятно

Список тем форума
Рекламное место пустует  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.