Цитата:
Сообщение от павля
большой результат какой-то кажется
|
Еще бы - если Вы вместо раздельного подсчета двух сумм взяли да вложили один цикл в другой. Таким образом, сумма по j у Вас считается не один раз, а m раз, т.е. при каждом значении k. И всё это идёт "в общий котёл".
Кроме того:
1. Перепутаны циклы по х и по k,j. К первому число m не имеет никакого отношения, интервал по х разбивается на n=25 частей.
2. Нужно вывести не одно значение у, а таблицу у(х).
3. Величина (k-l/k), как и (j+x), под знаком суммы идёт в квадрате, а не в первой степени, как у Вас.
Сейчас исправлю.
Код:
program..;
uses crt;
var
m,j,k,l,n,i:integer;
Nx,Kx,x,y,SH,s1,s2:real;
begin
clrscr;
write('Ввод количества шагов по k,j (M): ');
readln(m);
write('Ввод количества шагов по x (N): ');
readln(n);
write('Ввод начального значения X: ');
readln(Nx);
write('Ввод конечного значения X: ');
readln(Kx);
write('Ввод переменной L: ');
readln(L);
SH:=(Kx-Nx)/n;
S1:=0;
for k:=1 to m do
S1:=S1+SQR(k-L/k);
for i:=0 to n do
begin
x:=Nx+i*SH;
S2:=0;
for j:=L to m do
S2:=S2+SQR(j+x);
y:=L+x*20+S1+S2;
Writeln(x:5:3,y:20:5);
end;
readln;
end.