Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Рациональная интерполяция с помощью непрерывных дробей.   Найти похожие ветки 

 
SvK.droNe ©   (2012-04-02 09:28) [0]

Помогите пожалуйста с массивами, программа работает но вывод неправельный.

Код:
program Project2;
{$APPTYPE CONSOLE}
uses
 SysUtils;
label 150,130,250;
const MaxN=10;
var
 A,B,D,P,Q,X,Y:array[0..MaxN] of real;
 i,j,m,m1:integer;
 r,s,k:real;
begin
 writeln ("Vvedit kilcist tochok m=");readln(m);                // 20
  for i:=1 to m do
  begin
   writeln("x[" ,i, "]="); readln (x[i]);
  end;
  for i:=1 to m do
   begin
   writeln("y[" ,i, "]="); readln (y[i]);
    end;                                //30
    m1:= m div 2;
   for j:=1 to m do
    begin
     R:=Y[j]; S:=X[j];
     if j=1 then goto 130;
     for i:=1 to j-i do
     begin
     r:= (S-X[i])/(R-A[i]);
    end;

     130:A[j]:=r;                    //130
    end;

    P[0]:=1; Q[0]:=A[1];K:=1;
  150: for i:=1 to m1 do
     begin
     P[i]:=0; Q[i]:=0;
     end;
     for i:=2 to m do                //160
     begin
      for j:=(i div 2) downto 1 do     //170
      begin
      r:=A[i]*Q[j]-X[i-1]*P[j]+P[j-1];
      P[j]:=q[j];q[j]:=r;
      end;
    R:=A[i]*Q[0]-X[i-1]*P[0];        //200
    P[0]:=Q[0];
    Q[0]:=R;
    end;
   if k=2 then goto 250;               //220
   for i:=0 to m1 do
    begin
    B[1]:=Q[1];
   k:=2; P[0]:=0; Q[0]:=1;  goto 150;
   end;
    for i:=0 to m1 do
    begin
    250: d[i]:=Q[i];
      end;
     Writeln("Koeficientu:");

    writeln ("Koeficientu A:");
    for i:=1 to m do
    begin
    writeln ("A(",i,")=");
    Writeln (A[i]:2:2);
     end;

    writeln ("Koeficientu B:");
    for i:=0 to m1 do
    begin
    writeln ("B(",i,")=");
    Writeln (B[i]:2:2);
     end;

    writeln ("Koeficientu D");
    for i:=0 to m1 do
    begin
    writeln ("D(",i,")=");
    writeln (D[i]:2:2);
     end;
    readln;

end.


 
Сергей М. ©   (2012-04-06 11:53) [1]

Отладчик что говорит ?


 
Jeer ©   (2012-04-06 14:36) [2]


> программа работает


Если программа скомпилировалась, то, с большой вероятностью, она будет работать.
Вопрос "Как ?" - это следующий вопрос.


 
ford ©   (2012-04-06 18:59) [3]

Увидев ЭТО


>  if j=1 then goto 130;

...

> 130:A[j]:=r;  


брррр, тебя кто так писать код учил?
убейте своего учителя информатики, и повесьте труп на фонарном столбе, чтобы другим не повадно было!!

"ЭТО" преобразуется в

A[1]:=Y[1];
for j:=2 to m do
   begin
     R:=Y[j]; S:=X[j];
     for i:=1 to j-i do
      begin
        r:= (S-X[i])/(R-A[i]);
      end;
   end;


Вообще посмотрите внимательно на строчки

for i:=0 to m1 do
   begin
   B[1]:=Q[1];
  k:=2; P[0]:=0; Q[0]:=1; goto 150;
  end;


 
ford ©   (2012-04-06 19:06) [4]

И к стати,

...
    if j=1 then goto 130;
    for i:=1 to j-i do
    begin
...


при каждой итерации, чему у Вас равна переменная i ?
в этот цикл, Ваша программа не зайдет никогда в жизни :)


 
Jeer ©   (2012-04-06 19:40) [5]

Да там полный бред, передранный из Бейсика.
Массив объявлен с нуля ( динам, поскольку ), а используется с 1.
Ну и кому это надо ?
Ф топку.


 
ford ©   (2012-04-06 20:28) [6]


> Jeer ©   (06.04.12 19:40) [5]

