ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.11.2023
Просмотров: 121
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
-Универсальные коллекции значенийПри решении различных задач могут возникать алгоритмы, в которых необходимо использовать множество различных данных, например: "Найти максимальное значение из следующего набора чисел: 3,7,12,1,8". При использовании известных нам механизмов переменных и встроенных функций, алгоритм будет следующим:Данный способ не универсален, т.к. при добавлении нового значения потребуется определение новой переменной:Чтобы при добавлении новых значений не требовалось добавления новых переменных, необходимо все множество значений определить как одну переменную с возможностью хранения набора (коллекции) значений и обеспечить работу с каждым значением в наборе. Различные способы работы с наборами определяют и разнообразие видов коллекций значений:Универсальные коллекции значений называются объектами встроенного языка. Объект встроенного языка - сложная конструкция, это связано с тем, что объект содержит в себе множество примитивных значений. С объектами можно выполнять какие-то действия: добавить, удалить, заменить и т.д. Действия, которые можно выполнять над объектом, называются методы. У каждого сложного типа есть собственный набор методов. Но прежде, чем начать работу с данным объектом необходимо создать «заготовку», это действие называют – конструктор. Конструктор создает объект и всегда начинается с обязательного слова Новый, а далее пишут имя типа объекта.
Определение значения переменной как массива в системе 1С:Предприятие 8 осуществляется с помощью конструктора встроенного языка "Новый" с указанием типа "Массив":В данном случае будет создан пустой массив, т.е. без элементов. Элементы разными способами могут добавляться позже.Если необходимо определить массив с начальным количеством элементов, можно указать их количество при использовании конструктора. Например, для массива с 6-ю элементами:
Все массивы данного вида в системе 1С:Предприятие 8 являются динамическими, т.е. с изменяемой размерностью. Для определения фиксированных массивов есть специальный тип "Фиксированный массив" (рассмотрим в конце данной темы).Хранение значения в массиве осуществляется по индексу, представляющему собой целое число (первый элемент набора имеет индекс равный нулю):
Работа с элементом массива осуществляется по индексу:Для работы с данными массива необходимо использовать методы, которые представлены в Синтакс-помощнике:Для использования методов работы с массивом в тексте алгоритма указываем сначала имя переменной, содержащей массив, затем через точку имя метода:<ИмяПеременной>.<ИмяМетода>Точка между именем переменной и именем метода определяет, что указанный метод применяется к значению, хранящемуся в данной переменной.Например, при работе с массивом, можно использовать методы получения количества элементов в массиве:Для поиска элемента массива по значению можно воспользоваться методом найти, возвращающем (в нашем примере) индекс элемента массива:
записью и чтением значений, как через оператор [], так и методами Установить и Получить:добавление элемента значения в конец набора с расширением размерности массива:вставкой элемента значения по определенному индексу с расширением размерности массива:
Требуется перевести все данные в массив. Вывести все значения массива.Для решения задачи воспользуемся встроенными функциями работы со значениями типа Строка:У этой функции есть три параметра: Строка, Разделитель и ВключатьПустые.Строка – это исходные данные, разделяемая строка. Разделитель – это строка символов, каждый из которых является индивидуальным разделителем. ВключатьПустые указывает необходимость включать в результат пустые строки. Возвращаемое значение: массив со строками, которые получились в результате разделения исходной строки. В результате должен получиться Массив, в каждой ячейке которого будет храниться Тип Строка. Для решения задачи – заводим исходные данные:Применить метод СтрРазделить к исходной строке: первый параметр – ИсходныеДанные, второй параметр «,» - запятая, третий пока не ставим.Чтобы вывести все значения используйте Цикл Для КаждогоТо, что требовалось в задаче.Если исходная строка будет записана следующим образом (вместо запятой будет стоять пробел), то результат будет другой. Пробел не является символом разделителем, чтобы исправить данную ситуацию, после запятой добавьте пробел. Теперь функция СтрРазделить будет делить данные и по запятой, и по пробелу. Каждый символ в строке является самостоятельным разделителем.Теперь о параметре ВключатьПустые. Если в конце строки поставить пробел, то программа выведет пустое сообщение:
-
Массив
-
В системе 1С:Предприятие 8 есть возможность работы как с динамическими массивами (размерность может изменяться в процессе эксплуатации) так и с фиксированными (без возможности изменения размерности в момент использования).
-
Нет жестких ограничений на использование различных типов значений в рамках одного массива, т.е. массивы 1С:Предприятия являются гетерогенными:
| 0 | "1С:Предприятие" |
| 1 | 8 |
-
Поддерживаются разные по сложности структуры массивы:
-
Простые (одномерные, линейные) массивы можно представить в виде таблицы с двумя колонками "индекс элемента значения" и "значение":
| Индекс элемента значения | Значение |
| | |
-
Сложные массивы (многомерные) могут быть представлены как массивы, значения которых представлены другими массивами, т.е. как массивы массивов
| Индекс элемента значения | Значение | ||||
| |
| ||||
| |
|
Все массивы данного вида в системе 1С:Предприятие 8 являются динамическими, т.е. с изменяемой размерностью. Для определения фиксированных массивов есть специальный тип "Фиксированный массив" (рассмотрим в конце данной темы).Хранение значения в массиве осуществляется по индексу, представляющему собой целое число (первый элемент набора имеет индекс равный нулю):
| 0 | Иванов |
| 1 | Петров |
-
Наполнение массива и доступ к значениям массива может происходить разными способами:
записью и чтением значений, как через оператор [], так и методами Установить и Получить:добавление элемента значения в конец набора с расширением размерности массива:вставкой элемента значения по определенному индексу с расширением размерности массива:
-
Очистка массива может осуществляться:
Требуется перевести все данные в массив. Вывести все значения массива.Для решения задачи воспользуемся встроенными функциями работы со значениями типа Строка:У этой функции есть три параметра: Строка, Разделитель и ВключатьПустые.Строка – это исходные данные, разделяемая строка. Разделитель – это строка символов, каждый из которых является индивидуальным разделителем. ВключатьПустые указывает необходимость включать в результат пустые строки. Возвращаемое значение: массив со строками, которые получились в результате разделения исходной строки. В результате должен получиться Массив, в каждой ячейке которого будет храниться Тип Строка. Для решения задачи – заводим исходные данные:Применить метод СтрРазделить к исходной строке: первый параметр – ИсходныеДанные, второй параметр «,» - запятая, третий пока не ставим.Чтобы вывести все значения используйте Цикл Для КаждогоТо, что требовалось в задаче.Если исходная строка будет записана следующим образом (вместо запятой будет стоять пробел), то результат будет другой. Пробел не является символом разделителем, чтобы исправить данную ситуацию, после запятой добавьте пробел. Теперь функция СтрРазделить будет делить данные и по запятой, и по пробелу. Каждый символ в строке является самостоятельным разделителем.Теперь о параметре ВключатьПустые. Если в конце строки поставить пробел, то программа выведет пустое сообщение: