Помощь - Поиск - Пользователи - Календарь
Полная версия: Составление цикла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Serlos
который чос решаю но никак не выходит
Задачка такая
вычислить сумму s=1/3+1/(3+2)+1/(3^2+2)+1/(3^3+2)+..+1/(3^10+2)
используя for и оператор go to
вот пробывал но невыходит
Program dgfsd;
Var
S:real;
p,i:integer;
begin
p:=0;
s:=0;
for i:=1 to 10 do
begin
p:=p+i;
s:=s+1/(p+2);
end;
writeln('s=',s:8:2);
readln;
end.
.
andriano
А почему p:=p+i ?
Формулу можно записать так:
s := sum(1/(p^i+2)) | i := 0 to 10
откуда
begin
p:=1;
s:=0;
for i:=0 to 10 do
begin
s:=s+1/(p+2);
p:=p*3;
end;
Serlos
опять же невыходит
Program dgfsd;
function sum(p,i:integer): integer;
Var
S:real;
begin
p:=3;
s:=0;
for i:=0 to 10 do
begin
s:=sum(1/(p^i+2));
end;
writeln('s=',s:8:2);
readln;
end.
ATAMAH
А зачем ты тут пишешь функцию? Если надо то ошибка сразу во второй строке функция пишется не так!
volvo
ATAMAH, если что - функция описана совершенно правильно, так что читать азбуку срочно... Ошибка будет потом, гораздо ниже второй строки.
andriano
Serlos, может, я был неправильно понят: на паскале написано только то, что помещено в теги. Остальное - псевдокод (Сообщение #2).
Feagor
не пойму в чем проблема?

uses crt;
const n=10;
var sum:real;
i:integer;

begin
clrscr;
sum:=1/3;
for i:=1 to n do sum:=sum+(1/(exp(i*ln(3))+2));
writeln(sum:2:4);
readkey;
end.


а если так уж и хочется через функцию, то:
uses crt;
const n=10;
var s:real;
i:integer;
function sum(p:integer):real;
begin
sum:=1/(exp(p*ln(3))+2);
end;
begin
clrscr;
i:=0;
s:=1/3;
for i:=1 to n do s:=s+sum(i);
writeln(s);
readkey;
end.


Честно говоря, сложилось такое мнение что автор второй или 3 раз паскаль видит lol.gif. Только без обид cool.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.