Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 17:51   #1
Garmata
 
Регистрация: 26.11.2013
Сообщений: 5
Печаль Помогите переписать код

Есть программа на паскале консольная : МОДЕЛИРОВАНИЕ ПЕРЕХОДНЫХ ПРОЦЕССОВ В ЭЛЕКТРИЧЕСКИХ ЦЕПЯХ
Вариант программы:
Код:
Uses Crt, Graph;
var
Gd, Gm , Um, Ts, X0, Y0 : Integer;
R,L,Q,I,DI,t,Om,Tmax,T0,Tm,d,dt,UR,UC,UL : real;
27
const
EDS = 1.0 {Bольты};
Umax = 2.0 {Bольты };
C = 1E-6 {Фарады};
begin
DirectVideo:=False;
ClrScr;
{---------ввод значений параметров задачи------------------------------------}
textcolor(yellow);
writeln('---Электрическая R-C-L цепь---');
writeln;
write('Сопротивление: R[Ом] =');
read(r);
write('Индуктивность: L[Гн] =');
read(L);
write('Интервал вывода T/To =');
read(T0);
write('Шаг интегрирования d =');
read(d);
{----------инициализация графического режима-----------------------------}
Gd:=Detect;
InitGraph(Gd,Gm,' ');
if GraphResult <> grOk then Halt(1);
{--------построение координатных осей и надписей-----------------------}
X0:=GetMaxX div 2;
Y0:=GetMaxY div 2;
SetColor(blue);
Line(0,0,0,2*Y0);
Line(0,Y0,2*X0,Y0);
SetColor(red);
OutTextXY(5,5,'UR');
SetColor(white);
OutTextXY(5,20,'UL');
SetColor(green);
OutTextXY(5,35,'UC');
TextColor(green);
gotoxy(70,16);
write('T/To=',T0:2:2);
{--------вычисление масштабирующих множителей---------------------}
Om:=1/sqrt(L*C);{циклич. частота собственных колебаний LC-контура}
dt:=d/Om;
Tmax:=2*pi*T0/Om; {временной отрезок проведения расчетов}
Um:=round(Y0*0.5);
Tm:=round(2*X0/Tmax);
SetColor(6);
OutTextXY(5,Y0-round(EDS*Um)-15, 'ЭДС');
28
Line(0,Y0-round(EDS*Um),2*X0,Y0-round(EDS*Um));
{--задание начальных данных---------------------------------------------}
t:=0;
Q:=0;
I:=0;
{--решение уравнений модифицированным методом Эйлера--}
while t <= Tmax do
begin
DI:=-(I*R*C*Om + Q - EDS*C);
I:=I+DI*d;
Q:=Q+I*d;
UR:=I*R*Om;
UC:=Q/C;
UL:=L*DI*Om*Om;
t:=t+dt;
{-----вывод графиков------------------------------------------------}
Ts:=round(Tm*t);
PutPixel(Ts,Y0-round(UR*Um),red);
PutPixel(Ts,Y0-round(UC*Um),green);
PutPixel(Ts,Y0-round(UL*Um),white);
end;
CloseGraph;
end.
Нужно переписать код для проекта на Embarcadero® Delphi® 2010 Version 14.0.3593.25826
Подскажите какие модули на какие нужно заменить и какие функции вместо паскалевских нужны
Спасибо за помощь

Последний раз редактировалось Garmata; 26.11.2013 в 18:46.
Garmata вне форума Ответить с цитированием
Старый 26.11.2013, 18:53   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Если вы ничего (почти) не хотите менять, то попробуйте эту библиотеку:
http://math.ubbcluj.ro/~sberinde/wingraph/main.html
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переписать код Вадим12091965 Microsoft Office Excel 0 24.09.2013 19:44
Переписать код в Visual c++ elenkarm Помощь студентам 1 20.12.2012 14:01
Переписать код с Delphi на С++ saifullina Помощь студентам 0 30.10.2012 00:34
переписать код на паскаль hunter03 Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2010 15:46
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37