Показать сообщение отдельно
Старый 24.03.2011, 10:05   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от павля Посмотреть сообщение
большой результат какой-то кажется
Еще бы - если Вы вместо раздельного подсчета двух сумм взяли да вложили один цикл в другой. Таким образом, сумма по 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070