Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник описаний лабораторных по VBA.doc
Скачиваний:
8
Добавлен:
10.11.2018
Размер:
737.28 Кб
Скачать

4. Решение задач на подпрограммы

Г). Решить задачи из пунктов Б) и В) с использованием подпрограмм.

  1. Разработать алгоритм для написания программы.

  2. Написать программу.

  3. Протестировать ее с разными исходными данными.

Содержание отчета

  1. Задание и цель работы.

  2. Блок-схема.

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

  4. Вводимые данные и результаты.

Технология выполнения работы

ЛИНЕЙНЫЙ ПРОЦЕСС

По приведенным примерам, выполнить свои варианты заданий.

А) Вычислить Y, задав значения переменным:

Sub Main()

Dim x, b, a, res As Single

x = -3

b = 2

a = 0,5

res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))

MsgBox "res=" & CStr(res)

End Sub

Private Sub CommandButton1_Click()

Dim x, b, a, res As Single

x = Cells(3, 1)

b = Cells(3, 2)

a = Cells(3, 3)

res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))

Cells(5, 2) = res

End Sub

Б) Вычислить f, задав значения переменным:

Sub Main()

Dim x, y, t, res As Single

x = -3

y = 2

t = 0.5

res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)

MsgBox "res=" & CStr(res)

End Sub

Private Sub CommandButton2_Click()

Dim x, y, t, res As Single

x = Cells(3, 9)

y = Cells(3, 10)

t = Cells(3, 11)

res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)

Cells(5, 10) = res

End Sub

Разветвляющийся процесс

Вычислить у по заданным значения переменных:

Sub Main()

Dim x, b, a, res As Double

x = 4

a = 1

b = 0.5

If x > a Then

res = x ^ 5 - (Log(Abs(a * x ^ 2 - b * x ^ 3)) / Log(10))

Else

res = 3 * x - a ^ 2 * b ^ 3

End If

MsgBox "res=" & CStr(res)

End Sub

Private Sub CommandButton3_Click()

Dim x, b, a, res As Double

x = Cells(20, 1)

a = Cells(20, 2)

b = Cells(20, 3)

If x > a Then

res = x ^ 5 - (Log(Abs(a * x ^ 2 - b * x ^ 3)) / Log(10))

Else

res = 3 * x - a ^ 2 * b ^ 3

End If

Cells(22, 2) = res

End Sub

Решение задач на ряды

Вычислить произведение ряда:

Sub Main()

Dim x, n, res As Double

x = 3

n = 4

res = 1

For i = 2 To n

res = res * (i * x / (2 * i - 1))

Next i

MsgBox "res=" & CStr(res)

End Sub

Private Sub CommandButton4_Click()

Dim x, n, res As Double

x = Cells(36, 1)

n = Cells(36, 2)

res = 1

For i = 2 To n

res = res * (i * x / (2 * i - 1))

Next i

Cells(38, 2) = res

End Sub

Решение задач на одномерный массив

Найти максимальное значение из значений элементов последовательности x1, x2,…,x20, используя оператор do while…loop

Private Sub CommandButton5_Click()

Dim x(20) As Double

Dim res, res1 As Double

i = 1

res = 0

Do While i < 20

x(i) = Cells(44 + i, 1)

If x(i) > res Then res = x(i)

i = i + 1

Loop

Cells(47, 4) = res

End Sub

Решение задач на двумерный массив

Пример 1. Задан массив F(4 to 85, 2 to 6). Найти сумму элементов этого массива.

Private Sub CommandButton1_Click()

Dim f(6) As Integer

For j = 4 To 8

res = 0

For i = 2 To 6

f(i) = Cells(j, i)

res = res + f(i)

Next i

Cells(j, 7) = res

Next j

End Sub

Пример 2. Найти номер фирмы с наименьшей ценой путевки, если есть 5 фирм, имеющих по 4 различных путевки.

Sub Macros1()

Dim arr(1 To 5, 1 To 4), min As Double

Dim i, j, mini, minj As Byte

For i = 1 To 5

For j = 1 To 4

arr(i, j) = InputBox("введите цену фирмы" & Str(i) & " путевки номер" & Str(j), "ввод", "")

If i = 1 And j = 1 Then

min = arr(i, j)

mini = 1

minj = 1

End If

If arr(i, j) < min Then

min = arr(i, j)

mini = i

minj = j

End If

'MsgBox ("i=" & Str(i) & " j=" & Str(j) & " cell=" & Лист1.Cells(j + 1, i + 1))

Next j

Next i

MsgBox ("фирма номер " & Str(mini))

End Sub

Фирма 1

Фирма 2

Фирма 3

Фирма 4

Фирма 5

1

1,15

1,5

8

5

5

2

2,18

8

3

6

5

3

3,17

2

6

9

9

4

1,8

4

1

7

0,9

 

 

 

 

 

Ответ: фирма номер 5

СПИСОК ЛИТЕРАТУРЫ

  1. А. Гарнаев. Microsoft Excel 2000: разработка приложений. – СПб.: БХВ – Санкт-Петербург, 2000.

  2. Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 1. – М.: ИНФРА-М, 2000. – 288 с.: ил.

  3. Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 2. – М.: ИНФРА-М, 2000. – 280 с.: ил.

  4. Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 3. – М.: ИНФРА-М, 2000. – 238 с.: ил.

  5. Михаил Райтингер, Геральд Муч. VisualBasic 6: для пользователя: пер. с нем. – К.: Издательская группа BHV, 1999. – 416 с.: ил.

  6. Сайлер, Брайан, Споттс, Джефф. Использование Visual Basic 6. Специальное издание.: Пер. с англ. – М.; СПб.; К.: Издательский дом «Вильямс», 1999. – 832 с.: ил.

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