- •Кафедра "Информатика и информационная безопасность"
- •Введение
- •Массивы данных
- •Объявление массивов на языке Visual Bаsic
- •1. Вычислительный процесс заполнение
- •1.1. Производная алгоритмическая структура Формирование
- •1.2. Производная алгоритмическая структура Пересчёт
- •2. Вычислительный процесс поиск
- •2.1. Производная алгоритмическая структура Поиск по ключу
- •2.2. Производная алгоритмическая структура Поиск максимума
- •2.3. Производная алгоритмическая структура Поиск минимума
- •3. Вычислительный процесс накопление
- •3.1. Производная алгоритмическая структура Cумма
- •3.2. Производная алгоритмическая структура Произведение
- •3.3. Производная алгоритмическая структура Счётчик
- •4. Синтез сложных алгоритмов из производных алгоритмических структур
- •4.1. Производная алгоритмическая структура Выборка
- •4.2. Производная алгоритмическая структура Перестановка
- •4.3. Пример информационной технологии, реализующей процесс упорядочения элементов массива
- •Содержание
3.2. Производная алгоритмическая структура Произведение
Производная алгоритмическая структура Произведение используется для вычисления различных типов произведений. Особенности алгоритма аналогичны производной алгоритмической структуре Сумма, но дополнительной переменной присваивается начальное значение, равное 1, а итерационная формула имеет вид:
<Доп. переменная>=<Доп. переменная > × <Элемент массива>
Пример 10.
Разработать информационную технологию, позволяющую вычислить произведение элементов матрицы А размерности m×n, имеющих чётные значения индексов строк.
Входные данные: m – целое число; n – целое число;
A=[aij], , – массив вещественных чисел.
Выходные данные: р – произведение элементов матрицы, имеющих чётные значения индексов строк, вещественное число.
Математическая модель:
Схема алгоритма:
Код приложения:
Option Base 1
Private Sub Command1_Click()
Dim i As Integer, j As Integer, m As Integer, n As Integer,
Dim p As Single, a() As Single
m=InputBox(“Введите количество строк матрицы”)
n=InputBox(“Введите количество столбцов матрицы”)
Redim a(m,n)
For i=1 To m
For j=1 To n
a(i,j)=InputBox(“a(“ & i & ”,” & j & ”)”)
Next
Next
p=1
For i=2 To m Step 2
For j=1 To n
р=р*a(i,j)
Next
Next
Print “ Произведение элементов матрицы с четными индексами _ строк =” & р
Print “Для матрицы”
For i=1 To m
For j=1 To n
Print Format (a(i,j), “0.00”);
Next
Next
End Sub
Аналогичный алгоритм можно использовать для нахождения произведения членов степенного ряда. В этом случае дополнительной переменной присваивается значение, равное первому члену степенного ряда.
Пример 11.
Разработать информационную технологию, позволяющую вычислить произведение членов степенного ряда: 0,751/21/41/81/16 ..… до члена ряда меньшего ε.
Входные данные: ε – точность (обозначим eps), вещественное число.
Выходные данные: р – произведение членов степенного ряда, вещественное число.
Математическая модель:
Схема алгоритма:
Код приложения:
Option Base 1 Private Sub Command1_Click() Dim eps As Single, p As Double, n As Integer eps=InputBox(“Введите
точность вычисления”) p=0.75:n=1 Do p=p*1/2^ n:n=n+1 Loop While 1/2^ n>eps MsgBox
“Произведение равно ” & p End Sub
Пример 12.
Разработать информационную технологию вычисления значения факториала числа.
Входные данные: n – число, для которого считается факториал, целое число.
Выходные данные: fact – переменная, хранящая значение n!, целое число.
Математическая модель:
Схема алгоритма:
Код приложения:
Private Sub Command1_Click()
Dim n As Integer, fact As Long, k As Integer
n=InputBox(“Введите значение n”)
If n>0 Then
faсt=1
For k=2 To n
fact=fact * k
Next
MsgBox “Значение ” & n & ”! ” & ” равно ” & fact
Else
MsgBox “Недопустимое значение n=” & n
End If
End Sub
