Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4817.pdf
Скачиваний:
2
Добавлен:
13.11.2022
Размер:
763.46 Кб
Скачать

26

3. Массивы

Многие задачи, которые решаются с помощью ПК, связаны с обработкой больших объёмов информации, представляющих совокупность данных, объединённых единым математическим содержанием или связанных между собой по смыслу. Примером таких организованных совокупностей данных являются координаты, задающие положение точки в пространстве, матрица коэффициентов, определяющая систему линейных уравнений, значения некоторых функций в произвольных точках, коэффициенты многочлена и т. д. Такие данные удобно представлять в виде линейных или прямоугольных таблиц.

Влинейной таблице каждому её элементу соответствует порядковый номер. Для элемента прямоугольной таблицы должны быть указаны два номера номер по вертикали (номер строки) и номер по горизонтали (номер столбца).

Ввысшей математике табличные величины называют соответственно векторами и матрицами.

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

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

Массив это упорядоченная совокупность величин одного типа, обозначенная одним именем. Массив характеризуется идентификатором (именем), числом измерений (индексов) и числом переменных в каждом измерении (верхней границей каждого индекса).

Имя массива образуется по общему правилу образования имён, например: А, РК, С1 и т. д.

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

Работа с массивом сводится к действиям над его элементами. Для того чтобы указать, какой элемент в данный момент используется, достаточно задать его по-

27

рядковый номер, который приписывается к имени соответствующего массива. Таким образом, элементы массива обозначаются переменной с индексами. Запись переменной с индексами состоит из имени массива и следующего за ним в круглых скобках списка индексов, например A(l), В1(5), C8(1,1), C8(2,l). Индексы определяют положение элемента в массиве. Количество индексов определяет размерность массива, т. е. форму его компоновки: одномерный, двумерный и т. д.

Для обращения к конкретному элементу массива необходимо указать имя массива и значения индексов.

Пример 10. В одномерном массиве В(20) вычислить произведение отрицательных элементов и сумму остальных элементов массива (рисунок 19).

Рисунок 19 – Вычисление суммы и произведения элементов массива

28

Пример 11. Исходными данными являются целочисленная таблица температур, в которой записана температура за каждый день января, и величина S, равная средней январской температуре за последнее столетие. Составить алгоритм, подсчитывающий, сколько в январе было дней с температурой, большей ТВ, меньшей ТМ и равной средней ТР.

Постановка задачи.

Исходные данные: массив температур за каждый день января Т(31), средняя величина январской температуры S.

Результат вычисления: количество дней с температурой больше средней ТВ, количество дней с температурой меньше средней – ТМ, количество дней с температурой равной средней – ТР.

Промежуточные данные: I номер (индекс) элемента одномерного массива, принимающий значения от 1 до 31.

Ниже приведёна процедура для решения задачи на языке программирования VBA.

Графический способ записи алгоритма решения задачи приведён на рисунке 20.

29

Рисунок 20 – Блок-схема для примера 11

Пример 12. В одномерном массиве, состоящим из 10 элементов, найти макси-

мальный по значению элемент.

Постановка задачи.

Исходные данные: одномерный массив, состоящий из 10 элементов В(10). Результат вычисления: максимальный по значению массива В(10) MAX.

30

Промежуточные данные: I номер (индекс) элемента одномерного массива, принимающий значения от 1 до 10.

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

что максимальным элементом массива будет первый его элемент. Затем сравнива-

ются все последующие элементы, начиная со второго, и, если элемент массива ока-

зывается больше предыдущего, он становится максимальным элементом массива.

Графический способ записи алгоритма решения задачи приведён на рисунке 21.

Рисунок 21 – Поиск максимального элемента массива

Пример 13. В двумерном массиве С(4,3) найти сумму отрицательных элемен-

тов каждого столбца массива. Значение суммы поместить в переменную S. Выве-

сти на печать значение элементов исходного массива и суммы отрицательных элементов каждого столбца массива.

Графический способ записи алгоритма решения задачи приведён на рисунке 22.

31

Рисунок 22 – Вычисление суммы отрицательных элементов каждого столбца массива

32

Пример 14. Дан целочисленный двумерный массив. А(5,3). Изменить все эле-

менты этого массива на противоположный по знаку.

Постановка задачи.

Исходные данные: массив, состоящий из целых чисел A(5,3), 5 количество строк массива, 3 – количество столбцов массива.

Результат вычисления: новый массив, элементы которого имеют противоположные знаки A (5,3).

Промежуточные данные: I, J номера (индексы) элементов двумерного массива по строкам и по столбцам. I – принимает значение от 1 до 5, J – принимает значение от 1 до 3.

Графический способ записи алгоритма решения задачи приведён на (рисунке 23). Ввод исходных значений элементов массива A(5,3) производится с рабочего

листа MS Excel. Вывод вычисленных значений элементов массива A(5,3) выполняется на рабочий лист MS Excel (рисунок 24).

Ниже приведена процедура для решения задачи на языке программирования VBA для примера 14.

33

Рисунок 23 – Блок-схема обработки двумерного массива

Рисунок 24 – Таблица исходных данных и таблица с вычисленными значениями

34

Пример 15. Выполнить упорядочение (сортировку) элементов одномерного массива в порядке возрастания значений элементов массива.

Постановка задачи.

Исходные данные: массив, состоящий из 10 чисел A(10).

Результат вычисления: новый массив, элементы которого упорядочены по возрастанию значений элементов A (10).

Промежуточные данные: I номер (индекс) элементов одномерного массива, принимает значение от 1 до 10.

Программа содержит четыре цикла. Первый цикл производит ввод исходных значений элементов массива A(10) с рабочего листа MS Excel. Четвёртый цикл выводит упорядоченные значения элементов массива A(10) на рабочий лист MS Excel (рисунок 26). В третьем (внутреннем относительно второго цикла) выполняется поиск элемента с минимальным значением на интервале от 1-го элемента до 10-го (последнего) элемента и обмен местами с первым элементом. На втором шаге находится минимальный элемент от 2-го до 10-го элемента и обмен местами со вторым элементом. И так далее продолжается процесс сортировки для всех элементов.

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

Ниже приведёна процедура для решения задачи на языке программирования VBA

35

Графический способ записи алгоритма решения задачи приведён на рисунке 25.

Рисунок 25 – Блок-схема выполнения упорядочения элементов массива

Рисунок 26 – Таблица с исходным массивом и упорядоченным массивом

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]