Реализация задачки с собеседования: найти максимальное число, но не более, чем ограничено параметром

Публикация № 1529545 31.03.22

Разработка - Математика и алгоритмы

задача матрица сортировка динамическая генерация таблица

Реализация небольшой задачки с собеседования: найти максимальное число в матрице чисел размерностью M*N, заполненной случайными числами, но не большее, чем задано ограничивающим параметром. Сразу скажу, это не с моего собеседования. Просто интересно было решить ее на платформе 1С.

Заинтересовала небольшая теоретическая задачка на алгоритмизацию и работу с матрицами (читай циклами). И захотелось реализовать ее на языке 1С. Заодно вспомнить основы работы с сортировкой. 

Используемая версия платформы 8.3.18.1336.

Решила написать внешнюю обработку и весь код сделать в модуле формы.

Добавила реквизиты: Размерность матрицы, диапазон заполнения: верхняя и нижняя границы и поле ввода для ограничивающего параметра.

Кнопка "Сгенерировать" для генерации матрицы по заданным условиям. И кнопка "Найти число" для поиска первого удовлетворяющего заданным условиям числа.

 

 

Ничего хитрого тут нет. Все операции проводятся на серверной стороне. 

1. СгенерироватьНаСервере()

&НаСервере
Процедура СгенерироватьНаСервере()
	ТЗМодуль = Новый ТаблицаЗначений;
	х = 0;
	у = 0;
	ИмяКолонки = "";
	
	// Создание пустой ТЗ размером М*Н
	ОписаниеСтроки = Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(10));
	Пока х < ЧислоСтолбцов Цикл
		ИмяКолонки = "л"+х+"";
		ТЗМодуль.Колонки.Добавить(ИмяКолонки, ОписаниеСтроки);
		х = х + 1;
	КонецЦикла;
	Пока у < ЧислоСтрок Цикл	
		ТЗМодуль.Добавить();
		у = у + 1;
	КонецЦикла;
	
	// Заполнение ТЗ случайными числами
	ГСЧ = Новый ГенераторСлучайныхЧисел();
	х = 0;
	у = 0;
	Пока х < ЧислоСтрок Цикл
		Пока у < ЧислоСтолбцов Цикл	
			ТЗМодуль[х][у] = ГСЧ.СлучайноеЧисло(НижняяГраница, ВерхняяГраница);
			у = у + 1;
		КонецЦикла;
		у = 0;
		х = х + 1;
	КонецЦикла;
	
	
	Для Каждого Колонка Из ТЗМодуль.Колонки Цикл
		Инфо = Инфо + " " +Колонка.Имя+ " Тип значения: " +Колонка.ТипЗначения + ". "; 
	КонецЦикла;
	
	// Собирается инофрмация по добавленным ранее элементам формы и реквизитам, на которые элементы формы ссылаются.
	УдаляемыеРеквизиты = Новый Массив;
	УдаляемыеЭлементы = Новый Массив;
	Для каждого Эл Из Элементы.ТЗ.ПодчиненныеЭлементы Цикл
		УдаляемыеРеквизиты.Добавить(Эл.ПутьКДанным);
		УдаляемыеЭлементы.Добавить(Эл);
	КонецЦикла; 
	Для каждого Эл Из УдаляемыеЭлементы Цикл
		Элементы.Удалить(Эл);
	КонецЦикла; 

	// Добавляются колонки из ТаблицыЗначений ТЗМодуль в реквизит формы ТЗ
	НовыеРеквизиты = Новый Массив;
	Для Каждого Колонка Из ТЗМодуль.Колонки Цикл
		НовыйРеквизит = Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "ТЗ", Колонка.Заголовок);
	   	НовыеРеквизиты.Добавить(НовыйРеквизит);
	КонецЦикла;
	
	//Удаляются старые и устанавливаются новые реквизиты
	ИзменитьРеквизиты(НовыеРеквизиты, УдаляемыеРеквизиты);
	
	// Динамически добавить на форму элемент формы ТЗ со всеми колонками
	// Добавляются колонки из ТаблицыЗначений в элементы ТабЭлементФормы со ссылкой на колонки в ТабРеквизит
    Для Каждого Колонка Из ТЗМодуль.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы.ТЗ);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; //Или ПолеВвода, или что-то другое;
		ПутьКДанным = "ТЗ." + Колонка.Имя;
		НовыйЭлемент.ПутьКДанным = ПутьКДанным;
    КонецЦикла;
	
 	// В созданный реквизит загружается ТЗ
	ЗначениеВРеквизитФормы(ТЗМодуль, "ТЗ");

