- •1. Решение задач на линейный процесс
- •3. Решение задач на циклический процесс
- •4. Работа с данными рабочего листа excel
- •5. Решение задач с подпрограммами
- •Задание
- •2. Разветвляющийся процесс
- •3. Циклический процесс
- •4. Решение задач на подпрограммы
- •Б) Вычислить f, задав значения переменным:
- •Разветвляющийся процесс
- •Решение задач на ряды
- •Решение задач на одномерный массив
- •Решение задач на двумерный массив
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
СПИСОК ЛИТЕРАТУРЫ
-
А. Гарнаев. Microsoft Excel 2000: разработка приложений. – СПб.: БХВ – Санкт-Петербург, 2000.
-
Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 1. – М.: ИНФРА-М, 2000. – 288 с.: ил.
-
Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 2. – М.: ИНФРА-М, 2000. – 280 с.: ил.
-
Волчёнков Н. Г. Программирование на Visual Basic 6: в 3-х ч. Учебное пособие. Часть 3. – М.: ИНФРА-М, 2000. – 238 с.: ил.
-
Михаил Райтингер, Геральд Муч. VisualBasic 6: для пользователя: пер. с нем. – К.: Издательская группа BHV, 1999. – 416 с.: ил.
-
Сайлер, Брайан, Споттс, Джефф. Использование Visual Basic 6. Специальное издание.: Пер. с англ. – М.; СПб.; К.: Издательский дом «Вильямс», 1999. – 832 с.: ил.