![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Помогите пожалуйста переделать готовый код. Но что бы в нем использовались операторы цикла "while do" а не "repeat until".
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
function fact(x: Integer): Integer;
begin
if x=1 then
fact:=1
else
fact:=fact(x-1)*x;
end;
const e=10e-5;
var x,s,sk:real;
k:integer;
begin
readln(x);
sk:=1;
s:=1;
k:=0;
writeln('e = ',e:0:4);
repeat
k:=k+1;
sk:=-sk*x*x/((2*k-1)*fact(2*k));
s:=s+(2*k*k+1)*sk;
writeln('chlen[',k,'] = ',sk*(2*k*k+1):0:5);
until (abs(sk*(2*k*k+1))<e);
writeln('s = ',s:0:5,', k = ',k);
readln
end. |
|
#2
|
|||
|
|||
|
Цитата:
Код:
While (abs(sk*(2*k*k+1))>e) do begin
k:=k+1;
sk:=-sk*x*x/((2*k-1)*fact(2*k));
s:=s+(2*k*k+1)*sk;
writeln('chlen[',k,'] = ',sk*(2*k*k+1):0:5);
end; |
|
#3
|
|||
|
|||
|
Спасибо большое. Странно, вроде так же все делал, но не получалось.
|
|
#4
|
|||
|
|||
|
Цитата:
|
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
Без особой разницы. Там все равно значение очень маленькое.
|