A334(б). Сумма в сумме

Условие

Вычислить [latex]\sum\limits _{ i=1 }^{ k }{ \sum\limits _{ j=1 }^{ t }{ \sin { ({ i }^{ 3 }+{ j }^{ 4 }) } } } [/latex] .

Решение

В данной задаче нам необходимо сделать два цикла, а конкретней — цикл в цикле.

Тесты

[latex]k[/latex] [latex]t[/latex] [latex]S[/latex]
1 1 0.9092
10 15 1.4908
20 30 8.8956
60 100 41.9133

Воспользуемся веб-приложением и посчитаем сумму ряда.

Ссылки

Задачник Абрамова
Код на ideone

Ю3.13

Задача. Проверить численно первый замечательный предел [latex]\lim _{ x\xrightarrow [ ]{ } 0 }{ \frac { \sin { x } }{ x } } =1[/latex], задавая [latex]x[/latex] значения [latex]1[/latex]; [latex]\frac {1} {2}[/latex]; [latex]\frac {1} {4}[/latex]; [latex]\frac {1} {8}[/latex];… до тех пор, пока левая часть равенства не будет отличаться от правой менее чем на заданную погрешность [latex]\varepsilon[/latex].

[latex]\varepsilon[/latex] Ответ
0.5 Проверка пройдена при x ==1
0.09 Проверка пройдена при x ==1/2
0.009 Проверка пройдена при x ==1/8
0.000 9 Проверка пройдена при x ==1/16
0.000 09 Проверка пройдена при x ==1/64
0.000 009 Проверка пройдена при x ==1/256
0.000 000 9 Проверка пройдена при x ==1/512
0.000 000 09 Проверка пройдена при x ==1/2048
0.000 000 009 Проверка пройдена при x ==1/8192
0.000 000 0009 Проверка пройдена при x ==1/16384

Из условия задачи можно сразу определить что здесь придется воспользоваться циклом который будет изменять [latex]x[/latex] и подставлять в функцию:
[latex]y=\frac { \sin { x } }{ x }[/latex]

Главная задача которая стоит перед программистом в таких случаях — это сохранение максимально возможной точности вычислений. Из условия видно что [latex]0<x<=1[/latex], при этом он будет постоянно делиться на двойку, так что если обозначить знаменатель [latex]x[/latex] как [latex]a[/latex] (числитель всегда будет единицей), то справедливо что:
[latex]y=\frac { \sin { x } }{ x }=\frac{ \sin{ \frac {1}{a} } }{\frac {1}{a}}=a*\sin{ \frac {1}{a} } [/latex]

где [latex]a={2}^{i}[/latex], [latex]i>=0[/latex] (то есть переменная [latex]i[/latex] пробегает все значения от нуля и до плюс бесконечности).
Иными словами переменная [latex]a[/latex] инициализируется единицей и с каждой итерацией умножается на двойку.
Нам осталось только сделать цикл который будет подставлять нужный [latex]x[/latex] в формулу пока модуль разности значения правой половины равенства и левой не будет меньше (либо равен) заданному [latex]\varepsilon[/latex]

Сам код программы: http://ideone.com/N9p5sQ.