КонецПроцедуры

Здесь сначала происходит создание пустой таблицы значений. с описанием типов для колонок. Потом заполнение таблицы случайными значениями через объект встроенного языка ГенераторСлучайныхЧисел().

Потом динамически добавляем на форму колонки для таблицы значений. Вызываем стандартную процедуру глобального контекста ИзменитьРеквизиты().  

И вторая команда: Найти число. Здесь происходит поиск первого наибольшего числа, но не большего, чем задано в ограничении. 

&НаСервере
Процедура НайтиЧислоНаСервере()
	ТЗРасчет = РеквизитФормыВЗначение("ТЗ");
	х = 0;
	у = 0;
	к = 0;
	СчетчикИзмененияК = 0;
	
	МассивПодходящихЧисел = Новый Массив();
	МассивКоординатНайденных = Новый Массив();
	МассивКоординатНайденных.Добавить(Новый Массив());
	МассивКоординатНайденных.Добавить(Новый Массив());
	// 1. найти, а есть ли вообще хоть одно число, удовлетворяющее условию?
	Пока х < ЧислоСтрок Цикл
		Пока у < ЧислоСтолбцов Цикл	
			 
			Если Число(ТЗРасчет[х][у]) < МеньшеЭтогоЧисла Тогда
				 к = Число(ТЗРасчет[х][у]);
				 МассивПодходящихЧисел.Добавить(к);
				 МассивКоординатНайденных[0].Добавить(х);
				 МассивКоординатНайденных[1].Добавить(у);
				 СчетчикИзмененияК = СчетчикИзмененияК + 1;
			Иначе
				//
			КонецЕсли;
			у = у + 1;
		КонецЦикла;
		у = 0;
		х = х + 1;
	КонецЦикла;
	
	Если СчетчикИзмененияК > 0 Тогда
		Результат = к;
	Иначе
		Результат = "Нет числа, удовлетворяющего условию."
	КонецЕсли;
	
	// 2. Имея массив отобранных чисел, надо найти максимальный элемент в массиве.
	// Если такое число вообще есть
	Если Результат <> "Нет числа, удовлетворяющего условию." Тогда
		х = 0;
		ПоследняяПозицияИзмененияК = 0;
		ЗнакПредыдущегоШага = NULL;
		ЗнакТекущегоШага = NULL;		
		МахЭлемент = МассивПодходящихЧисел[0];
		Пока х < МассивПодходящихЧисел.Количество() Цикл
			Если МахЭлемент < МассивПодходящихЧисел[х] Тогда
				МахЭлемент = МассивПодходящихЧисел[х];
				ПоследняяПозицияИзмененияК = ПоследняяПозицияИзмененияК + 1; 
				ЗнакТекущегоШага = ИСТИНА;
			Иначе
				ЗнакТекущегоШага = ЛОЖЬ;	
			КонецЕсли;
			х = х + 1;
		КонецЦикла;
		Результат = МахЭлемент;
	Иначе
		// 	
	КонецЕсли;
	
	
КонецПроцедуры

 

Скачать файлы

Наименование Файл Версия Размер
Реализация задачки с собеседования: найти максимальное число, но не более, чем ограничено параметром.:

.epf 8,86Kb
0
.epf 8,86Kb Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1690 31.03.22 10:47 Сейчас в теме
(0) для визуальной наглядности можно создать служебную колонку со значениями в строках у0, у1, у2 ...
2. RustIG 1690 31.03.22 10:49 Сейчас в теме
(0) я так понимаю - здесь нужно использовать полный перебор всех чисел...не частичный , а именно полный - чтобы найти все максимальные (одинаковые например) значения
3. RustIG 1690 31.03.22 10:51 Сейчас в теме
(0) Выражение "первого" удовлетворяющего условию - не раскрыто - первый слева направо сверху вниз?
матрицу можно обходить сначала берем первый столбец - обходим все строки, затем берем второй столбец - обходим все строки....
4. RustIG 1690 31.03.22 10:52 Сейчас в теме
(0) для визуальной проверки не хватает вывода номеров ячеек, в которых найдены максимальные числа
serverstar; +1 Ответить
12. serverstar 39 18.04.22 16:52 Сейчас в теме
(4) согласна, это необходимо сделать
5. RustIG 1690 31.03.22 10:54 Сейчас в теме
(0) почему-то не используете встроенную функцию Макс(Число1, Число2) ?
6. RustIG 1690 31.03.22 10:57 Сейчас в теме
(0) на картинке нижняя и верхняя граница 150 и 25 - непонятно почему не наоборот?
7. RustIG 1690 31.03.22 11:01 Сейчас в теме
(0) у вас используется три цикла, хотя можно использовать всего два цикла - внутри цикла в цикле делать все проверки на макс и ограничение...
8. sapervodichka 6452 31.03.22 11:56 Сейчас в теме
мне кажется нужно просто
1) Поместить ТЗ в массив
2) Отсортировать массив по возрастанию;
3) Пройти массив от первого элемента до конца и взять элемент максимально близкий к заданному при выполнении условия ЭлМассива[i] <= ЗаданныйКритерий И ЭлМассива[i+1] > ЗаданныйКритерий.
serverstar; +1 Ответить
13. serverstar 39 18.04.22 16:54 Сейчас в теме
(8) можно и так. ваш вариант проще. но мне захотелось так
15. sapervodichka 6452 18.04.22 17:17 Сейчас в теме
(13) не у меня так, мимо ))) проще ниже ))) у SlavaKron
9. SlavaKron 31.03.22 12:16 Сейчас в теме
МаксимальноеЧисло = Неопределено;

Для Каждого Стр Из ТЗРасчет Цикл
	Для Каждого Значение Из Стр Цикл
		Если Значение < МеньшеЭтогоЧисла И (МаксимальноеЧисло = Неопределено ИЛИ Значение > МаксимальноеЧисло) Тогда
			МаксимальноеЧисло = Значение;
		КонецЕсли;
	КонецЦикла;
КонецЦикла;

Возврат МаксимальноеЧисло
Показать
avbolshakov; rpgshnik; DrAku1a; sapervodichka; +4 Ответить
10. serpent 66 31.03.22 18:20 Сейчас в теме
А почему на первом скрине "результат" = 98. Такого числа вроде нет в массиве. Или я что-то не так понял?
11. FractonKireyev 18.04.22 15:48 Сейчас в теме
За такое решение задачи я бы посоветовал не заниматься программированием вообще.
Ну не Ваше это.
Mikeware; +1 Ответить
14. serverstar 39 18.04.22 16:58 Сейчас в теме
(11) знаете, опыт приходит с ошибками. и кто ничего не делает, тот не ошибается.

для того я и показала свою реализацию. да, я знаю что она в чем-то громоздкая.
но почитав советы более опытных коллег, я пойму, в чем мои действия были неоптимальными
TokarevV; Aleksey3A; Maxim_Zuev; +3 Ответить
Оставьте свое сообщение

См. также

Почему НДС отличается на одну копейку: решение с помощью таблицы значений

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 НДС Абонемент ($m)

Почему все-таки иногда НДС может на одну копейку быть больше или же быть меньше, неужели это все ошибки программистов, которые написали неправильный алгоритм? в этом решении постараюсь вас приблизить к бинарному алгоритму, который считает после запятой тысячными или сотыми, как и обещал, не ради денег и не ради славы, а для продвижения индустрии компьютерных технологий!

1 стартмани

12.12.2022    2376    0    kucar_ip    5    

2

Найди слова

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример примитивной автоматизации с помощью 1С (и не только).

3 стартмани

11.08.2022    3068    0    SerVer1C    10    

5

Если хочется ООП с наследованием и полиморфизмом

Математика и алгоритмы Языки и среды Платформа 1С v8.3 Абонемент ($m)

Объектно-ориентированное программирование (ООП), как методология или парадигма, в 1С отсутствует. И не похоже, чтобы в ближайшем будущем оно появилась. Однако со стороны сообщества не прекращаются попытки привнести в процесс разработки некоторые его элементы и подходы. Предлагаю вашему вниманию свой вариант эмуляции ООП. Основной упор в статье сделан на обеспечение наследования и полиморфизма (вызов методов, определенных в классах-потомках, из методов классов-предков и наоборот).

1 стартмани

21.07.2022    3768    1    Alxby    11    

10

IDN и Punycode в 1С

Универсальные функции Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка "Punycode конвертер".

1 стартмани

01.05.2022    3470    2    SpaceOfMyHead    2    

8

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    6105    6    kalyaka    11    

36

Вычисление хеша по алгоритму fnv1a

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Вычисление средствами платформы хеш суммы по алгоритму fnv1a 32/64.

1 стартмани

01.02.2022    3729    0    dim_zal    0    

5

Решение задачи Эйнштейна на 1С (управляемые формы)

Математика и алгоритмы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Пример решения классической задачи Эйнштейна с задаваемыми условиями и с выводом итераций на управляемых формах.

