Var x,y,i,s:integer;
begin
s:=1;
writeln('введите числа x и y');
write('x='); readln(x);
write('y='); readln(y);
for i:=x to y do s:=i*s;
writeln('произведение чисел от ',x,' до ',y,' =',s);
end.
Пример работы:
введите числа x и y
x=2
y=5
произведение чисел от 2 до 5 =120
Формула указана не ясно в задании, я указал в ответе так как оно более менее смотрится понятно, но вам стоит уточнить. Что до алгоритма, то он выглядит вот таким вот образом. Внимание, первый член данного ряда считается за 0, вам стоит так же уточнить у преподавателя, в задании этого явно не указано, но зачастую такое значение традиционно.
Ошибки в вашем алгоритме:
1. У вас условие k < 0, это значит, что если будет введено k = 0, то алгоритм отработает, но 0 членов быть не может, это не имеет смысла.
2. Цикл у вас выводит значение n-го члена после каждой итерации, а не единожды.
Спасибо за отметку "Лучший ответ" и нажатую кнопочку "спасибо" (:
<em>// PascalABC.NET 3.2, сборка 1399 от 08.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ReadSeqReal(3).Select(x->x<0?sqr(x*x):x*x).Println
end.
<u>Пример</u>
3.18 -5.722 1.94
10.1124 1071.99167796866 3.7636
<span>значение переменной b после выполнения алгоритма: </span>20
Program gt;
var a:array[1..10,1..10]of integer;
n,k,p:integer;
begin
p:=0;
for n:=1 to 10 do
for k:=1 to 10 do
a[n,k]:=1;
for n:=1 to 4 do
for k:=1 to n+1 do
begin
A[n,k]:=A[n,k]-1;
A[k,n]:=A[k,n]-1;
end;
for n:=1 to 10 do
begin
for k:=1 to 10 do
begin
write(a[n,k]:3,' ');
if(a[n,k]=0)then p:=p+1;
end;
writeln;
end;
writeln(p);
<span>end.
ответ:8</span>