Помощь - Поиск - Пользователи - Календарь
Полная версия: Циклы
Форум «Всё о Паскале» > 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 Там и в логике ошибка вроде .. щас поправлю

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