Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция «visual Basic For Application» По Информатике (Петрова В. В.).ppt
Скачиваний:
29
Добавлен:
07.10.2014
Размер:
2.43 Mб
Скачать

Программирование циклических процессов

Объявление массивов

В VBA различают два вида переменных — простые переменные и переменные структурного типа.

Простые переменные служат для идентификации и резервации памяти для одного данного. Переменные структурного вида предназначены для идентификации и резервации памяти для нескольких данных. Частным случаем переменной структурного вида является массив.

Массив представляет собой структуру, все элементы которой имеют одинаковый тип. Например, это могут быть данные, определяющие вектор или матрицу. Массивы могут быть одномерными и многомерными. Так, для отображения вектора может быть использован одномерный массив, а для отображения матрицы — многомерный.

Объявление массива имеет следующий вид: Dim / Public / Private Имя_Массива (индексы)_Аs Тип_Данных где:

Dim / Public / Private — ключевые слова, декларирующие массив в области его видимости; Имя_Массива —идентификатор, определяющий имя массива; Индексы — значение индекса (номера) последнего

элемента в массиве, считая с нулевого;

As — ключевое слово, определяющее указание типа элементов массива;

Тип_Данных—любой, действительный для Visual Basic тип данных базовый или созданный пользователем.

Примеры описания статических массивов:

Dim B (5) As Single ' описан одномерный массив из 6 чисел вещественного типа

Dim C (1 To 12) As Integer ' описан одномерный массив из 12 целых чисел.

Объявление одномерного массива из восьми

элементов выглядит следующим образом:

 

Dim МуАrrау (7) As integer 'одномерный целочисленный

массив из 8 элементов.

 

При объявлении многомерного массива в поле индекса

указывают несколько индексов в соответствии с

размерностью массива. Двумерный массив из шести

столбцов и пяти строк объявляется следующим

образом:

 

Dim StrArray (4,5) As String ' двумерный массив из

5строк и 6 столбцов.

 

Примеры описания статических массивов:

 

Dim B (5) As Single ' описан одномерный массив из 6

чисел вещественного типа

 

Dim C (1 To 12) As Integer ' описан одномерный массив

из 12 целых чисел.

 

Пример заполнения массива:

 

Dim B ( ) As Single, N As Integer, i As Integer

 

N = Val(InputBox("Ввод количества элементов массива

В"))

 

ReDim B (1 To N)

 

For i = 1 To N

элемента

B(i) =Val (InputBox("Ввод " & i

массива","Ввод с клавиатуры"))

 

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

В этом случае первоначально массив объявляется как динамический. Для этого в объявлении не указывается размерность. Например:

Dim strMyArray () As String

Количество элементов в объявленном массиве и его размерность в процессе выполнения программы можно переопределить с помощью ключевого слова ReDim. Синтаксическая конструкция переопределения массива имеет вид:

ReDim [Preserve] ИмяМассива (индексы) [As ТипДанных] где:

ReDim — ключевое слово, указывающее что переопределяется размеры массива;

Preserve — необязательное ключевое слово, с помощью которого дается указание, чтобы все элементы переопределенного массива сохранили свое значение; Индексы — размерность массива (до 60).

Пример:

Dim strMyArray () As String 'объявление динамического масива

Dim intValarray As integer 'объявление переменной для хранения размерности intValArray = 9 'инициализация значения

ReDim strMyArray (intValArray) 'одномерный массив из 10 элементов (базовый индекс равен 0)

Или другой пример:

Dim array ( ) As Long ' объявление динамического массива ……..

n = Val(InputBox("Ввод количества элементов

массива array"))

' одномерный массив

ReDim array (1 To n)

из n элементов

 

Для того, чтобы организовать повторени операций используют оператор цикла For Next. Оператор используется тогда, когд заранее известно число повторений цикла Это многострочный оператор, его синтакси таков:

For Имя=Значение1 To Значение2 [Step Значение3] исполняемые операторы

Next [Имя]

Имя – это имя переменной, котору называют счётчиком.

Значение1 – начальное значение счётчика. Значение2 – конечное значение счётчика. Значение3 – величина шага.

Задача 1:

Вычислить факториал от числа. Число заносится в

текстовое поле 1, а результат в текстовое поле 2. Вычисления производятся при нажатие командной

кнопки.

Текст программы:

Private Sub Комманда1 _Click()

Dim n,I As Integer, Nf As Long n = Val(Текст1.Text)

Nf = 1

For I=1 To n Nf = Nf *I

Next I

Текст2.Text = Str(Nf)

End Sub

Задача2: Сумма элементов массива

Private Sub Комманда1 _Click() Dim MyArray As Single

Dim intValarray As Integer intValarray = Текст1.Text S = 0

For i = 0 To intValarray

MyArray = InputBox("Введите элемент массива :", " a(i)=") S = S + MyArray

Next Текст2.Text = S End Sub

Задача 3.

Разработать приложение, реализующее табулирование функции y=1,2sin(3x) при изменении аргумента х в диапазоне [x0,xk] с шагом h с выводом результатов вычисления непосредственно на форму с помощью метода Print.

Программный код для кнопки Расчет можно записать так:

Private Sub Комманда1 _Click() ' Кнопка Расчет

Dim x0 As Single, xk As Single, h As Single, x As Single, y As Single Cls ' Очистка формы

x0 = Val(InputBox("Ввод x0 - начального значения аргумента")) xk = Val(InputBox("Ввод xk - конечного значения аргумента")) h = Val(InputBox("Ввод h - шага изменения аргумента"))

Font.Size = 10

' Установка размера шрифта

Font.Bold = True

' Установка полужирного начертания

Print Tab(7); "Функция y = 1.2sin(3x)"

Font.Bold = False

' Отмена полужирного начертания

Print: Print "x0="; x0, "xk="; xk, "h="; h: Print Print Tab(3); "x"; Tab(17); "y"

For x = x0 To xk + h/2 Step h y = 1.2 * Sin(3 * x)

Print Format(x, "0.00"), Format(y, "0.000") Next x

Print: Print "Программу разработал Иванов И.И., гр. ДЭм-1-1" End Sub

Результат работы программы для x0=0, xk=2, h=0.25 представлен на рисунке.

Соседние файлы в предмете Информатика