Меню
Поиск



рефераты скачать Разработка инвестиционного проекта ОАО "Завод по производству труб большого диаметра"

Лучшим способом разделки проводов можно считать отделение изоляции от проволоки механическим способом. С помощью грануляторов специальной конструкции удовлетворительно решена проблема отделения термоплавкой и резиновой изоляции. Установка пригодна для переработки проволоки, изолированной термопластом и бумагой. Установка не пригодна для некоторых типов проводов, изолированных хлопчатобумажной тканью, для кабелей со свинцовой оболочкой и для всех сортов изоляции, которая прилипает к проводу так, что не отделяется от металла даже при очень тонкой грануляции. При переработки проводов, у которых разделение изоляции и меди осуществляется удовлетворительно и почти без потерь получается термопласт, последний может служить сырьем для изготовления менее ответственных деталей.

Если между проводами, изолированными термопластом, есть изоляция из ткани, ее можно удалить из смеси кусков меди и изоляции с помощью отсасывающего устройства. Эта установка закрыта и механизирована, требует минимального обслуживания и обеспечивает производительность - 500 тонн изолированной проволоки в год. При работе установки не загрязняется атмосфера, технология экономически более выгодна, чем обжиг изоляции в печах.

Переработку промышленных отходов производят на специальных полигонах, создаваемых в соответствии с требованиями СНиП 2.01.28-85 и предназначенных для централизованного сбора обезвреживания и захоронения токсичных отходов промышленных предприятий, НИИ и учреждений.

При всех существующих способах переработки компьютерного лома необходимы новые, более совершенные, экологически чистые методы.

Таким образом, параметры экологической оценки компьютера как объекта загрязнения окружающей среды в рассматриваемом помещение соответствуют оптимальным нормам /25/.



Выводы


1    В дипломной работе разработана новая модель оценки уровня риска инвестиционного проекта, сочетающая в себе достоинства уже применяемых в практике моделей.

2    Для однозначной характеристики уровня риска проекта было предложено использование нечетко-множественной модели принятия решения.

3    Новая модель использует свертку трех критериев оценки уровня риска проекта: вероятность попадания в зону неэффективности, критерий ликвидности и критерий покрытия, при помощи которых наиболее полно можно охарактеризовать неопределенность существующей информационной среды.

4    Разработана технология использования нечеткого вывода для принятия решения по оценке уровня риска инвестиционного проекта.

5    Разработано программно-алгоритмическое обеспечение  расчета значений используемых в модели критериев и объединения их в один общий показатель, характеризующий уровень риска проекта.

6    Преимущества разработанной модели были показаны при оценке уровня риска  инвестиционного проекта строительства завода труб большого диаметра в Нижнем Тагиле.

7    В разделе безопасность жизнедеятельности учтено влияние опасных и вредных факторов и проведен расчет защитного зануления.


Список использованных источников


1    Савчук В.П. Оценка инвестиционных проектов. – На сайте:

2    Каблуков В.В. Модели оценки рисков стратегических инвестиционных проектов: Дис…кандидата экономических наук. – Санкт-Петербург, 1999. – 167 с.

3    #"_Toc64360542"> Приложение Б. Текст программы

unit datamodul;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, StdCtrls, ExtCtrls, ComCtrls, Spin, Menus;