1 стартмани

13.08.2021    5131    2    VGorkunov    4    

8

Разработка с учетом Показателей

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Время от времени приходится разрабатывать алгоритмы расчета с некоторыми условными значениями. Я их называю Показателями. Данная статья предлагает один из методов работы с Показателями.

1 стартмани

04.06.2021    5164    0    blockcode    1    

1

Машинное обучение и анализ данных

Математика и алгоритмы Идеи и тренды в разработке Платформа 1С v8.3 Абонемент ($m)

Данная конфигурация предназначена для автоматизации процесса машинного обучения и анализа данных средствами 1С.

1 стартмани

04.05.2021    8419    19    cdrw3    11    

15

Алгоритм и обработка для проведения розыгрыша среди анкет

Математика и алгоритмы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Описанный алгоритм (и приложенная обработка) позволяют организовать проведение розыгрыша среди анкет практически на любой управляемой конфигурации и платформе 1С 8.

1 стартмани

12.03.2021    4793    0    delta    2    

2

Алгоритм Карацубы

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализация метода Карацубы - функции быстрого умножения, которая позволяет перемножать два n-значных числа с битовой вычислительной сложностью (реализация на платформе 1С:Предприятие 8.3 (8.3.9.2233))

1 стартмани

31.08.2020    4758    2    Tatsiana    3    

3

Решение задачи Эйнштейна на платформе 1с

Математика и алгоритмы Платформа 1С v8.3 Абонемент ($m)

Недавно мне попалась интересная задача по созданию обработки, которая будет решать "задачу Эйнштейна". Изначально кажется, что можно просто прописать все явные и неявные условия через "Если", но это не верно. При таком подходе задачу решает ваш мозг, а решить задачу должна сама обработка основываясь только на условиях явно прописанных в тексте. Разработчик не должен делать никаких выводов и прописывать косвенные условия вытекающие из условия задачи. Условия задачи в коде должны переставляться в любом сочетании и это не должно влиять на решение.

1 стартмани

12.08.2020    6253    4    itmind    2    

7

Пример программирования методом Конечных автоматов на базе написания парсера CSV

Математика и алгоритмы Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Способ реализации программирования методом Конечного автомата на примере написания парсера CSV-файла с обработкой двойных кавычек и многострочным текстом в ячейках.

1 стартмани

17.06.2020    7012    0    Salimbek    3    

3

Расчет времени циклов солнца

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расчет времени восхода, полдня, заката и прочих стадий движения светила на горизонте.

1 стартмани

25.05.2020    3964    0    116hrus    0    

2

Treemapping. Демонстрационная обработка

Математика и алгоритмы Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример реализации диаграммы вида Treemap на 1С

1 стартмани

27.02.2020    8881    18    randomus    4    

30

Генератор случайных чисел по заданному закону распределения

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Для реализации проекта по имитационному моделированию возникла необходимость в функции, которые бы создавали массив случайных чисел, сгенерированных по определенным законам. Предлагаю обработку, которая содержит необходимые функции и средства визуализации. Работает в любой конфигурации.

1 стартмани

06.01.2020    4968    5    WalterFOX    1    

3

Алгоритмы поиска пути в графе. Часть 2

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Новые возможности, ранее реализованных алгоритмов поиска пути в графе на платформе 1С 8.3.

1 стартмани

13.08.2019    13787    11    RonX01    10    

92

Алгоритмы поиска пути в графе

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализуем алгоритмы поиска пути в графе на платформе 1С 8.3, такие как алгоритм А*, поиск в ширину, жадный поиск, алгоритм Дейкстры и вконце волновой.

1 стартмани

09.07.2019    29575    14    RonX01    11    

116

Сортировка кучей (пирамидальная сортировка, heap sort)

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Алгоритм сортировки массива кучей (пирамидальная сортировка).

1 стартмани

29.03.2019    6860    4    FirstSmart    0    

5

Случайная неслучайная скидка

Ценообразование, анализ цен Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Абонемент ($m)

Найти случайное число, но сделать так, чтобы чем меньше значение, тем чаще выпадало это число (с обратной экспоненциальной зависимостью).

1 стартмани

24.01.2019    4574    0    Hokum    1    

1

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С

Математика и алгоритмы Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    31045    120    Serg1701    20    

141

Решение задачи коммивояжера алгоритмом Литтла

