Помощь - Поиск - Пользователи - Календарь
Полная версия: Циклы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Саня
Всех поздравляю с наступившим Новым годом!
Помогите пожалуйста, поискал в ФАКЕ вроде ничего подобного нет. подскажите как решить эту задачу!
Вычислить значение выражения: cos(1+cos(3+cos(5+…+cos(23+cos(25))…)))
У меня ещё один вопросик, как записать в Паскале след-ю формулу(она прикреплена)
APAL

Var Res : Real;

Procedure FFF(aa);
Begin
If aa>=3 then
Begin
Res:=aa-2+cos(Res);
FFF(aa-2);
End
else
Res:=cos(Res);
End;

Begin
Res:=25;
FFF(Res);
Writeln(Res:6:4);
End.



Так как не даны заведомо правильные входные и выходные данные - результат требует проверки.

Не думаю что это лучший вариант, на на лучшее в половине 5-го утра мозги не варят... бессонница, млин... blink.gif
volvo
Я бы все-таки привел это к "хвостовой рекурсии":
function f(x: real): real;
begin
if x > 25 then f := 0
else f := cos(x + f(x + 2));
end;

begin
writeln(f(1):10:5);
end.
klem4
вариант с использованием цикла :

uses crt;
const n : integer = 25;
var
s : single;
a : integer;
begin

clrscr;

s := cos(n);

a := 23;

while(a >= 1) do begin
s := cos(a + s);
dec(a,2);
end;

writeln(s:6:5);

readln;
end.


volvo
klem4, а если подумать?
Может,
while(a >= 1) do begin
smile.gif
klem4
хаха, тока проснулся я smile.gif))0 Там и в логике ошибка вроде .. щас поправлю

исправил
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.