Помощь - Поиск - Пользователи - Календарь
Полная версия: Сумма ряда на ЭВМ и вычисленная аналитически > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
SunCHO
Задача:
Составить 2 программы на языке Pascal (одну не используя оператор цикла), другую используя соответствующий оператор цикла. Сравнить полученное ЭВМ значение суммы ряда со значением, вычисленным аналитически. Найти сумму 50 членов ряда: S=2+2/2*3+2/2^2*5+2/2^3*7

Скажу огромное спасибо тому, кто хоть подскажет русло в котором думать надо!!!
SunCHO
кажется мне чтьо здесь что-то с рекурсиями связано, но уж очень сложно выходит как-то...
Ботаник
Точно, с рекурсиями! laugh.gif Не в бровь, а в глаз laugh.gif
Программу на Пачкале выкладывать не буду, чтобы не мешать творческому процессу. Но вот алгоритм на Васике. Работает, проверял.

''''''''''''''''''''''''''''''
Function F(k As Integer) As Double
If (k > 0) Then
F = F(k - 1) + 2 / (2 ^ k * (1 + 2 * k))
Else
F = 2
End If
End Function

Function Цикл(n As Integer) As Double
Dim k As Integer, S As Double

S = 0
For k = 0 To n
S = S + 2 / (2 ^ k * (1 + 2 * k))
Next k
Цикл = S
End Function

Sub Процедура1()
Dim S As Double

' Вычисление через рекурсивную функцию.
S = F(3)

' Вычисление через цикл.
S = Цикл(3)
End Sub
'''''''''''''''''''''''

Для контроля: S(3)=2.469.....
И ещё - в Пачкале нет возведения в степень, так что операцию 2^k придётся программировать самостоятельно wink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.