Другие языки программирования и технологии

Уважаемые!Помогите решить задачу по Паскалю,пожайлуста!

Условие:Вычислите y=x+x(в 3 степени)/3+x(в5 степени)/5+...x(в 21 степени)/21,где x=0,5Напишите,пожайлуста,как записать эту задачу!
Доброго времени суток.

Если под паскалем вы подразумеваете Object Pascal aka Delphi, то там есть функция Power в модуле Math. Пишите простой цикл

y := 0;
for i:=1 to 11 do y := y + Power(0.5, 2*i - 1) / (2 * i - 1);

Если же речь идет о турбо паскале, то указанную функцию придется реализолвывать самому. Например, так

function Power(N: Extended; Pwr: Integer): Extended;
begin
if Pwr = 0 then Power := 1
else Power := N*Power(N, Pwr-1);
end;

Или воспользоваться советом попробовать через рекуррентное соотношение.

var
y, x, p : Real;
k : Integer;
begin
x := 0.5; {присваиваем начальное значение}
p := x; {переменная для накапливания степени}
y := x; {переменная для накопления суммы}
k := 0;
repeat
p := p * x * x ; {вычисление членов ряда x, x^2, x^5 ...}
y := y + p / (2 * k - 1); {вычисление слагаемого и добавление его к сумме}
k := k + 1; {увеличение номера}
until (2 * k - 1) <= 21;
WriteLn('Y = , y:7:4);
ReadLn;
end.

Удачи!
ВС
Вячеслав Сокуренко
59 613
Лучший ответ
пишешь рекурентную формулу задаешь условие, цикл и сумму, все просто...
АР
Антон Райник
15 119
var x,y:real;
d:byte;
function Stepen(a:Real;b:byte):Real;
var c:byte;
a1:real;
begin
a1:=a;
for c:=1 to b do a:=a*a1;
Stepen:=a;
end;

begin
x:=0.5;
y:=x;
for d:=1 to 10 do
y:=y+stepen(x,d*2+1);
writeln(y:10:10);
readln;
end.

Примерно так.