type

  TForm1 = class(TForm)

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    Panel1: TPanel;

    Label1: TLabel;

    Label2: TLabel;

    SpinEdit1: TSpinEdit;

    Label3: TLabel;

    Edit1: TEdit;

    StringGrid1: TStringGrid;

    Label4: TLabel;

    StringGrid2: TStringGrid;

    Label5: TLabel;

    StringGrid3: TStringGrid;

    CheckBox1: TCheckBox;

    StringGrid4: TStringGrid;

    Label6: TLabel;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    SaveDialog1: TSaveDialog;

    OpenDialog1: TOpenDialog;

    Label7: TLabel;

    Edit2: TEdit;

    N5: TMenuItem;

    N9: TMenuItem;

    GroupBox1: TGroupBox;

    Label8: TLabel;

    Edit3: TEdit;

    Label9: TLabel;

    Edit4: TEdit;

    Button1: TButton;

    procedure FormCreate(Sender: TObject);

    procedure SpinEdit1Change(Sender: TObject);

    procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);

    procedure StringGrid2KeyPress(Sender: TObject; var Key: Char);

    procedure StringGrid3KeyPress(Sender: TObject; var Key: Char);

    procedure StringGrid4KeyPress(Sender: TObject; var Key: Char);

    procedure CheckBox1Click(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure Edit2KeyPress(Sender: TObject; var Key: Char);

    procedure N5Click(Sender: TObject);

    procedure N9Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

  i,j,n,nRt : integer; {циклич.пер-е, кол-во ПУП,кол-во ПУП для рассчета Rt}

  Ir,G : real;  {соб.кап вложения для Rt, критерий эффективности}

  Ip : array[1..3] of real; {макс. и мин-е значение первонач.кап.вложений}

  RSvar,Rdvar,Vt : array[1..20] of real;{реальное значение Si и di для подсчета Rt, кр.риска}

  dvar : array[1..3,1..20] of real; {безриск.%ставка 1-я строка - мин, 2 - макс.}

  Svar,NPVvar,Rt : array[1..3,1..20] of real; {интервалы ден.потоков 1 строка - мин,2 - сред.зн.,3 - макс,NPV-массив,кр.ликвидности}

  At,Zt,Ct : array[1..2,1..20] of real; {соб,заем средства, кр.покрытия 1- мин, 2- макс}

  mCt,mVt,mRt : array[1..4,1..20] of real; {массивы функций принадлежностей к риску}

  kCt,kVt,kRt,kre : array[1..3] of real; {массивы верхних границ весов для оценки риска, 1- минимальный, 4 - недопустимый}

implementation


uses Rtmodul, Rezaltmodul, Formirmodul, mmodul, Rulermodul;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

   n:=SpinEdit1.Value;

   StringGrid1.ColCount:=n;

   StringGrid2.ColCount:=n;

   StringGrid3.ColCount:=n;

   StringGrid4.ColCount:=n;

   Checkbox1.Checked:=false;

   kCt[1]:=0.25;kCt[2]:=0.5;kCt[3]:=0.75;

   kRt[1]:=0.25;kRt[2]:=0.5;kRt[3]:=0.75;

   kVt[1]:=0.05;kVt[2]:=0.1;kVt[3]:=0.2;

   kre[1]:=0.25;kre[2]:=0.5;kre[3]:=0.75;

   for j:=0 to n-1 do begin

       StringGrid1.Cells[j,0]:=IntToStr(j+1);

       StringGrid2.Cells[j,0]:=IntToStr(j+1);

       StringGrid3.Cells[j,0]:=IntToStr(j+1);

       StringGrid4.Cells[j,0]:=IntToStr(j+1);

       RSvar[j+1]:=0;Rdvar[j+1]:=0;

   end;

   Rtkey:=false; Ir:=0;nRt:=0;

end;


procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

  n:=SpinEdit1.Value; CheckBox1.Checked:=false;

  Form4.StringGrid1.ColCount:=n+1;  Form4.StringGrid2.ColCount:=n+1;  Form2.SpinEdit1.Value:=n;

  Form3.StringGrid1.RowCount:=n+1;  Form3.StringGrid2.RowCount:=n+1;

  StringGrid1.ColCount:=n; StringGrid2.ColCount:=n; StringGrid3.ColCount:=n; StringGrid4.ColCount:=n;

    for j:=0 to n-1 do begin

       StringGrid1.Cells[j,0]:=IntToStr(j+1); StringGrid2.Cells[j,0]:=IntToStr(j+1); StringGrid3.Cells[j,0]:=IntToStr(j+1);

       StringGrid4.Cells[j,0]:=IntToStr(j+1);

       Form3.StringGrid1.Cells[0,j+1]:=IntToStr(j+1);Form3.StringGrid2.Cells[0,j+1]:=IntToStr(j+1);

       Form4.StringGrid1.Cells[j+1,0]:=IntToStr(j+1); Form4.StringGrid2.Cells[j+1,0]:=IntToStr(j+1);

   end;

end;


procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);

begin

Case key of

      chr(45),chr(48),chr(49),chr(50),chr(51),chr(52),chr(53),chr(54), chr(55),chr(56),chr(57),chr(59),chr(44),chr(8):;

else key:=chr(0); end;

end;


procedure TForm1.StringGrid2KeyPress(Sender: TObject; var Key: Char);

begin

  Case key of

      chr(45),chr(48),chr(49),chr(50),chr(51),chr(52),chr(53),chr(54), chr(55),chr(56),chr(57),chr(59),chr(44),chr(8):;

   else key:=chr(0);   end;

end;


procedure TForm1.StringGrid3KeyPress(Sender: TObject; var Key: Char);

begin

   Case key of

      chr(48),chr(49),chr(50),chr(51),chr(52),chr(53),chr(54), chr(55),chr(56),chr(57),chr(59),chr(44),chr(8):;

   else key:=chr(0);end;

end;

procedure TForm1.StringGrid4KeyPress(Sender: TObject; var Key: Char);

begin

  Case key of

      chr(45),chr(48),chr(49),chr(50),chr(51),chr(52),chr(53),chr(54), chr(55),chr(56),chr(57),chr(59),chr(44),chr(8):;

   else key:=chr(0);end;

end;


procedure TForm1.CheckBox1Click(Sender: TObject);

