Antananarivu
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mr Nobody Я всего не знаю. Насколько я знаю, все это дело берет информанцию из базы данных Oracle. Работа с Ораклом организована методоми Java. Также весь интерфейс Java. А уже из Java вызываются С++ методы. Насколько я знаю Java и C++ очень хорошо друг с другом взаимодействуют. Я не знаю возможно ли это сделать средствами Fortrana (взаимодействие с Java - развитый интерфейс, возможно?), а если даже да, то видимо программист, реализующий это дело либо об этом не знал, либо имел какие-то свои причины для перевода все на С++, о которых я и не догадываюсь. Возможно использование именно Java и С++ - обязательство перед заказчками по ТЗ, кем-то когда-то подписанному. Класс интегратор. Ну даже я, в общем-то пока ламер С++, вижу что все это сделано не блестяще - никакого ООП в сущности не наблюдается, так процедурное программирование. Вы вообще должны понимать, что средний возраст работников моего отдела 60 лет, многие остановились на Алголе, многие ушли, а я занимаюсь С++ около 3 месяцев и то - постольку-поскольку. Что имею - то и имею. P.S. Бонус: Код: class CIntegrator //public Satellite { public: //methods CIntegrator(long jt0,LDouble tj0,T3DVector* rv,Perturbation_set* right,short power=13,LDouble eps =1.E-15); virtual ~CIntegrator(); virtual void GetVector(LDouble tj,T3DVector* rv); virtual void GetMatrix(NMTMatrix &matrix); protected:// methods virtual void Fsp(T3DVector* f, LDouble *B, T3DVector* sum); T3DVector Sum(T3DVector* fun,LDouble h_tau); void SumRV(LDouble h_tau, T3DVector *f1, T3DVector *f2); public:// members long m_countStep;//step' counter long m_countForce;//forc' counter protected:// members long m_p_JT0; LDouble m_p_T0; T3DVector* m_p_RV0; short m_nPower; LDouble m_Tau[15]; LDouble m_cTau[15]; LDouble m_B1[225];//[15*15] 1st order integrator matrix LDouble m_B2[225];//[15*15]2nd order integrator matrix LDouble m_eps; // Integerator error LDouble m_h; // Current step LDouble m_tCur;//Current time LDouble m_hCorrector;//corrector's step // LDouble m_h_min;// min step // LDouble m_h_max;//max step short m_nMiddle;// center of sequence short m_direction;// direction of integration +1 time forward -1 time backward short m_nBegin;//depend from direction short m_nFinish;//depend from direction short m_nNextStep;// depend from direction T3DVector m_rvOld[15][2];//velocities in history of integration T3DVector m_fOld[15];//accelerations in history of integration T3DVector m_rvStep[15][2];//current step series velocities T3DVector m_fStep[15];//current step series accelerations short m_nCalc[15];//check every point by eps short m_bInitFlag;//first step flag short m_Flag; Perturbation_set* m_pRight; LDouble m_PM[15]; }; |
|