Файл: Особенности и примеры использования массивов при разработке программ (Особенности использования массивов).pdf
Добавлен: 16.05.2023
Просмотров: 107
Скачиваний: 2
Пусть после создания и заполнения
dimension someArray(4, 3)
for k = 1 to 12
someArray(k) = (12 – k) * (-1)**k
endFor
получается следующий массив:
-11 |
10 |
-9 |
8 |
-7 |
6 |
-5 |
4 |
-3 |
2 |
-1 |
0 |
Поскольку элемент, с которого начинается сортировка, расположен во втором ряду, то первый ряд в сортировке участвовать не будет. Сортируются элементы первого столбца, элементы прочих столбцов перемещаются вслед за элементами сортируемого столбца. Поэтому сортировка Asort(someArray, 4) даст следующий результат:
11 |
10 |
-9 |
-5 |
4 |
-3 |
2 |
-1 |
0 |
8 |
-7 |
6 |
nNumberSorted – число сортируемых элементов в одномерном массиве и число сортируемых столбцов в двумерном. Если nNumberSorted опущен или равен –1, то в случае одномерного массива в сортировке участвуют все элементы начиная с nStartElement, в случае двумерного массива в сортировке участвуют все столбцы начиная со столбца, в котором присутствует элемент с номером nStartElement.
nSortOrder – задает порядок сортировки. Если nSortOrder опущен или отрицателен, или равен нулю, то элементы массива сортируются по возрастанию своих значений. Если nSortOrder > 0, то элементы располагаются в убывающем порядке.
nFlags – задает чувствительную, если равен нулю, или нечувствительную, если равен единице, к регистру сортировку. Однако поскольку ASORT( ) использует последовательность сортировки, заданную SET COLLATE, то параметр nFlags имеет действие, если SET COLLATE задана последовательность, чувствительная к регистру, например "MACHINE". Тогда задание nFlags = 1 обеспечит нечувствительную к регистру сортировку. Если же SET COLLATE установлена нечувствительная к регистру последовательность, например, "GENERAL", то задание nFlags = 0 не будет иметь эффекта.
Заключение
В работе были рассмотрены особенности массивов и примеры их использования.
Основное назначение массивов – быстрая обработка данных. Часто разработчики программного обеспечения выполняют с их помощью сортирование информации, манипулирование исходными данными и получение различных выборок из наборов данных. Бытует мнение, что функциональность массивов гораздо проще организовать с помощью применения "толстой" прослойки SQL-кода и обращения к внешним приложениям типа специализированных хранилищ данных. Конечно, такой подход позволяет более просто реализовать элементарные вещи, но вас может ждать небольшое разочарование заказчика в плане быстродействия всего приложения. Представьте себе наиболее часто выполняемые задачи при выводе информации в аналитических системах предприятий - сортировка фамилий сотрудников, выбор товаров в каком-либо ценовом пределе, формирование списка категорий торговых менеджеров вашей организации, хранение оперативных данных о курсе валют. Поскольку выполнение таких элементарных задач (обычно) требует наличия SQL-хранилищ исходной информации и обращения к базам данных, работоспособность и скорость ваших приложений часто зависят от надежности и быстродействия технологического решения SQL-хранилища. Действительно, в случае применения отказоустойчивой системы хранения данных, размещенной на нескольких серверах, использование хранилища данных типа MySQL представляет собой узкое звено всей системы. Представьте себе, что может произойти, если разнесенные рабочие места обращаются к единой информационной таблице с курсами валют, которую по какой-либо причине заблокировало другое неверно работающее приложение. Да и простое обращение сотен компьютеров к одной таблице может очень сильно повредить быстродействию всего процесса работы аналитической системы, написанной на основе использования единого SQL-хранилища данных.
Наверное, такие задачи встречаются в жизни среднего веб-разработчика достаточно редко, но и простое использование функций для работы с массивами в обычной "плоской" задаче очень часто позволяет увеличить быстродействие вашего приложения. Поскольку задачи увеличения скорости работы интерфейсов и обработки данных встречаются в программировании бизнес-логики сплошь и рядом, функции для работы с массивами применяются практически во всех мало-мальски известных языках программирования, которые используются при написании задач аналитического учета.
Список использованной литературы
- Агальцов, В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 272 c.
- Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. - СПб.:Питер, 2015. – 368 с.
- Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. - М.: Форум, 2012. - 400 c.
- Давыдова Е. М. Базы данных Учеб. пособие для вузов / Е. М. Давыдова, Н. А. Новгородова. - 3-е изд., перераб. и доп. - Томск : В-Спектр, 2012. - 128 с.
- Дейт К.Дж. Введение в системы баз данных. - К.: Диалектика, 2012. - 360 c.
- Илюшечкин В. Основы использования и проектирования баз данных. Учебник. - М.:Юрайт, 2014. - 214с.
- Карпова, И.П. Базы данных: Учебное пособие / И.П. Карпова. - СПб.: Питер, 2013. - 240 c.
- Кириллов, В.В. Введение в реляционные базы данных.Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012. - 464 c.
- Малыхина М. Базы данных. Основы, проектирование, использование. - СПб.: БХВ-Петербург, 2012. - 528с.
- Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. – М.: Финансы и статистика, 2015. – 512 с.
- Озкарахан Э. Машины баз данных и управление базами данных. - М.: Мир, 2013. - 551 c.
- Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2014. - 528 c.
- Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. - 463 c.
- Туманов В.Е. Основы проектирования реляционных баз данных - М.: Бином, 2012. - 420 c.
- Фуфаев, Э.В. Базы данных: Учебное пособие для студентов учреждений среднего профессионального образования / Э.В. Фуфаев, Д.Э. Фуфаев. - М.: ИЦ Академия, 2012. - 320 c.
- Хаббард Дж. Автоматизированное проектирование баз данных - М.: Мир, 2014. - 453 c.