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, , "Решение задачи"