Математика и алгоритмы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Задачи дискретной оптимизации на моей практике встречаются не часто, но решение именно таких задач делает бизнес более эффективным в явном виде (уменьшаются потери материалов и времени и т.д.). В моем случае мы оптимизируем расход краски, упорядочивая очередь производственных заданий оптимальным образом. Поиск оптимального решения привел меня к задаче коммивояжера и его решению посредством частного случая метода Границ и ветвей - алгоритму Литтла. Возможно, кому-то из разработчиков придется решать подобную задачу, и мои наработки пригодятся.

1 стартмани

12.04.2018    16042    42    van_za    20    

52

Умножение больших чисел методом Карацубы

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Алгоритм умножения больших чисел методом Карацубы, более эффективный, чем метод умножения в столбик.

1 стартмани

10.01.2018    9479    0    Kosmovski    10    

-2

Определение похожести строк или фраз (алгоритм нахождения расстояния Дамерау Левенштейна)

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализация алгоритма поиска расстояния Дамерау Левенштейна (Damerau–Levenshtein distance) для определения похожести слов или фраз.

1 стартмани

14.12.2017    15247    77    PerlAmutor    14    

47

Комбинатор. Подбор суммы из набора чисел. Обработка для 1С версии 8.х (УФ)

Математика и алгоритмы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Как следует из названия, предлагаемая обработка позволит перебрать набор чисел и выбрать те из них, которые в сумме равны заданному числу. Имеется целый ряд настроек, позволяющих проделать эту "титаническую" работу быстро и с комфортом. И если такой набор чисел существует, - он будет найден. А если существует множество таких наборов, - они тоже могут быть найдены (не все, разумеется). Ибо, полный перебор может, в зависимости от мощности набора чисел, потребовать времени, соизмеримого со временем существования Вселенной. А разве мы можем столь долго ждать?

1 стартмани

19.05.2017    28116    89    romasna    31    

12

Тестируем алгоритмы для торговых роботов срочного рынка РТС

Займы, кредит, лизинг Математика и алгоритмы Платформа 1С v8.3 Финансовые услуги, инвестиции Россия Управленческий учет Абонемент ($m)

1С может много чего. И ее возможности давно вышли за рамки изначально задуманного. В качестве такого примера решил выложить конфигурацию для тестирования простой стратегии торговли фьючерсом на пару Доллар-Рубль на срочном рынке РТС.

1 стартмани

29.04.2017    17367    14    rrider    2    

14

Задачи по программированию на 1С

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Сборник задач по программированию. Начало...

1 стартмани

18.04.2017    31397    7    Xershi    12    

7

Пополнение товара на складе по теории ограничения систем

Оптовая торговля Учет ТМЦ Математика и алгоритмы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Управленческий учет Абонемент ($m)

В статье рассматривается алгоритм пополнения склада по теории ограничений систем. Сами подходы описаны в книге Элия М. Голдратта «Я так и знал! Теория ограничений для розничной торговли».

1 стартмани

26.01.2017    23911    17    vva    6    

21

Набор математических функций

Универсальные функции Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    22750    7    SvoyakMartin    23    

22

1С+Классы. Версия-0

Разработка внешних компонент Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    28163    7    IntelInside    68    

53

Генетический алгоритм для решения простой задачки

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

1 стартмани

26.09.2016    14711    5    eugeniezheludkov    4    

6

Мультиквайн на 1С. Курица и яйцо

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Мультиквайн - программа, выдающая текст другой программы, которая, в свою очередь, выдаёт текст первой. Теперь и на 1С.

1 стартмани

07.09.2016    11609    1    kg_am    5    

10

Декартово (прямое) произведение

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Прямое или декартово произведение двух множеств — это множество, элементами которого являются всевозможные упорядоченные пары элементов исходных множеств.

1 стартмани

11.05.2016    13860    9    yojeeg    3    

1

Еще один способ расчета остатков на каждый день в запросе

Математика и алгоритмы Платформа 1С v8.3 Абонемент ($m)

Предлагается новый способ расчета остатков на каждый день (час, минуту, секунду) в запросе. Способ не требует предварительного формирования таблицы дат и также подходит для расчета курсов валют, цен номенклатуры и других периодических сведений на каждую дату периода. На больших объемах данных предлагаемый способ может превосходить по быстродействию ранее известные методы из-за линейной (в лучшем случае) зависимости трудоемкости от длины периода.

1 стартмани

24.04.2016    48459    63    ildarovich    23    

148

Алгоритм разбиения строки (предложения,текста) на несколько строк, с заданными длинами результирующих строк

Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Представляю вашему вниманию очередной алгоритм разбиения строки на подстроки, с возможностью определения длин результирующих строк.

1 стартмани

17.03.2016    11732    2    zakkvanaxel    5    

2