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

Нужно написать программу в делфи....не могу сама никак

Примерно так
s:=0;
for j:=1 to m do
begin
p:=1;
for i:=1 to j do p:=p*i;
s:=s+power(-1,j)*p
end;
Дмитрий Андрушко
Дмитрий Андрушко
76 473
Лучший ответ
program N60047274;
{$APPTYPE CONSOLE}
var i, j, m:integer;
s, p:int64;
begin
write('Введите значение m: ');
readln(m);
s := 0;
for j := 1 to m do
begin
p := 1 - (j and 1) shl 1;
// Для недружащих с двоичной системой:
// заменить на p := 1 - 2 * (j mod 2);
for i := 1 to j do
p := p * i;
s := s + p
end;
writeln('Вычисленное значение = ',s);
readln
end.

Для тех, кому предыдущий вариант кажется сложным:
program N60047274;
{$APPTYPE CONSOLE}
var i, j, m:integer;
s, p:int64;
begin
write('Введите значение m: ');
readln(m);
s := 0;
for j := 1 to m do
begin
p := 1;
for i := 1 to j do
p := p * i;
if j mod 2 <> 0 then
p := -p;
s := s + p
end;
writeln('Вычисленное значение = ',s);
readln
end.

Ещё пара вариантов, более понятных:

program N60047274;
{$APPTYPE CONSOLE}
var i, j, m, z:integer;
s, p:int64;
begin
write('Введите значение m: ');
readln(m);
z := -1;
s := 0;
for j := 1 to m do
begin
p := z;
for i := 1 to j do
p := p * i;
s := s + p;
z := -z
end;
writeln('Вычисленное значение = ',s);
readln
end.

program N60047274;
{$APPTYPE CONSOLE}
var i, j, m, z:integer;
s, p:int64;
begin
write('Введите значение m: ');
readln(m);
z := -1;
s := 0;
for j := 1 to m do
begin
p := 1;
for i := 1 to j do
p := p * i;
s := s + z * p;
z := -z
end;
writeln('Вычисленное значение = ',s);
readln
end.

P.S. m может быть максимум 20, иначе происходит переполнение даже int64. Если необходимо задавать m больше 20, то придётся использовать p и s вещественного типа.
P.P.S. Юрий-17, для знакопеременного ряда использовать нестандартную функцию power - это, мягко говоря, нерационально.
Azat Tagaev
Azat Tagaev
51 590
отпиши сюда что надо и исходники делфи скинь какой делфи?
Юрий Антонов
Юрий Антонов
2 997