→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Что это 
Автор Сообщение
Начинающий

Регистрация: 05.02.2011
Сообщения: 1

Репутация: 0 [ ? ]
Сообщение Что это
ПОДСКАЖИТЕ ПОЖАЛУЙСТА ОТКУДА ЭТОТ КОД???!!!
program OPT ;
uses Graph, Crt;
type
CashFlow=array [1..50,1..50] of real;
Timeprlf =array [1..50] of integer;
projectchar=array [1..50] of real;
var
Gd, Gm:integer;
T, TInv, statuspr, Nnef:Timeprlf;
CF, CIp :CashFlow;
NPV,NPVch,NPVzap,rown,PP,PS, CI, IRR, PI:projectchar;
N,i,time, p, q, Nef,cs :integer;
disk, r,ch, Nnefc :real;

procedura zast;
Gd:=Detect;
initgraph(Gd, Gm,'d:\borland\tp6');
setcolor(15);
outtextxy(145,65,'Міністерство освіти України');
outtextxy(145,85,Львівський національний університет імені Івана Франка');
outtextxy(145,115,' кафедра');
outtextxy(145,135,' економічної кібернетики');
settextstyle(0,0,2);
outtextxy(180,180,' програмна реалізація');
outtextxy(100,200,'моделі оптимального часового розподілу’);
outtextxy(85,220,’ впровадження проектів інвестиційного портфеля ’); outtextxy(260,240,’підприємства');
settextstyle(0,0,3);
settextstyle(0,0,1);
outtextxy(145,340,' Виконала ');
outtextxy(145,380,' Паславська І.М.');
pix(2); readln;
Clrscr;

procedure timeoptimization;
const e=1;
type
iter=array[0..50] of integer;
invr=array[0..20] of real;
matr=array[0..50,0..20] of real;
prchar=array[0..50] of real;
matrnum=array[0..50,0..20] of integer;
nabacount=array[0..50] of integer;

var
l, ind, tempn: integer;
temp, Nnefc_ter, Rdep:real;
ref, NPVdis:prchar;
B:invr;
Ter:iter;
v:matr;
x, Numb:matrnum;
statusprn:nabacount;
Begin
l:=0;
Ter[0]:=1000;
for i:=1 to N do statusprn[i]:=statuspr[i];
writeln;
writeln ('Введіть величину дисконтної ставки, що відображає’);
writeln (‘зміну ефективності проектів у часі');
for i:=1 to N do
begin
if statusprn[i]=1 then
begin
write ('r[',i,']= '); readln(ref[i])
end;
end;
writeln;
writeln ('Введіть значення відсоткової ставки по депозитах');
readln(Rdep);

repeat
Nnefc_ter:=Nnefc;
l:=l+1;
for i:=1 to N do statusprn[i]:=statuspr[i];
writeln('введіть значення обсягів інвестиційних ресурсів для ', l,'-го’); writeln(‘наближення');
Ter[l]:=-1;
while Nnefc_ter>0 do
begin
Ter[l]:=Ter[l]+1;
Write('Введіть обсяг інвестиційних ресурсів у період ',Ter[l],' ');
readln(B[Ter[l]]);
Nnefc_ter:=Nnefc_ter-B[Ter[l]];
writeln('Nnefc= ',Nnefc_ter:8:2);
end;
for i:=1 to N do
for time:=1 to Ter[l]+1 do
begin
if statusprn[i]=1 then
begin
disk:=exp((time)*ln(1+ref[i]));
NPVdis[i]:=NPV[i]/disk;
v[i,time]:=(NPV[i]-NPVdis[i])/CI[i];
end
else v[i,time]:=-100;
end;

for i:=1 to N do
for time:=0 to Ter[l] do
x[i,time]:=0;

for i:=1 to N do
for time:=1 to Ter[l]+1 do
Numb[i,time]:=i;

for time:=1 to Ter[l]+1 do
repeat
ind:=0;
for i:=1 to N-1 do
begin
if v[i+1,time]>v[i,time] then
begin
ind:=ind+1;
tempn:=Numb[i,time];
Numb[i,time]:=Numb[i+1,time];
Numb[i+1,time]:=tempn;
temp:=v[i,time];
v[i,time]:=v[i+1,time];
v[i+1,time]:=temp;
end;
end
until ind>0;
writeln('Матриця ймовірних втрат, спричинених відтермінуванням’);
writeln (‘впровадження проектівV');
writeln;
for i:=1 to N do
begin
for time:=1 to Ter[l]+1 do
write (v[i,time]:8:2,' ');
writeln
end;
writeln ('Numb');
writeln;
for i:=1 to N do
begin
for time:=1 to Ter[l]+1 do
write (Numb[i,time]:4,' ');
writeln
end;
for time:=1 to Ter[l]+1 do
begin
for i:=1 to N do
if statuspr[i]=1 then
if B[time-1]>=CI[Numb[i,time]] then
begin
B[time-1]:=B[time-1]-CI[Numb[i,time]];
x[i,time-1]:=1;
statuspr[i]:=0;
end;
if B[time-1]>0 then
B[time]:=B[time]+B[time-1]*(1+Rdep);
end;
writeln ('Матриця розподілу X');
writeln;
for i:=1 to N do
begin
for time:=0 to Ter[l] do
write (x[i,time]:4,' ');
writeln;
end
writeln('ter=',Ter[l]);
writeln('rizn =',Ter[l-1]-Ter[l]);
until (Ter[l-1]-Ter[l])<=e;

end;

BEGIN
ClrScr;
Zast;
ClrScr;
writeln ('Введіть кількість проектів портфеля');
write ('N=');
read(N);
for i:=1 to N do statuspr[i]:=1;
writeln;
writeln ('Введіть тривалість життєвого циклу проекту');
for i:=1 to N do
begin
write ('T[',i,']=');
read(T[i])
end;
writeln;
writeln ('Введіть тривалість періоду впровадження проекту');
for i:=1 to N do
begin
write ('Період впровадження для проекту (',i,')=');
read (TInv[i])
end;
writeln;
writeln ('Введіть обсяг необхідних інвестиційних ресурсів для проекту: ');
for i:=1 to N do
begin
for time:=1 to TInv[i] do
begin
write ('CI[',i,',',time,']=');
read (CIp[i,time])
end;
end;
writeln;
writeln ('Введіть величини очікуваних грошових потоків’ );
writeln (‘від експлуатації проектів:');
for i:=1 to N do
begin
writeln (‘Для проекту ',i );
for time:=1 to TInv[i] do
begin
CF[i,time]:=-CIp[i,time];
writeln ('CF[',i,',',time,']=',CF[i,time]:8:2);
end;
for time:=TInv[i]+1 to T[i] do
begin
write ('CF[',i,',',time,']=');
read(CF[i,time])
end;
end;
writeln;
writeln ('Введіть величини ставок дисконтування: ');
for i:=1 to N do
begin
write ('r[',i,']=');
read(rown[i])
end;
writeln;
for i:=1 to N do
begin
CI[i]:=0;
for time:=1 to TInv[i] do
begin
disk:=exp((time-1)*ln(1+rown[i]));
CI[i]:=CI[i]+CIp[i,time]*disk;
end;
end;

writeln;
for i:=1 to N do NPV[i]:=-CI[i]; {NPV}
for i:=1 to N do
begin
for time:=TInv[i]+1 to T[i] do
begin
disk:=exp((time-1)*ln(1+rown[i]));
NPV[i]:=NPV[i]+CF[i,time]/disk
end;
writeln ('NPV[',i,']= ',NPV[i]:8:2)
end;

writeln;
for i:=1 to N do NPVch[i]:=0;
for i:=1 to N do
begin
r:=0;
while NPVch[i]>=0 do
begin
NPVzap[i]:=NPVch[i];
NPVch[i]:=0;
for time:=1 to T[i] do
begin
disk:=exp((time-1)*ln(1+r));
NPVch[i]:=NPVch[i]+CF[i,time]/disk;
end;
r:=r+0.005;
end;
writeln;
IRR[i]:=((r-0.01)+NPVzap[i]*(0.005/(NPVzap[i]-NPVch[i])))*100;
writeln ('IRR[',i,']= ',IRR[i]:8:2)
end;
writeln;
for i:=1 to N do
begin
PI[i]:=NPV[i]/(CI[i])+1;
writeln ('PI[',i,']= ',PI[i]:5:2)
end;
writeln;
for i:=1 to N do
begin
PS[i]:=-CI[i];
P:=TInv[i]+1;
ch:=0;
if NPV[i]<0 then
writeln ('Доходи, генеровані проектом ',i,' не окуповують’);
writeln (‘ капітальних інвестицій');
else
begin
while PS[i]<0 do
if -PS[i]>CF[i,p] then
begin
PS[i]:=PS[i]+CF[i,P];
P:=P+1
end
else
begin
ch:=-PS[i]/CF[i,p];
PS[i]:=PS[i]+CF[i,P];
end;
end;
PP[i]:=P-TInv[i]-1+ch;
if PP[i]>0 then writeln ('PP[',i,']= ',PP[i]:5:2);
end;
read(cs);
ClrScr;
writeln('Результати аналізу ефективності проектів');
Nnefc:=0;
Nef:=0;
for i:=1 to N do
if NPV[i]>0 then
begin
if PI[i]>1 then
begin
Nef:=Nef+1;
Nnefc:=Nnefc+CI[i];
writeln('проект ',i,' є рекомендованим до впровадження')
end;
end
else
begin
writeln ('проект ',i,' не є рекомендованим до впровадження');
statuspr[i]:=0;
end;
writeln;
writeln ('Необхідна величина інвестиційних ресурсів’);
writeln (‘ для впровадження портфеля становить ',Nnefc:10:2);
writeln;
writeln ('Якщо деякі розраховані показники ефективності не відповідають’); writeln ('вимогам інвестора і Ви бажаєте виключити їх із подальшого аналізу,');
write (‘то введіть значення 1, у іншову випадку введіть 0');
readln (cs);
while cs=1 do
begin
writeln ('Введіть порядковий номер проекту, який Ви бажаєте виключити‘);
write (‘ із розгляду ');
readln (q);
statuspr[q]:=0;
Nef:=Nef-1;
Nnefc:=Nnefc-+CI[q];
write ('Чи бажаєте виключити ще якийсь проект? (1 - так, 0 - ні) ');
readln(cs);
end;
writeln;
writeln ('Необхідна величина інвестиційних ресурсів’);
writeln (‘ для впровадження портфеля становить ',Nnefc:10:2);
writeln('У інвестиційний портфель підприємства включено ', Nef,' проектів');
writeln ('Перелік порядкових номерів проектів, включених у портфель :');
writeln;
for i:=1 to N do
if statuspr[i]=1 then writeln('Project number ', i);
writeln;
writeln ('Якщо Ви бажаєте здійснити часову оптимізацію‘);
writeln (‘процесу впровадження портфеля проектів підприємства, введіть 1');
readln (cs);
if cs=1 then timeoptimization;
if cs=2 then synsol;
END.


05.02.2011 13:52
Профиль Отправить email
Продвинутый
Аватара пользователя

Регистрация: 06.05.2011
Сообщения: 32
Откуда: Днепропетровская область
Языки:

Репутация: 1 [ ? ]
Сообщение Re: Что это
а как понять от куда? но по синтаксису похоже паскаль


07.05.2011 10:17
Профиль Отправить email ICQ
Магистр
Аватара пользователя

Регистрация: 15.02.2009
Сообщения: 345
Откуда: Киев
Языки:
Специальность:

Репутация: 14 [ ? ]
Сообщение Re: Что это
Ну с программы можно увидеть

1)
initgraph(Gd, Gm,'d:\borland\tp6');

2)
outtextxy(145,65,'Міністерство освіти України');
outtextxy(145,85,Львівський національний університет імені Івана Франка');
outtextxy(145,115,' кафедра');
outtextxy(145,135,' економічної кібернетики');

_________________
Создание, продвижение сайтов: . ICQ 209937


08.05.2011 17:33
Профиль ICQ WWW
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot], rowgriege


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»