|
Вопрос # 5 727/ вопрос решён / |
|
Здравствуйте, эксперты!
Мне бы нужно вычислить сумму вот такого чуда
cos(x)+cos(cos(x))+cos(cos(cos(x)))+...
но что то понять немного не могу, это его нужно в for запихать?
а как сделать что бы ещё и предыдущий элемент прибавить?
 |
Вопрос задал: micdas (статус: Посетитель)
Вопрос отправлен: 8 ноября 2011, 09:52
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Ну, если надо через for, то как-то так:
function dummy(const x: Double; const n: Integer): Double;
var
c: Double;
Index: Integer;
begin
Result:= 0.0;
c:= cos(x);
for Index:= 0 to n - 1 do // n - кол-во членов ряда
begin
Result:= Result + c;
c:= cos(c);
end;
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 8 ноября 2011, 10:14
Оценка за ответ: 5
Комментарий к оценке: именно так как нужно
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 8 ноября 2011, 15:25; участников в обсуждении: 2.
|
micdas (статус: Посетитель), 8 ноября 2011, 10:44 [#1]:
а можно и без for?
|
|
min@y™ (статус: Доктор наук), 8 ноября 2011, 11:00 [#2]:
Цитата (micdas):
а можно и без for?
КанЭщна, дарагой! Можьно через while, repeat и рекурсию. Но ты просил через for - я сделал через for.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
micdas (статус: Посетитель), 8 ноября 2011, 12:12 [#3]:
Result:= 0.0;
что то паскалю не нравиться 0.0
|
|
min@y™ (статус: Доктор наук), 8 ноября 2011, 13:06 [#4]:
Цитата (micdas):
Result:= 0.0; что то паскалю не нравиться 0.0
А, извини, я не обратил внимание, что это всё на турбопаскале надо, написал для delphi. Внесу изменения:
function dummy(const x: Double; const n: Integer): Double;
var
c, Result: Double;
Index: Integer;
begin
Result:= 0.0;
c:= cos(x);
for Index:= 0 to n - 1 do // n - кол-во членов ряда
begin
Result:= Result + c;
c:= cos(c);
end;
dummy:= Result;
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
micdas (статус: Посетитель), 8 ноября 2011, 14:35 [#5]:
а в чём у меня ошибка? в упор не вижу
program pr2;
var
x:integer;
function dummy(const x: Double; const n: Integer): Double;
var
c, Result: Double;
Index: Integer;
begin
Result:= 0.0;
c:= cos(x);
for Index:= 0 to n - 1 do
begin
Result:= Result + c;
c:= cos(c);
end;
dummy:= Result;
end;
begin
writeln('Vvedite x');
readln(x);
writeln('summa = ',dummy);
readln;
end.
|
|
min@y™ (статус: Доктор наук), 8 ноября 2011, 14:50 [#6]:
Цитата (micdas):
а в чём у меня ошибка? в упор не вижу
А там их несколько.
Найди 10 отличий:
program pr2;
function dummy(const x: Double; const n: Integer): Double;
var
c, Result: Double;
Index: Integer;
begin
Result:= 0.0;
c:= cos(x);
for Index:= 0 to n - 1 do // n - кол-во членов ряда
begin
Result:= Result + c;
c:= cos(c);
end;
dummy:= Result;
end;
var
x: Double;
n: Integer;
begin
write('Введи x: ');
readln(x);
Write('Введи n: ');
ReadLn(n);
writeln('summa = ',dummy(x, n));
readln;
end.
Тупо копипастить чужой код, не разобравшись - неблагодарное занятие.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
micdas (статус: Посетитель), 8 ноября 2011, 15:12 [#7]:
спасибо)))есть же добрые люди на свете
|
|
min@y™ (статус: Доктор наук), 8 ноября 2011, 15:25 [#8]:
Цитата (micdas):
спасибо)))есть же добрые люди на свете
"Спасибо" - это много. Пива достаточно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
8 ноября 2011, 15:40: Статус вопроса изменён на решённый (изменил автор вопроса — micdas)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|