- •Правила оформления контрольной работы
- •Теоретические сведения. Язык Visual Basic for Applications.
- •Примеры составления программ
- •Линейный алгоритм.
- •Разветвляющийся алгоритм.
- •Циклический алгоритм табулирования функции
- •3.4. Циклический алгоритм вычисления суммы и произведения элементов массива.
- •Циклический алгоритм нахождения максимального элемента массива и его номера
- •Циклический алгоритм формирования нового массива из элементов имеющихся.
- •Литература
- •Содержание
Литература
Кузьменко В.Г. VBA 2002. – М.: ЗАО "Издательство БИНОМ", 2002 г. – 624с.
№ 2963. Основы алгоритмизации. - Гомель: ГГТУ, 2004.
№2980. Основы программирования на VBA. - Гомель: ГГТУ, 2004.
№2872. Основные приемы работы в Excel. - Гомель: ГГТУ, 2004.
№3009.Язык VBA: Интегрированная среда разработки. – Гомель: ГГТУ, 2004.
Содержание
1. Правила оформления контрольной работы 3
2. Теоретические сведения. Язык Visual Basic for Applications. 4
3. Примеры составления программ 15
3.1. Линейный алгоритм. 15
3.2. Разветвляющийся алгоритм. 16
Задача. Составить программу для расчета функции 16
3.3. Циклический алгоритм табулирования функции 18
2. Составляем таблицу соответствия переменных 19
3. Составляем текст программы 19
Sub Tabl() 19
'Составил Иванов И.И., гр.ЗО-11 19
Dim i As Integer, x As Single 19
Dim xn As Single, k As Single, dx As Single 19
xn = InputBox("Введи Xнач") 19
xk = InputBox("Введи X кон") 19
dx = InputBox("Введи шаг") 19
'Заголовок таблицы 19
Cells(1, 1) = "№ п/п" 19
Cells(1, 2) = "x" 19
Cells(1, 3) = "y" 19
Cells(1, 5) = "xнач=" & xn 19
Cells(2, 5) = "xкон=" & xk 19
Cells(3, 5) = "шаг=" & dx 19
i = 1 19
For x = xn To xk Step dx 19
Cells(i + 1, 1) = i 19
Cells(i + 1, 2) = x 19
Cells(i + 1, 3) = Sin(x) 20
i = i + 1 20
Next x 20
End Sub 20
4. Составляем тесты для проверки правильности работы программы 20
3.4. Циклический алгоритм вычисления суммы и произведения элементов массива. 21
2. Составляем таблицу соответствия переменных 21
Рис.3.4. Схема алгоритма примера 3.4. 23
3. Составляем фрагмент программы 23
………………………………….. 23
S =0 23
For i = 1 To n 23
If X(i) > a And X(i) <= b Then 23
S = S + X(i) 23
End If 23
Next i 23
P = 1: K = 0 23
For i = 2 To n Step 2 23
If X(i) > 0 Then 23
P = P * X(i) 23
K = K + 1 23
End If 23
Next i 23
'Вывод суммы 23
If S=0 Then 23
MsgBox "чисел, принадлежащих(" & a & ", " & b & "] Нет",, _ 23
"Вывод сообщения" 23
Else 23
MsgBox "сумма чисел, принадлежащих (" & a & "," & b & ") = " & _ 23
S,, "Вывод суммы" 23
End If 23
'Вывод произведения 23
If K = 0 Then 23
MsgBox "чисел >0 на чётных местах нет",, "Вывод сообщения" 23
Else 23
MsgBox "Произведение чисел >0 на чётных местах =" & P _ 23
& Chr(13) & " их количество = " & K,, "Вывод произведения" 23
End If 23
4. Составляем тесты для проверки правильности работы программы. 23
При тестировании программы нужно рассмотреть все возможные случаи, которые могут возникнуть для разных исходных данных. 23
а) При вычислении суммы: 23
все числа массива (a,b]; 23
все числа массива (a,b]; 23
часть чисел (a,b], а часть – нет. 24
б) При вычислении произведения: 24
все числа, стоящие на четных местах >0; 24
на четных местах нет чисел >0; 24
на четных местах часть чисел >0, а часть нет. 24
Указанные ситуации можно создать, подбирая соответствующим образом числа массива и (или), изменяя значения a и b. 24
Тест№1. 24
N=6 a=0 b=10 24
X1 24
1 24
4 24
5 24
2 24
7 24
3 24
Ожидаемые результаты: S=22 P=24 K=3. 24
Тест№2. 24
N=6 a=8 b=10 24
X1 24
1 24
-2 24
3 24
-4 24
7 24
-6 24
Ожидаемые результаты: чисел (8,10] нет, чисел >0 на четных местах – нет. 24
Тест№3. 24
N=6 a=3 b=6 24
X1 24
4 24
3 24
5 24
-4 24
6 24
5 24
Ожидаемые результаты: S=20 P=15 K=2. 24
3.5. Циклический алгоритм нахождения максимального элемента массива и его номера 24
Задача. Найти максимальный элемент массива X и поменять его местами с предыдущим. 24
Обозначим: 24
Рис.3.5. Схема алгоритма примера 3.5. 27
4. Составляем тесты для отладки программы 27
Тест №1. Максимальный элемент стоит на произвольном месте 27
N=4 Исходный массив: 27
X1 27
X2 27
X3 27
X4 27
-7 27
8 27
12 27
4 27
Ожидаемые результаты: 27
max=12 n_max=3 Результирующий массив: 27
X1 27
X2 27
X3 27
X4 27
-7 27
8 27
12 27
4 27
Тест №2. Максимальный элемент стоит первым 27
N=3 Исходный массив: 27
X1 27
X2 27
X3 27
20 27
8 27
1 27
Ожидаемые результаты: 27
max=20 n_max=1 Перестановка невозможна, массив не изменяется 27
3.6. Циклический алгоритм формирования нового массива из элементов имеющихся. 27
29
Рис.3.6. Схема алгоритма примера 3.6. 29
4. Составляем тесты для отладки программы 30
Тест №1. Все элементы обоих массивов входят в новый массив. 30
N=3 M=2 30
30
B1 30
B2 30
-7 30
-9 30
A1 30
A2 30
A3 30
-5 30
-3 30
-2 30
30
Результат: массив С из 5-и элементов 30
С1 30
С2 30
С3 30
С4 30
С5 30
-5 30
-3 30
-2 30
-7 30
-9 30
Тест №2. Нет элементов, входящих в новый массив. 30
30
B1 30
B2 30
7 30
9 30
A1 30
A2 30
A3 30
5 30
3 30
2 30
Тест №3. Из обоих массивов в новый массив входит часть элементов. 30
30
B1 30
B2 30
-4 30
-2 30
A1 30
A2 30
A3 30
-5 30
3 30
2 30
С1 30
С2 30
С3 30
-5 30
-4 30
-2 30
4. ЛИТЕРАТУРА 30