Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_к_ЛР (VBA).doc
Скачиваний:
117
Добавлен:
09.02.2016
Размер:
3.1 Mб
Скачать

Порядок выполнения задания №1.

  1. Использовать алгоритм лаб. работы №2.

  2. Интерфейс пользователя аналогичен лаб. 7 (рис. Л8.1).

  3. Ввод элементов массива с помощью функции InputBox.

  4. Способ вывода результатов представлен в табл. Л8.1.

  5. Составить программу решения и решить ее на ПК.

Пример выполнения лабораторной работы

Дан двумерный массив A= a(i,j); i =1,2,3, j=1,2,3.

Составить проект для определения суммы элементов главной диагонали. При разработке проекта принимаем:

  • Ввод данных выполняем с помощью функции InputBox;

  • Вывод результатов вычислений производим в окно TextBox1;

  • Алгоритм см. глава 1, рис. 1.14.

2. Таблица свойств объектов

Объект)

Свойство

Значение свойства

Форма 1

Caption

Обработка двумерного массива

CommandButton1

Caption

Запуск программы

CommandButton2

Caption

Закрыть проект

TextBox1

Text

Label1

Caption

Результат решения

  1. Процедура отклика кнопки 1

Private Sub CommandButton1_Click()

Dim a(1 To 3, 1 To 3), s As Single, i, j As Integer

For i = 1 To 3 ' Организация цикла для ввода массива по строкам

For j = 1 To 3

a(i, j) = Val (InputBox(" Введите a(" & i & " , " & j & ")" & "элемент массива "))

Next j ' Конец области действия внутреннего цикла

Next i ' Конец области действия внешнего цикла

s = 0

For i = 1 To 3 ' Организация цикла для обработки массива по строкам

For j = 1 To 3

If i = j Then s = s + a(i, j) ' Выделение элементов главной диагонали

Next j ' Конец области действия внутреннего цикла

Next i ' Конец области действия внешнего цикла

TextBox1.text= s

End Sub

Private Sub CommandButton2_Click()

End

E

Рис. Л8.1. Результат решения

nd Sub

При вводе по строкам матрицы

1 2 3

1 2 3

1 2 3

Получаем результат

Оформление протокола лабораторной работы

  1. Отчет оформить на рабочем листе 1.

  2. В заголовке лабораторной работы записать ее номер и цель проведения.

  3. Записать условия индивидуальных заданий и порядок выполнения.

  4. На листе 1 записать результаты решения.

  5. Записать проект в личную папку под именем Лаб. 8.

  6. Подготовиться для ответа на контрольные вопросы при защите лабораторной работы.

Контрольные вопросы

  1. Дайте определение двумерного массива.

  2. Как записать имя элемента двумерного массива в VBA?

  3. Объясните смысл описания двумерного массива.

  4. Приведите общую структуру обработки двумерного массива.

  5. Какова структура обработки элементов массива по столбцам?

  6. Какова структура обработки элементов массива по строкам ?

  7. Как ввести элементы двумерного массива?

  8. Как вывести элементы двумерного массива?

  9. Как обрабатывать нечетные строки двумерного массива?

  10. Как обрабатывать четные строки двумерного массива?

  11. Приведите общую структуру обработки двумерного массива.

Л а б о р а т о р н а я р а б о т а № 9

Пользовательские процедуры в VBA

Цель работы: создание проектов на VBА с использованием пользовательских процедур (подпрограмм) Function и Sub. При подготовке к работе изучить теоретический материал (с.34 – 36 ).

Задание №1. Создать проект с использованием пользовательских процедур. Данные для выполнения приведены в табл. Л9.1. В колонке Тип применяются обозначения: F - применение процедуры Function, S - применение процедуры Sub. Параметрам, указанным в задании значения присвоить самостоятельно.

Таблица Л9.1 — Варианты для задания №1

вар.

Вычислить

Вычисление

в подпрограмме

Тип

п/п

0

Значение суммы

Значение произведения

F

S

1

х=(к! + m!)/L! k, m, L - целые переменные

факториала

F

S

2

х=(к! + m!)/(r! + z!) k, m, r, z - целые переменные

факториала

F

S

3

где xi -элементы массива

значения суммы

F

S

4

yi - элементы массива

значения суммы

F

S

5

;

b,d - вещественные переменные

F

S

6

;

b,d,c- вещественные переменные

F

S

7

а=к!/m!; b=a/n! k,m,n -целые переменные

факториала

F

S

8

а=к!/r!; b=n! k,r,n -целые переменные

факториала

F

S

9

а,b,c - вещественные перемен.

максимум

F

S

10

а,b,c - вещественные перемен.

минимум

F

S

11

z=p(1) + p(t) + p(s) - p(t-s)

a,b,c,t,s - вещественные переменные

p(x)= ax2 + bx + c

F

S

12

к=p(1) + p(t) + p2(s)

t,s - вещественные переменные

p(x)= 2x2 + x

F

S

13

u= max(f(1-2s), f(s-t)) + f(3c)

s,t,c - вещественные переменные

F

S

14

u=min(f(1- s), f(s-t)) + f(c)

s,t,c - вещественные переменные

F

S

15

x,y,z - вещественные переменные

минимум

F

S

16

x,y,z - вещественные переменные

максимум

F

S

17

xi, yj - элементы

одномерных массивов

значение суммы

F

S

18

xi, yj - элементы

одномерных массивов

значение произведения

F

S

19

s,t - вещественные переменные

F

S

20

s,t - вещественные переменные

F

S

21

x=(2k!+m!)/(L!-n!)

k, m, L, n - целые переменные

факториал

F

S

22

x=(k!+3m!)/(2L!)

k, m, L - целые переменные

факториал

F

S

23

a=min(x + y + z, x·y·z) + min(x, y·z);

b=a/min(x·y, x·z); x,y,z- вещественные переменные

минимум

F

S

24

a=max(x+y, x·y·z) + max(x, y·z);

b=a/max(x·y, x·z); x,y,z- вещественные переменные

максимум

F

S

25

xi, yk - элементы одномерных массивов

вычисление суммы

F

S

26

xi, yk - элементы одномерных массивов

вычисление суммы

вычисл. произведения

F

S

27

xi, yk -элементы одномерных массивов

вычисление произведения

F

S

28

xi, yk -элементы одномерных массивов

вычисление произведения

F

S

29

t, b - вещественные переменные

F

S

30

t, b - вещественные переменные

F

S

Пример выполнения нулевого варианта. Условие задания. Составить программу вычисления

где xi , yi - элементы одномерных массивов вещественного типа. Вначале значение сумм вычислим в подпрограмме типа Function, а затем в подпрограмме типа Sub. Примем количество элементов массива Х( n=3), а массива У ( m=4). При разработке проекта принимаем:

1. Интерфейс пользователя (рис. Л9.1):

  • Ввод массивов выполняем в цикле с помощью функции InputBox;

  • Вывод результатов вычислений в подпрограмме типа Function производим в поле TextBox1, а типа Sub в поле TextBox2.

Рис. Л9.1. Интерфейс пользователя

Рис. Л9.2. Работа проекта

Таблица Л9.2 - Таблица свойств элементов

Объект

Свойство

Значение свойства

Форма 1

Caption

Обработка массивов Группа Фамилия

CommandButton1

Caption

Запуск проекта

CommandButton2

Caption

Закрыть проект

Label1

Caption

Результат п/п Function

Label2

Caption

Результат п/п Sub

TextBox1

Text

TextBox2

Text

  1. Составляем программную единицу, состоящую из основной программы и д

    Рис. 9.3. Окно кода с подпрограммами

    вух подпрограмм вычисления типа Function и типаSub для вычисления сумм элементов одномерных массивов. Основная программа помещается в процедуру отклика кнопки 1. Подпрограммы размешаются ниже или выше процедуры отклика (рис. Л9.3). Подпрограммы для вычисления сумм:

Function Sum1(x, n) As Single

где имя п/п - Sum1; x, n – формальные входные параметры;

Sub Sum2 (y, m, s) где имя п/п - Sum2; y,m – формальные входные параметры ; s – формальный выходной параметр.

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