begin

    case CheckBox1.State of

       cbChecked:   begin

                                     StringGrid4.ColCount:=1; Stringgrid4.RowCount:=1; StringGrid4.FixedCols:=0; StringGrid4.FixedRows:=0;

                            end;

       cbUnchecked: begin

                       StringGrid4.ColCount:=n; Stringgrid4.RowCount:=2; StringGrid4.FixedCols:=0; StringGrid4.FixedRows:=1;

                       For j:=1 to n do begin  StringGrid4.Cells[j-1,0]:=IntToStr(j); end;

                               end;

   end;

end;


procedure TForm1.N8Click(Sender: TObject);

var

 str,str2,str3 : string;

 k,ii,iv,re : integer;

 Cto,Rto : array[1..20] of real; // массивы обобщенных значений Ct и Rt

 smax,smin,sav,min,A1,A2,B1,B2,C1,C2,K1,K2,vr,vrz,vrch,mvr1,mvr2,mvr3,mvr4 : real;

begin

//-------------------------------ввод критерия эффективности

      try G:=StrToFloat(Edit2.Text);

      Except G:=0;Edit2.Text:=IntToStr(0); end;

//-------------------------------ввод первонач. ден кап

      str:=Edit1.Text;

      if pos(';',str)<>0 then begin str2:=''; k:=1;

                              for i:=1 to Length(str) do begin

                                           if (str[i]<>';') then str2:=str2+str[i]

                                                            else begin

                                                                Ip[k]:=StrToFloat(str2);

                                                                str2:='';

                                                                k:=k+1;

                                                            end;

                                           if i=Length(str) then Ip[k]:=StrToFloat(str2);

                              end;

      end else begin

                 try

                    Ip[1]:=StrToFloat(str); Ip[2]:=StrToFloat(str); Ip[3]:=StrToFloat(str);

                 except

                    showmessage('Ошибка при вводе значения первоначальных капиталовложений!'); FocusControl(Edit1);

                 end;

               end;

//------------------------------ввод массива денежных потоков:

      for j:=0 to n-1 do begin

         str:=StringGrid1.Cells[j,1];

         if pos(';',str)<>0 then begin str2:='';k:=1;

                                       for i:=1 to Length(str)do begin

                                           if (str[i]<>';') then str2:=str2+str[i]

                                                            else begin

                                                                Svar[k,j+1]:=StrToFloat(str2);

                                                                k:=k+1;str2:='';

                                                            end;

                                           if i=Length(str) then Svar[k,j+1]:=StrToFloat(str2);

                                       end;

         end else try

                    Svar[1,j+1]:=StrToFloat(str); Svar[2,j+1]:=StrToFloat(str); Svar[3,j+1]:=StrToFloat(str);

                  except

                    showmessage('Ошибка при вводе значений интервалов денежных потоков!'); FocusControl(Stringgrid1);

                  end;

      end;

//----------------------------ввод массива соб.и заем. средств

      for j:=0 to n-1 do begin

         str:=StringGrid2.Cells[j,1];

         str3:=StringGrid3.Cells[j,1];

         if pos(';',str)<>0 then begin str2:='';k:=1;

                                       for i:=1 to Length(str)do begin

                                           if (str[i]<>';') then str2:=str2+str[i]

                                                            else begin

                                                                At[k,j+1]:=StrToFloat(str2);

                                                                k:=k+1;str2:='';

                                                            end;

                                           if i=Length(str) then At[k,j+1]:=StrToFloat(str2);

                                       end;

         end else try

                    At[1,j+1]:=StrToFloat(str);

                    At[2,j+1]:=StrToFloat(str);

                  except

                    showmessage('Ошибка при вводе значений собственных средств!');

                    FocusControl(StringGrid2);

                  end;

         if pos(';',str3)<>0 then begin str2:='';k:=1;

                                       for i:=1 to Length(str3)do begin

                                           if (str3[i]<>';') then str2:=str2+str3[i]

                                                            else begin

                                                                Zt[k,j+1]:=StrToFloat(str2);

                                                                k:=k+1;str2:='';

                                                            end;

                                           if i=Length(str3) then Zt[k,j+1]:=StrToFloat(str2);

                                       end;

         end else try

                    Zt[1,j+1]:=StrToFloat(str3);

                    Zt[2,j+1]:=StrToFloat(str3);

                  except

                    showmessage('Ошибка при вводе значений заемных средств!');

                    FocusControl(StringGrid3);

                  end;

      end;

//------------------------Ввод массива безриск.% ставки

      case CheckBox1.State of

       cbChecked:   begin

                    str:=StringGrid4.Cells[0,0];

                    if pos(';',str)<>0 then begin str2:='';k:=1;

                                            for i:=1 to Length(str)do begin

                                               if (str[i]<>';') then str2:=str2+str[i]

                                                                else begin

                                                                  dvar[k,1]:=StrToFloat(str2);

                                                                  k:=k+1;str2:='';

                                                                end;

                                               if i=Length(str) then dvar[k,1]:=StrToFloat(str2);

                                            end;

                    end else begin try

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16




Новости
Мои настройки


   рефераты скачать  Наверх  рефераты скачать  

© 2009 Все права защищены.