Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Одномерные и многомерные массивы↑ ⇐ ПредыдущаяСтр 5 из 5 Содержание книги Поиск на нашем сайте
Массив — это совокупность данных одного типа, объединённых общим именем. Массив представляет собой множество ячеек памяти для хранения значений, в то время как простая переменная имеет одну ячейку памяти, где может храниться только одно значение. В программном коде при необходимости можно ссылаться как на весь массив, так и на отдельные его элементы. Последовательность может состоять из большого количества элементов, а ссылка на каждый элемент состоит из имени последовательности и индекса — номера элемента в последовательности. Как и другие переменные, переменные типа массив, или индексированные переменные, также необходимо описывать с помощью оператора Dim, при этом надо указать не только тип массива, но и его размер. Массив с заданным размером называется массивом фиксированной длины (статический массив), массив с переменным размером называется динамическим массивом. После имени массива в круглых скобках должен быть указан диапазон изменения индекса — верхняя и нижняя граница. Если не указана нижняя граница изменения индекса массива, то по умолчанию она равна нулю. Допускаются отрицательные значения индекса. Примеры объявления статического массива: Dim A(500) As String ′статический массив строкового типа с номерами индексов от 0 до 500 Dim X(1 To 10) As Integer ′статический массив целого типа с номерами индексов от 1 до 10
Динамические массивы (одномерные и многомерные). Иногда при объявлении массива неизвестен его размер. В этом случае следует объявлять динамический массив, что позволяет менять его размер или размерность во время выполнения. Динамический массив создается в два этапа. Сначала массив определяют в секции (General) (Declarations) контейнера (формы, модуля, класса) без указания размера: (General) (Declarations) Dim A() as Integer Затем с помощью оператора ReDim устанавливают фактический размер массива:
(General) (Declarations) Dim A() as Integer Private Sub Command1_Click() ReDim A(10) ′ код программы End Sub
Синтаксис оператора ReDim:
ReDim [Preserve] Имя_переменной (Границы) [As Тип_данных] Ключевое слово Preserve, используемое вместе с оператором ReDim, позволяет изменять размер массива без потери его содержимого.
Многомерные массивы Visual Basic позволяет создавать многомерные массивы. При объявлении многомерного массива границы каждой размерности разделяются запятыми: Dim X(10, 20) As Integer ′описан двумерный массив, содержащий 11 строк и 21 столбец целых чисел Dim X(1 to 10, 1 to 20) As Integer ′описан двумерный массив, содержащий 10 строк и 20 столбцов целых чисел
Указания к выполнению лабораторной работы № 5 Часть 1. Одномерный массив. Расположить на форме командные кнопки «Заполнить массив», «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос 10 элементов массива X. Требуется переписать элементы массива X в массив Y в обратном порядке. Вывести в первую метку элементы исходного массива X, во вторую – элементы результирующего массива Y. Пример программного кода: Option Explicit Dim X(1 To 10) As Integer Dim Y(1 To 10) As Integer Dim i As Integer
Private Sub Command1_Click() For i = 1 To 10 X(i) = InputBox("Введите элементы массива") Label1.Caption = Label1.Caption + CStr(X(i)) + Chr(13) Next i End Sub
Private Sub Command2_Click() For i = 1 To 10 Y(i) = X(11 - i) Label2.Caption = Label2.Caption + CStr(Y(i)) + Chr(13) Next i End Sub Рисунок 20 – Результат выполнения первой части задания На рисунке 20 приведен пример оформления задания на одномерный массив. Обязательным является вывод на форму исходного массива и результирующего массива. Часть 2. Двумерный массив. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Требуется для каждой строки матрицы найти сумму элементов, записать ее в массив В. Вывести в первую метку элементы матрицы А, во вторую – элементы результирующего массива В. Рисунок 21 – Результат выполнения второй части задания. Варианты заданий для самостоятельной работы Часть 1. Одномерные массивы Вариант 1. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наибольший элемент. Из массива X получить массив Y, поделив все элементы массива X на значение наибольшего элемента. Вывести в первую метку элементы исходного массива X, во вторую – элементы полученного массива Y. Вариант 2. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наибольший элемент. Заменить его значением суммы элементов, предшествующих ему. Вывести в метки элементы исходного и полученного массива. Вариант 3. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Определить среднее арифметическое элементов массива X, а также значение элемента, ближайшего к среднему и его номер. Вывести эти данные в метку, во вторую метку вывести элементы исходного массива. Вариант 4. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Сформировать массив Y по правилу: Y(1)=X(1)+X(N), Y(2)=X(2)+X(N -1) и т.д. Вывести элементы исходного массива X и полученного массива Y в метку. Вариант 5. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наибольший и наименьший элементы, поменять их местами. Вывести в первую метку элементы исходного массива, во вторую – элементы преобразованного массива. Вариант 6. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наименьший из положительных элементов. Вывести этот элемент в метку, во вторую метку вывести элементы исходного массива. Вариант 7. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Записать в массив Y элементы массива X, имеющие четные индексы, а в массив Z – элементы массива X, имеющие нечетные индексы. Вывести в первую метку элементы массива Y, во вторую – элементы массива Z. Вариант 8. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Записать в массив Y индексы нулевых элементов массива X. Вывести в первую метку элементы исходного массива X, во вторую – элементы полученного массива Y. Если нулевых элементов в массиве X нет, то вывести в метку соответствующее сообщение. Вариант 9. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наибольший элемент и его порядковый номер, если таких элементов несколько, то подсчитать их количество. Вывести этот элемент, его номер (или количество) в метку, во вторую метку вывести элементы исходного массива. Вариант 10. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Найти в массиве X наибольшее значение модуля разности между соседними элементами. Вывести в метку это значение, во вторую метку вывести исходный массив. Вариант 11. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Записать в массив Y элементы массива X, отсортированные в порядке возрастания. Вывести элементы исходного массива X и отсортированного массива Y в метки. Вариант 12. Расположить на форме командные кнопки «Заполнить массив» и «Выполнение проекта» и две метки. Щелчок по кнопке вызывает запрос N элементов массива X. Расположить элементы этого массива в следующем порядке: положительные, равные нулю, отрицательные. Вывести в метки исходный и преобразованный массивы. Часть 2. Двумерные массивы Вариант 1. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Требуется в каждой строке матрицы найти наибольший элемент, записать его в массив В. Вывести в первую метку элементы матрицы А, во вторую – элементы результирующего массива В. Вариант 2. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти наименьший элемент матрицы, а также номер строки и столбца, в которых он расположен. Вывести в первую метку элементы матрицы А, во вторую – найденный элемент, номер строки и столбца. Вариант 3. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Получить матрицу В, поменяв местами в исходной матрице А строки и столбцы. Вывести в первую метку элементы матрицы А, во вторую – элементы матрицы В. Вариант 4. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти наименьший элемент матрицы. Записать нули в строку, в которой находится наименьший элемент. Вывести в метки элементы исходной и преобразованной матриц. Вариант 5. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти количество положительных, отрицательных, нулевых элементов матрицы, вывести эти значения в метку, во вторую метку вывести элементы исходной матрицы. Вариант 6. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы. Вывести в метки элементы исходной и преобразованной матриц. Вариант 7. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти в каждой строке матрице наибольший элемент поместить его на место первого элемента строки. Вывести в метки элементы исходной и преобразованной матриц. Вариант 8. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти сумму элементов, стоящих над главной диагональю матрицы. Присвоить это значение элементам, стоящим на главной диагонали матрицы A. Вывести в метки элементы исходной и преобразованной матриц. Вариант 9. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Требуется для каждой строки матрицы найти произведение элементов, записать его в массив В. Вывести в первую метку элементы матрицы А, во вторую – элементы результирующего массива В. Вариант 10. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Поменять местами в матрице А первую и последнюю строки. Вывести в метку элементы исходной и преобразованной матриц. Вариант 11. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Записать в массив В номера строк матрицы А, сумма элементов которых четна. Вывести в первую метку элементы матрицы А, во вторую – элементы массива B. Вариант 12. Расположить на форме командные кнопки «Ввод исходных данных», «Высчитать» и две метки. Щелчок по кнопке вызывает запрос элементов матрицы А(5х5). Найти сумму элементов, стоящих на главной диагонали. Вывести в полученное значение в первую метку, во вторую метку вывести элементы исходной матрицы.
|
||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 405; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.89.197 (0.011 с.) |