Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/46: Рейтинг темы: голосов - 46, средняя оценка - 4.54
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246

Как Насипов узнал, что в цикле максимальное значение счетчика цикла пересчитывается на каждой итерации?

04.09.2013, 21:05. Показов 10358. Ответов 84
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Курс ведет Гилев, но они вместе с Насиповым сейчас делают этот курс. Не суть.

В общем, процитирую близко к тексту.

1C
1
2
3
Для Индекс = 0 по Массив.Количество() - 1 Цикл
    А = Массив[Индекс];
КонецЦикла;
Т.к. 1С пересчитывает Массив.Количество() - 1 на каждой итерации, то оптимизировать можно так:

1C
1
2
3
4
Колво = Массив.Количество() - 1;
Для Индекс = 0 по КолвоЦикл
    А = Массив[Индекс];
КонецЦикла;
Я согласен, конечно, здесь. Я учил питон и знаю, что теоретически верхняя планка цикла может меняться, т.е. она пересчитывается. Другое дело, что дергать ее нельзя, иначе глюк поймаешь. Но она пересчитывается.

Так вот, я смотрю в доку, и не вижу этого там.

Так откуда он узнал-то? Методом тыка? Я помню, ошибался так с отбором из одного массива в другой на питоне. Дескать, если ты выдернул из массива, он же уменьшился - ай-яй-яй. А ты, дескать, сначала скопируй все нужное в другой массив, а потом примени метод - у тебя из двух массивов останется разница и т.п.

Но я работаю с документацией 1С, привыкаю к ней и хочу видеть, где написано, что верхняя граница цикла двигается.
4
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.09.2013, 21:05
Ответы с готовыми решениями:

Как вернуть значение i из метода после каждой итерации в цикле
Всем привет. Давно не задавал умных вопросов // Тут без комментариев Но затупил на ровном месте ...

Как в цикле for (не выходя из цикла) перейти к следующей итерации?
как в цикле for не выходя их цикла, перейти ко следующей итерации, пропустив данную по определенному условию? Добавлено через 3 минуты...

Как проверять, нажата ли клавиша Esc, в каждой итерации цикла, и если нажата, то прервать выполнение цикла?
OwenGlendower, это обращение прежде всего к вам. Вызов функции, в которой происходит проверка методом...

84
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
05.09.2013, 17:13
Студворк — интернет-сервис помощи студентам
еще пример
0
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
05.09.2013, 17:13  [ТС]
Цитата Сообщение от Kubus Посмотреть сообщение
Kifsif, может приведете тот код который описываете и какую из его переменных в табло помещаете, а то как-то вслепую спорим
Выражение 2 в табло надо поместить. Не, не хочу код писать уже. Хорошо обсудили, но дальше продолжать я, пожалуй, не буду. За сим прощаюсь. Всем спасибо
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
05.09.2013, 17:33
Включение в табло делат тоже самое что и:
1C
1
2
3
Для Индекс = 0 по Массив.Количество() Цикл
    Массив.Количество();
КонецЦикла;
Добавлено через 1 минуту
Естественно оно будет меняться, а вот Инвариант посмотреть не удасться

Добавлено через 2 минуты
Итог:
Выражение 2 после оператора ПО вызывается только для расчета Инварианта

Добавлено через 15 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Процедура КнопкаВыполнитьНажатие(Кнопка)
 
    Перем а;
    Сообщить(а);
 
    
КонецПроцедуры
 
Функция ИнициализироватьЗначение(а)
    
    а="Привет из отладки";
    
КонецФункции
Если поставить точку останова на месте Сообщить(а); и в табло набрать Вычислить("ИнициализироватьЗначение(а)") то переменная инициализируется. И 1С сообщит нам Привет из отладки.
И доказывает что Табло рассчитывается
0
05.09.2013, 20:53

Не по теме:

del

0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
06.09.2013, 00:07
Цитата Сообщение от Dethmontt Посмотреть сообщение
И доказывает что Табло рассчитывается
ну, собственно, присутствие "макрух" с 8.2
Кликните здесь для просмотра всего текста
Встроенные функции языка (Script functions)
Вычислить (Eval)
Синтаксис:

Вычислить(<Выражение>)
Параметры:

<Выражение> (обязательный)

Тип: Строка.
Выражение, которое требуется вычислить.
Возвращаемое значение:

Результат вычисления выражения. Тип возвращаемого значения зависит от типа выражения.
Описание:

Вычисляет переданное выражение. С помощью метода можно вычислять математические и логические выражения, а также операции конкатенации. Подробнее про выражения см. раздел "Выражения языка".

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

А = Вычислить("500 + 500*20/100");
А = Вычислить("Истина и Ложь");
А = Вычислить("""Иван"" + "" "" + ""Иванович""");
ничего и не скрывает. Но даже и в 77 можно было выкрутиться Шаблон(<eval>)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.09.2013, 00:07

Переменная, которая только что использовалась в цикле в качестве счётчика в следующем цикле не используется
Помогите, пожалуйста. Вот отрывок программы (программа целиком- в архиве): procedure TForm1.Button1Click(Sender: TObject); begin ...

Как вывести значение функции на каждой итерации?
помогите...как вывести значение функции на каждой итерации?..число итераций выводит, а таблицу со значениями никак не могу(((:cry:

Вывод значения на каждой итерации цикла
Есть код: $url = htmlspecialchars($_POST); $result = mysql_query('SELECT column_name FROM table_name'); $n =...

AJAX вывод на каждой итерации цикла
Есть такой вот код: &lt;?php include('config.php'); $query = mysql_query(&quot;SELECT title FROM joomla&quot;); $n =...

Поиск среднего арифметического на каждой итерации цикла
Задача состоит в том, чтобы находить среднее арифметическое значение на каждом шаге цикла. Конечное количество значений неизвестно, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
85
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru