мелочи / Prakticheskaya_rabota_4
.pdfПрактическое задание №4 Программирование с использованием массивов.
1. Массив и его определение в программе
Массив – структура данных, все элементы (компоненты) которой имеют одинаковый тип и общее имя. Массив – структура с так называемым случайным доступом. Это значит, что к любому элементу массива можно обратиться, задав его индекс, который однозначно определяет относительную позицию элемента в массиве. В качестве иллюстрации массива можно представить себе шкаф, например, с ящиками в один ряд, каждый из которых имеет определенный номер. Доступ к содержимому конкретного ящика (элементу данных) осуществляется после выбора ящика по его номеру (индексу).
Количество индексов, необходимых для обращения к элементам массива, определяет размерность массива. Массив с одним индексом называют одномерным или вектором.
Одномерный массив. Структура одномерного массива может быть представлена в виде следующей графической схемы (дерева):
Одномерный массив соответствует понятию вектора (линейной таблицы).
A[1] |
|
A[2] |
A[3] |
A[4] |
A[5] |
|
A[6] |
|
|
|
|
|
|
|
|
|
|
A(3) – |
обращение к третьему элементу массива А. |
По умолчанию |
индексация массива начинается с нуля.
Используемый в программе массив должен быть предварительно описан. Описание массива в программе служит для резервирования необходимого объема памяти для хранения значений элементов
массива: |
|
Dim A(10) As Integer |
Dim A(1 To 10) As Integer |
С помощью инструкции Dim A() [As тип] описывается динамический массив. Задать или изменить размеры динамического массива можно инструкцией ReDim.
Например:
Dim X() N=Val(TextBox1.Value) ReDim X(N)
Не допускается описание массива с одним типом данных и использование инструкции ReDim для последующего изменения типа данных этого массива, если массив не содержится в переменной типа Variant.
2. Ввод-вывод элементов массива
Для организации обмена данными с элементами массива удобно использовать ячейки активного листа Excel. Свойство Cells позволяет получить доступ к отдельной ячейке активного листа. Например, необходимо заполнить массив А элементами от 1 до 15:
Dim A(1 To 10) As Integer For I=1 to 10 X(I)=I Next I For I=1 To 10
Cells(3,I)=X(I) ’ячейки листа принимают значения элементов массива X
Next I
Формирование массива случайными числами из диапазона [A; B]:
В следующих задачах ввести данные в рабочую книгу Excel (каждое задание на отдельном листе), расположить на листе кнопки, при нажатии на которые будут осуществляться необходимые вычисления для очередного задания и очистка ячеек от выполненных действий (при записи результатов в ячейки).
Все данные, которые заданы по условию задачи, генерируются с помощью RND.
Задание 1. В массиве хранятся сведения о количестве осадков, выпавших за каждый день сентября. Определить, сколько осадков выпадало в среднем за один день в первую декаду, вторую и третью декады этого месяца.
Задание 2. В массиве записаны результаты 20 инг футбольной команды (если игра окончилась выигрышем данной команды, то записано число 3, проигрышем – 2, если игра окончилась вничью – 1). Определить количество выигрышей, количество ничьих и количество проигрышей данной команды.
Задание 3. Известно количество осадков (в миллиметрах), выпавших в Москве за каждый год в течении 50 лет. Вычислить среднее количество осадков и отклонение от среднего для каждого года.
Задание 4. В массиве хранится информация о количестве страниц в каждой из 20 книг. Все страницы имеют одинаковую толщину. Определить количество страниц в самой толстой книге.
Задание 5. В массиве записана информация о стоимости каждого из 20 видов товара, продаваемых фирмой. С 1 января очередного года фирма прекращает продавать товар, стоимость которого указана в n-ом элементе массива. Получить массив со стоимостью всех оставшихся видов товара.
Задание 6. Фирме принадлежат два магазина. Известна стоимость товаров, проданных в каждом магазине за каждый день в июле и августе, которая хранится в двух массивах. Получить общую стоимость проданных фирмой товаров за два месяца.
Задание 7. В области 20 районов. Площади, засеянные пшеницей (в гектарах), и урожай, собранный в каждом районе (в центнерах), хранятся в двух массивах. Определить среднюю урожайность пшеницы по каждому району и по области в целом.
Задание 8. Размеры 12 параллелепипедов (длина, ширина, высота) хранятся в трех массивах. Вывести на экран объемы каждой фигуры.
Задание 9. Известны данные о мощности двигателя (в лошадиных силах — л. с.) и стоимости 30-ти марок легковых автомобилей. Напечатать стоимость каждого из автомобилей, у которых мощность двигателя не превышает 80 л. с.
Задание 10. Известны данные о вместимости (в мегабайтах) и стоимости (в рублях) каждого из 22 типов жестких магнитных дисков (винчестеров). Напечатать вместимость тех винчестеров, которые стоят больше s рублей.
Задание 11. Известны данные о численности населения и 28 государств. Определить общую численность населения в "маленьких" государствах (чья площадь не превышает А тысяч квадратных километров).
Задание 12. Фирма имеет два магазина. Известен доход каждого магазина за каждый день февраля. Определить, в каком из магазинов общий доход за месяц меньше.