Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.07 c
15-1333657802
Юрий
2012-04-06 00:30
2013.03.22
С днем рождения ! 6 апреля 2012 пятница


2-1339576883
Seally
2012-06-13 12:41
2013.03.22
Делфи не признает AdvStringGrid


1-1297432020
sniknik
2011-02-11 16:47
2013.03.22
В корзину из сервиса...


15-1332512911
Pit
2012-03-23 18:28
2013.03.22
C# и генерирование TLB


2-1331468421
Димка На
2012-03-11 16:20
2013.03.22
Создать несколько экз. класса сразу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский