Oto łatwy sposób na poradzenie sobie z dziedzictwem kodu Fortranu
Fortran tak skutecznie pomagał inżynierom w przybliżaniu równań, że dla wielu z nich stanowił najważniejszy element procesu konstruowania. Z odejściem wielu inżynierów programujących w Fortranie na emeryturę pozostało dziedzictwo bitów, które nie są przez nikogo używane. Jeszcze większy problem w tym, że Fortran i produkty Microsoft nie współpracują ze sobą w naturalny sposób.
– Znaczna część tej schedy programowej gwałtownie przekształca się w czarne skrzynki, które sprawiają kłopot wielu działom konstrukcyjnym – mówi John Sheehan, wiceprezes ds. usług w Mathsoft, twórcy programu Mathcad, narzędzia do obliczeń matematycznych.
To właśnie na życzenie wielu klientów, których martwiło, że coraz więcej ich programów w Fortranie zaczyna spełniać rolę czarnej skrzynki, Sheehan zaczął szukać sposobu, jak Mathcad – interpretacyjny mechanizm z naturalną notacją matematyczną – mógłby tu pomóc. Mathcad jest również potężnym narzędziem umożliwiającym inżynierom współpracę – publikowanie i udostępnianie informacji.
Do Mathcada można wprowadzić precyzyjnie określony układ równań, ale Sheehan odkrył, że niektórzy inżynierowie chcą dokładnie powielić wyniki otrzymywane z Fortranu – prawdopodobnie potrzebując marginesu błędów zapewniającego wsteczną zgodność. Zaprezentował wówczas lepsze podejście – zebranie oryginalnych, częściowo różniczkowych równań (które kod Fortranu usiłował przybliżyć) i wpisanie ich bezpośrednio do Mathcada.
Trik taki jest potrzebny, gdy ktoś korzysta z dziedzictwa programów w Fortranie, do przybliżenia liniowych i nieliniowych równań algebraicznych lub różniczkowych, potrzebnych w formacie, w którym mogą być nie tylko przeliczone, ale również udostępnione innym i dla nich zrozumiałe.
Fortran do Matchcada: plan konwersji Oto układ równań, które John postanowił rozwiązać… …następnie porównał wyniki wygenerowane przez Mathcad (z wykorzystaniem operatora kolumn) z wynikami uzyskanymi w Fortranie… …a potem wykazał, że można uzyskać dokładne rozwiązanie, korzystając z wbudowanej w Mathcad funkcji Pdesolve
|