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

цикл Для По в 1с

цикл Для По в 1с
Я
   unbred
 
15.10.21 - 13:04
1. 367% (4)
2. 433% (2)
Всего мнений: 6

б=3;
    Для а = 1 по б Цикл
        Если а = 2 Тогда
            б = б+1;
        КонецЕсли;
    КонецЦикла;


сколько итераций пройдёт в цикле и почему?)
(пятницо)
   exwill
 
1 - 15.10.21 - 13:08
(0) Так. И в чем прикол?
   exwill
 
2 - 15.10.21 - 13:10
"И что, с этими двумя хохмами он и едет?" (С)
   ДенисЧ
 
3 - 15.10.21 - 13:10
Я за такое обычно git blame делаю или вообще not hires
   volfy
 
4 - 15.10.21 - 13:11
Думаю это бан
   acht
 
5 - 15.10.21 - 13:11
Опять геня кого-то собеседует

1. 3
   pechkin
 
6 - 15.10.21 - 13:12
"по б" - вычисляется до цикла 1 раз
   pechkin
 
7 - 15.10.21 - 13:13
не так как в c - for(i=0; i<5; i++)
   unbred
 
8 - 15.10.21 - 13:13
(5) не. просто я без отладки не смог верно ответить.
   1Сергей
 
9 - 15.10.21 - 13:17
(0) Переделай в рекурсию и не делай нам мозги
   Злопчинский
 
10 - 15.10.21 - 13:18
в православных клюшках никакого чуда не будет,
цикл пройдет три раза штатно, после цикла а=4.
.
а что там в богомерзком снеговике, который упоротые писали иногда под дымом каким-то - хз.. ;-)
   exwill
 
11 - 15.10.21 - 13:18
(9) Вот правильно! Пусть в наказание переделает в рекурсию
   Kassern
 
12 - 15.10.21 - 13:21
(10) как в древних клюшках не знаю, а в современном модно-молодежном снеговике отработает 3 раза)

1. 3
   unbred
 
13 - 15.10.21 - 13:22
(11)     Для а = 1 по б Цикл
        Если а = 2 Тогда
            б = б+1;
        КонецЕсли;
        а=а-1;
       КонецЦикла
так сойдёт?)
   1Сергей
 
14 - 15.10.21 - 13:23
(13) Садись два. Завтра с родителями в школу
   ДенисЧ
 
15 - 15.10.21 - 13:23
(13) Ты вообще что пытаешься сделать?
   exwill
 
16 - 15.10.21 - 13:24
(13) Это не рекурсия. Это - бесконечный цикл. Совершенно разные понятия
   unbred
 
17 - 15.10.21 - 13:25
(15) ничего я не пытаюсь сделать. никогда такого не писал ( как в топике ) , сегодня у меня спросили, что будет если..ответил не правильно. всё.
   exwill
 
18 - 15.10.21 - 13:27
Цикл и рекурсия взаимозаменяемы. Переделай в рекурсию так, чтобы 4 раза отрабатывало
   Злопчинский
 
19 - 15.10.21 - 13:27
(13) теперь понятно чего тормозит снеговик.. он тупо циклит...
   Kassern
 
20 - 15.10.21 - 13:28
(17) вы когда нибудь пробовали обходить табличную часть с конца удаляя не нужные строки? Вас не удивляло, что вы все таки обходите всю тч?
   Kassern
 
21 - 15.10.21 - 13:30
(19) просто пытаются писать по клюшкински, а это не всегда работает, вот и тормозит)) Пора уже начать осваивать снеговиковые методы)
   exwill
 
22 - 15.10.21 - 13:30
Кто первый переделает в рекурсию так, чтобы 4 раза отрабатывало, тому дам конфету
   unbred
 
23 - 15.10.21 - 13:30
(19) алкодекларацию вчера смотрел в бп 3.0
запрос 5 минут выполняется, потом почти трое суток рисует табдок!!! по результатам запроса, из которого (табдока!!!)  потом рисует итоги... циклы тут не при чём
   acanta
 
24 - 15.10.21 - 13:31
(20) а почему выгрузить в тз с номера по номер нельзя?
   Злопчинский
 
25 - 15.10.21 - 13:36
(21) ну, если снеговиковые методы освоить - то будет тормозить гораздо эффективнее! ;-)
   Гипервизор
 
26 - 15.10.21 - 13:38
(8) Ну можно было и в СП заглянуть.
   1Сергей
 
27 - 15.10.21 - 13:38
(22)
Функция Рек(а,б)
    Если а=2 Тогда
        б=б+1;
    КонецЕсли;
    Если а<б Тогда
        Возврат Рек(а+1,б);
    КонецЕсли;
КонецФункции

а=1;
б=3;
Сообщить(Рек(а,б));
   exwill
 
28 - 15.10.21 - 13:41
   Kassern
 
29 - 15.10.21 - 13:42
(24) это вопросы к разработчикам 1с. Есть возможность получить массив строк по отбору, и выгрузить их в тз, если все строки не нужны.
   1Сергей
 
30 - 15.10.21 - 13:42
(28) погоди, у меня там ошибка
 
 
   exwill
 
31 - 15.10.21 - 13:45
(30) Вернет неопределено. Но ведь 4 раза отработает. Или я что-то не понял?
   1Сергей
 
32 - 15.10.21 - 13:46
(31) всё так
   exwill
 
33 - 15.10.21 - 13:47
(32) Тогда условия соблюдены )))
   Kassern
 
34 - 15.10.21 - 13:48
(33) ну все шуруй на почту, конфетка ждет своего получателя)
   exwill
 
35 - 15.10.21 - 13:49
Да, забирай. А то я сейчас от компьютера отойду и только через час подойду
   osa1C
 
36 - 15.10.21 - 14:47
(0) прикольная хрень, заберу себе ))))
   серый КТУЛХУ
 
37 - 15.10.21 - 15:04
инициализация значений границ выполняется при входе в цикл со счетчиком.

1. 3
   Garykom
 
38 - 15.10.21 - 15:09
(0) Советую проверить в "1C:Исполнитель. Бета-версия"
   sikuda
 
39 - 15.10.21 - 17:11
(38) Зачем? Если просто проверить аналогичное на php, js, python
   NurSagen
 
40 - 15.10.21 - 17:35
Я бы без сомнений выбрал 4...

2. 4
   exwill
 
41 - 15.10.21 - 18:40
(40) А теперь представьте, что пишите интерпретатор. Каков будет ваш выбор и почему?
   серый КТУЛХУ
 
42 - 15.10.21 - 18:50
(41): а каким боком это к методологии и идеологии разницы между циклом со счетчиком и циклом по условию?
   MWWRuza
 
43 - 15.10.21 - 19:49
Клюшки говорят - три.
https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/h-409.jpg
И мне нет оснований им недоверять :-)
Почему - разбираться лень... Пятница, однако :-(
   MWWRuza
 
44 - 15.10.21 - 19:53
Хотя, посмотрел глазами сейчас, вроде должно быть четыре...
   xXeNoNx
 
45 - 15.10.21 - 19:57
а как же после третьей итерации указатель возвращается на начало цикла и происходит проверка на условие цикла, а затем происходит выход?
   серый КТУЛХУ
 
46 - 15.10.21 - 19:58
(44): нет, не должно. см.(37)+(42).
   серый КТУЛХУ
 
47 - 15.10.21 - 20:00
(45): это не цикл по условию. это цикл со счетчиком. в нем выполняется не проверка условия, а проверка на превышение счетчиком установленной при инициализации цикла предельного значения.
   MWWRuza
 
48 - 15.10.21 - 20:02
Т.е., если внутри цикла мы меняем его предельное значение, то это не должно отрабатывать, должно работать только то, что до начала выполнения цикла назначено?
   серый КТУЛХУ
 
49 - 15.10.21 - 20:02
(45) твое замечание будет верным для такого: б=3; а=1; Пока а <= б Цикл Если а=2 Тогда б=б+1 КонецЕсли КонецЦикла;
   kosts
 
50 - 15.10.21 - 20:12
3

1. 3
   exwill
 
51 - 15.10.21 - 20:20
(48) А ты сам бы как сделал?
   Злопчинский
 
52 - 15.10.21 - 20:21
(48) угу, это в клюшках давно известно
   exwill
 
53 - 15.10.21 - 20:25
(42) Третьим. Т.е. самым что ни на есть прямым. Чтобы понять почему так, следует представить себе как бы ты действовал
   xXeNoNx
 
54 - 15.10.21 - 20:29
(47) епт, проверка условия ВЫХОДА!
   xXeNoNx
 
55 - 15.10.21 - 20:30
(49) хочешь сказать что у цикле нет условия выхода?
   exwill
 
56 - 15.10.21 - 20:33
(55) Есть. И это достижение счетчиком ЗАРАНЕЕ установленного значения.
   Сергиус
 
57 - 15.10.21 - 20:45
(0)Священный СП: "Максимальное значение счетчика цикла. Когда переменная <Имя переменной> становится больше чем <Выражение 2>, выполнение оператора цикла Для прекращается. Данное значение вычисляется однократно перед началом цикла и не может быть изменено внутри цикла."
   Йохохо
 
58 - 15.10.21 - 20:58
(57) кто убил пятницу должен принести новую
   Злопчинский
 
59 - 15.10.21 - 22:02
   Droning1C
 
60 - 15.10.21 - 23:51
а я вот не знал, что границу нельзя изменить внутри цикла (СП в 5ти книгах стоит в сартире пылится, на случай, если туалетка кончится). Теперь вот знаю, спасибо автору)
 
 
   Droning1C
 
61 - 15.10.21 - 23:52
(60) P/S Версия, встроенная в конфиг - для буржуев
   xXeNoNx
 
62 - 16.10.21 - 02:24
(56) так и я про то что ктулху обосрался
   серый КТУЛХУ
 
63 - 16.10.21 - 16:50
(62) пацан, если кто и обосрался тут - то это ты со своими догребываниями и играми в деда буквоеда.
мошешь не ёрзать - добро пожаловать в игнор, недоГений1с ты наш...
   Patriot1C
 
64 - 16.10.21 - 17:12
Должно быть php

2. 4
   ДенисЧ
 
65 - 16.10.21 - 17:18
(64) php не должно быть. Нигде.
   Patriot1C
 
66 - 16.10.21 - 18:23
(65) Даже в 1С-bitrix.ru ? ;)
   acanta
 
67 - 17.10.21 - 11:52
(65) откуда в таком случае оно взялось?
   ДенисЧ
 
68 - 18.10.21 - 05:25
(67) Самозародилось.
Есть несколько примеров того, чего быть не нужно. Но оно есть. Так и тут.
(66) А что, это священная корова, которую нельзя трогать?


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