#1 29.11.06 15:11
Помогите с Паскалем...
Нужно "Написать программу, которая вычисляет сумму первых N членов последовательности ((-1)^(n-1))/(n^n). Число N программа должна запрашивать у пользователя.Использовать логарифмические вычисления запрещается"
Написал как смог, а дальше не могу додумать до конца:
var
n,m,k1,k2:longint;
i,j:integer;
summa:real;
begin
k1:=1;
k2:=1;
summa:=0;
Writeln;
Write('Vvedite 4islo 4lenov posledovatelnosti: ');
Read(n);
m:=1;
while m<=n do
begin
for i:=1 to m-1 do
begin
k1:=(-1)*k1;
end;
for j:=1 to m do
begin
k2:=k2*n;
end;
summa:=summa+k1/k2;
m:=m+1;
k1:=-1;
k2:=1;
end;
writeln('summa: ',summa);
end.
помогите исправить ошибку((
Offline
#2 29.11.06 17:25
Re: Помогите с Паскалем...
чет у тебя вс сложно)))
надо наверное так:
Код: Pascal:
var i, n: integer; summa: real; begin summa := 0; Writeln; Write('Vvedite 4islo 4lenov posledovatelnosti: '); Read(n); for i := 1 to n do begin summa := summa + ((-1)^(i-1))/(i^i); end; writeln('summa: ', summa); end.
эм... только не помню есть ли '^' в паскале.... если не канает, то может есть функция powerв юните Math, накройняк можно написать свою))
типа:
Код: Pascal:
function pow(const Base, Exponent: Integer): LongInt; begin Result := Base; for i := 1 to Exponent do Result := Result * Result; end;
тогда конечный результат такой:
Код: Pascal:
var i, n: integer; summa: real; function pow(const Base, Exponent: Integer): LongInt; begin Result := Base; for i := 1 to Exponent do Result := Result * Result; end; begin summa := 0; Writeln; Write('Vvedite 4islo 4lenov posledovatelnosti: '); Read(n); for i := 1 to n do begin summa := summa + pow(-1, i-1)/pow(i, i); end; writeln('summa: ', summa); end.
З.Ы. паскаль не помню, только в делфе щас работаю, так что могу ошибаться кое-где:)))
Offline
#10 30.11.06 19:13
#11 30.11.06 21:38
Re: Помогите с Паскалем...
Maq написал(а):
Вполне правильный вариант, только насколько я понял pow это функция возведения в степень то должно быть так
Код: pascal:
function pow(const Base, Exponent: Integer): LongInt; begin Result := Base; for i := 1 to Exponent do Result := Result * Base; end;
Исправлено СнегаН (30.11.06 21:39)
Offline