нуу будьте снисходительны, сейчас в школах такую ахинею по информатике преподают, что этот "опус" еще так-себе :) , я и по хуже видел :)
но вот препода .... точно повесить, причем за яйцЫ :)) (если нету, то пришить и повесить :)) )


 
Jeer ©   (2012-04-06 20:45) [7]


> нуу будьте снисходительны,


Не могу, иначе - это пособничество преподам-недоумкам и без-мысли-учащимся.


 
MBo ©   (2012-04-06 20:56) [8]

Код из библиотеки численного анализа НИВЦ МГУ. Изначально на фортране, отсюда и метки и единичная база массивов. (Не сомневаюсь, что он был отлажен и работал корректно).


 
ford ©   (2012-04-06 20:58) [9]


> это пособничество преподам-недоумкам

А Вы лично как представляете себе педагога за 5000-7000р. в месяц ?
вот, сами посмотрите вакансии
http://www.rostobr.ru/activity/cadres/vacancy/
я не просто так говорю :)
Я лично, ни-за что не пойду преподавать в школу за такие деньги :)
Преподавать что-либо за прожиточный минимум....
http://www.rostov-gorod.ru/?ID=3242
Это КОЩУНСТВО :)
ну и как следствие... такие вот "опусы" от таких вот "учеников", которым "преподают" за такие деньги, такие вот "преподаватели"
:( груустно однако


 
ford ©   (2012-04-06 21:00) [10]


> MBo ©

дайте ссылку на код


 
Сергей М. ©   (2012-04-06 21:00) [11]


> нуу будьте снисходительны


ага.
и будучи снисходительными не удивляйтесь потом почему  наши спутники с орбиты горохом падают в океаны)


 
MBo ©   (2012-04-06 21:04) [12]

http://num-anal.srcc.msu.ru/lib_na/cat/cat913.htm
Перевод на Паскаль-Дельфи появился, видимо, недавно, раньше не было. С динмассивами, вероятно, перемудрили (код не смотрел, просто сомневаюсь, что на нулевую  базу автоматически переведено)


 
ford ©   (2012-04-06 21:12) [13]


> Сергей М.

Извиняюсь, судя по
> MBo ©   (06.04.12 21:04) [12]
>
> http://num-anal.srcc.msu.ru/lib_na/cat/cat913.htm

это не "школьная программа", сл-но..... еще хуже
этот "вопрошающий" из института... и явно не сельхозмашиностроения..... !!!!

> наши спутники с орбиты горохом падают в океаны)

тут уж не только спутники будут падать .... :(


 
Jeer ©   (2012-04-06 21:35) [14]


> Код из библиотеки численного анализа НИВЦ МГУ.


Борис !
В этом-то и беда, что существуют и выложены в Инет изумительные алгоритмы, созданные и отлаженные поколениями математиков и алгоритмистов, но неучи используют их бездумно и, вполне вероятно, включая их "ремиксы" в реальные проекты, типа "Фобос в грунт"


 
ford ©   (2012-04-06 21:44) [15]


> включая их "ремиксы" в реальные проекты, типа "Фобос в грунт"

нифига-се "ремиксы" :)


 
ford ©   (2012-04-06 21:51) [16]


> Jeer ©

Кстати, а Вы давно общались в проф. плане с выпускниками институтов?
Я вот недавно был, так сказать удручен... мягко выражаясь - "ЖО-ПА полная"
они ничего не знают... только как бабло считать.....


 
Jeer ©   (2012-04-06 22:20) [17]


> Кстати, а Вы давно общались в проф. плане с выпускниками
> институтов?


Преподавал в Бауманском и готовил группу из 5-ти человек для серьезной работы с моим участием.
Работа была выполнена, пятеро потом устроились вполне адекватно.
Было это где-то в 2005.

Из тех выпускников, кого встречаю сейчас ( впрочем, Калуга - не лучший расклад, в этом плане ) - ничего из себя, как инженеры, не представляют.
Но это не их вина.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.238 c
15-1351419337
Rouse_
2012-10-28 14:15
2013.03.22
Изучаем отладчик


2-1337107123
Валерий
2012-05-15 22:38
2013.03.22
Экспорт отчетов Fast Report в Open Office из Delphi


11-1244898147
Лёха
2009-06-13 17:02
2013.03.22
работа с потоками


4-1259019636
SPeller
2009-11-24 02:40
2013.03.22
Внедрение кода в другой поток. Замечания, дополнения, критика


2-1336394696
vasa777
2012-05-07 16:44
2013.03.22
длина лабела в символах