|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
Без особой разницы. Там все равно значение очень маленькое.
|