|
#1
|
|||
|
|||
прога...
итак задали нам по програмированию сделать програмку...
программу я сделал но она помоему считает неверно ...как я подозреваю ошибка в том что она не берет предыдущее значение Аn-1 и Bn-1 подскажите что мне делать program nike; const A0=3; B0=2; Eps=10E-6; var S:real; An,Bn:real; Sn:real; N:integer; begin S:=1; N:=0; An:=A0; Bn:=B0; repeat Sn:=Exp(N*ln(2))*(An*An-Bn*Bn)*(-0.5); s:=sn*(-0.5); writeln sn; S:=S+Sn; An:=0.5*(An+Bn); Bn:=Sqrt(An*Bn); Inc (N); until (An*An-Bn*Bn)<=Eps; writeln ('S=',S); readln; End. |
#2
|
||||
|
||||
Ну для начала зачем каждый цикл умножать на -1/2, когда в условие
сумму надо умножить на 1/2 и то всего один раз??? (Мож я не так понял) Цитата:
Цитата:
An Считаешь Bn...(хотя необходимо было ввести ещё одну переменную: Z := An; An:=0.5*(An+Bn); Bn:=Sqrt(Z*Bn); А что у тебя Цитата:
Короче хрен знает мож это я не понимаю ничё (не судите строго) Вот переделал: Код:
program summa_r9da; uses crt; const e = 0.000001; var S : real; A : real; B : real; Z : real; n : integer; begin clrscr; S :=0; n :=0; A := 3; B := 2; repeat S := S + exp(n*ln(2))*(A*A-B*B); Z := A; A := (A+B)/2; B := sqrt(Z*B); inc(n); until (A*A-B*B)<=e; S := S/2; write(' Summa r9da = ',S); readkey; end. |
#3
|
|||
|
|||
тупой встречный вопрос...как мне это проверить?? ЗЫ спасибо БОЛЬШОЕ
|
#4
|
||||
|
||||
Цитата:
когда сдавать будешь там и проверят =) |
#5
|
|||
|
|||
я вывел промежуточные значения С (нупервое это 5 и так ясно (тупо подставив в формулу 3 и 2 соответственно)) дальше 5.5 ...позоде на правду но не уверен а дальше вооще не могу посчитать (всего их три )
|
#6
|
|||
|
|||
робонук спасибо те огромное прогу сдал)))есть оазговор можешь связатся сл мной 374411907
|