End Sub
End If
End Sub
Do
Sum = Sum + i
i = i + 1
Loop While i <= sEnd
MsgBox "Сумма чисел от " & sStart & " до " & sEnd & " равна " & Sum, , "Решение задачи"
Пример 18. Вычислить сумму ряда натуральных чисел, кратных произвольно заданному числу М и подсчитать их количество.
Sub Demo_Summa()
Dim n, m, i, u As Integer
n = InputBox("Введите длину ряда ", "Запрос первого параметра")
m = InputBox("Введите число М ", "Запрос второго параметра")
summa = 0 'обнуление переменной суммы
j = 0 'обнуление счетчика количества чисел
For i = 1 To n
u = i
' Накапливаем сумму, если число кратно М
If i Mod m = 0 Then
summa = summa + u
' Подсчет количества чисел, кратных М
j = j + 1
Next i
MsgBox "Сумма равна " & summa & ", " & "Количество элементов " & j, , "Решение задачи"
В данном примере для выбора чисел, кратных М используется оператор Mod, который вычисляет остаток от деления. Если число кратно М, то остаток от деления на М равен нулю. Обратите также внимание на использование блочной формы оператора If.
Вычисление произведения. Вычисление конечного произведения представляет собой процесс нахождения произведения заданного количества сомножителей по формуле
.
Как и суммирование, вычисление произведения организуется с помощью циклического процесса по рекуррентному соотношению
.
В отличие от суммирования начальное значение произведения должно быть равно единице.
Алгоритм нахождения произведения представлен на рис. 9.7.
Пример 19. Вычислить факториал числа N.
Формула для вычисления факториала имеет вид:
.
Как видно из формулы, вычисление факториала числа N сводится к нахождению произведения n сомножителей.
Sub Demo_Proizvedenie()
Dim n, i, u As Integer
Dim p As Double
n = InputBox("Введите число n= ", "Запрос программы")
p = 1
For i = 1 To n
u = i
p = p * u
Next i
MsgBox "Факториал чисел от 1 до " & n & " равен " & p, , "Решение задачи"