Анализ уровней жизненных циклов ЦОФ Россия и ЦОФ Украина

МИНИСТЕРСТВО ОБРАЗОВАНИЯ  И НАУКИ УКРАИНЫ

Донецкий Национальный Технический Университет

 

 

 

 

 

 

 

 

 

 

 

Курсовая работа

По дисциплине «Информатика и компьютерная техника»

ТЕМА РАБОТЫ: «Анализ уровней жизненных циклов ЦОФ Россия и ЦОФ Украина»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнил         

 

 

 

Проверил        

 

 

 

 

 

 

 

 

ОГЛАВЛЕНИЕ

 

РЕФЕРАТ

Курсовая работа: стр31., рис30., табл1., литературных источников:5.

 

 

Объект исследования: Анализ уровней жизненных циклов ЦОФ Россия и ЦОФ Украина с помощью Microsoft Excel и Borland Delphi.

 

Цель работы: углубление теоретических знаний и ознакомление с расчетом уровней жизненных циклов предприятий.

 

Сделаны выводы: в ходе работы были сделаны расчёты значения уровня жизненного цикла предприятий, средние показателей прибыли за год и за весь период, определено, происходит ли увеличение или уменьшение уровня жизненного цикла, найдены месяцы в которые прибыль из года в год велика, построены графические изображения изменения уровней жизненных циклов предприятий.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EXCEL, DELPHI, УЖЦ, ХАРАКТЕРИСТИКА, ЗАВИСИМОСТЬ, ДИАГРАММА, ПРИБЫЛЬ

 

ВВЕДЕНИЕ

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

В данной курсовой работе используются две программы для расчета и обработки данных: Microsoft Excel и Borland Delphi.

Microsoft Excel (также иногда называется Microsoft Office Excel) - программа для работы с электронными таблицами, созданная корпорацией Microsoft для Microsoft Windows, Windows NT и Mac OS. Она предоставляет возможности экономико-статистических расчетов, графические инструменты и язык макропрограммирования VBA (Visual Basic). Microsoft Excel входит в состав Microsoft Office и на сегодняшний день Excel является одним из наиболее популярных приложений в мире. Excel позволяет выполнять сложные расчеты, в которых могут использоваться данные, расположенные в разных областях электронной таблицы и связанные между собой определённой зависимостью. Для выполнения таких расчетов в Excel существует возможность вводить различные формулы в ячейки таблицы. Excel выполняет вычисления и отображает результатов в ячейке с формулой. Доступный диапазон формул – от простого сложения и вычитания до финансовых и статистических вычислений. Важной особенностью использования электронной таблицы Excel является автоматический пересчет результатов при изменении значений ячеек. Excel также может строить и обновлять графики, основанные на введенных числах.

Borland Delphi – одна из наиболее успешных сред быстрой разработки приложений. В данной курсовой Delphi используется для создания таблиц и расчётов, открытия текстовых файлов для ввода начальных данных, построения графиков зависимостей данных, сохранения полученых результатов.

 

1. ПОСТАНОВКА ЗАДАЧИ

1.1 Исходные данные

Таблица 1. Данные полученные при изучении отчётов о работе предприятий ЦОФ Россия и ЦОФ Украина

ЦОФ Россия

ЦОФ Украина

Прибыль

Фонды основные

Фонды оборотные

Дата

Прибыль

Фонды основные

Фонды оборотные

Дата

-19

5767

3198

1.1.97

-949

3486

3292

01.01.1998

235

5616

5555

1.4.97

-562

3737

2902

01.01.1999

-77

5680

4422

1.7.97

-61

3800

1987

01.01.2000

556

5784

4679

1.1.98

-112

3712

2034

01.04.2000

135

5784

4679

1.4.98

-387

3651

1998

01.07.2000

437

5784

4679

1.7.98

-407

3596

1950

01.10.2000

35

5784

4679

1.10.98

-583

3688

1892

01.01.2001

327

5334

5322

1.1.99

12

3641

2118

01.04.2001

1421

5160

5203

1.1.00

-73

3560

2275

01.07.2001

-141

5127

5250

1.4.00

79

3489

2796

01.10.2001

87

5087

5791

1.7.00

180

3487

2745

01.01.2002

-100

4990

6018

1.10.00

196

3431

3121

01.04.2002

503

5313

6241

1.1.01

233

3396

3157

01.07.2002

87

5169

6253

1.4.01

226

3403

2529

01.10.2002

-1696

5171

4269

1.7.01

454

3391

2858

01.01.2003

533

5287

4632

1.10.01

120

3517

3248

01.04.2003

-216

5125

4768

1.1.02

460

3601

3341

01.07.2003

2254

5056

5502

1.4.02

-198

4911

5664

1.7.02

-193

4773

5762

1.10.02

-518

4657

6138

1.1.03

255

4755

6514

1.4.03

-159

5070

6636

1.7.03

-1921

5987

3976

1.10.03


 

1.2 Задания, выполняемые в среде программирования Delphi

Разработать программу, содержащую меню, реализующее следующие  возможности:

- ввод и редактирование  данных.

- определение УЖЦ для каждого квартала каждого предприятия.

- Построение графиков, отложив по оси Х – порядковые номера этапов.

- Определение средних  показателей за год и за  веси период

- Для каждого этапа  определить происходит ли увеличение  или уменьшение УЖЦ.

- Найти месяцы, в которые  из года в год прибыль велика  и если да, то напечатать их.

1.3 Задания, выполняемые в среде программирования Excel

Созданные таблицы перенести  в Excel и выполнить следующие операции:

- Произвести расчёты  по заданным описаниям выше.

- Построить графики,  отражающие приведённую информацию.

- Сравнить полученные  результаты с результатами Delghi.

 

 

 

2. РЕАЛИЗАЦИЯ ПОСТАВЛЕНОЙ ЗАДАЧИ СРЕДСТВАМИ МS EXCEL

2.1 Расчёт основных характеристик

Дана таблица, в которой представлены данные о предприятиях ЦОФ Россия и ЦОФ Украина. Заносим данные в таблицу Excel.

Рис 1. ЦОФ Россия. Рис 2. ЦОФ Украина

 

 

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

Значение уровня жизненного цикла определим отношением прибыли к сумме основных и производственных фондов. Определим средние показатели прибыли с помощью функции среднее значение (СРЗНАЧ).

Рассчитаем эти характеристики в среде Excel.

 

Рис 3. ЦОФ Россия Рис 4. ЦОФ Украина

 

 

 

 

 

 

Для каждого этапа определим, происходит ли увеличение или уменьшение УЖЦ. С  помощью оператора «ЕСЛИ». Введем дополнительный столбец с комментариями: если УЖЦ растёт, то «период роста», если уменьшается, то «период спада», если отличия от предыдущего этапа не превышают 7% - то «период устойчивости».

Чтобы рассчитать все  эти параметры, составляем формулу:

=ЕСЛИ(G4>G3;ЕСЛИ(И((ABS(G3/G4*100))>93;(ABS(G3/G4*100))<107);"период устойчивости";"период роста");ЕСЛИ(И((ABS(G3/G4*100))>93;(ABS(G3/G4*100))<107);"период устойчивости";"период спада"))

Потом тянем эту формулу  вниз, тем самым применяем её к  остальным параметрам и получаем результат:

Рис 5. ЦОФ Россия Рис 6. ЦОФ Украина

 

 

 

Найдём месяцы, в которые из года в год прибыль велика и если да, то напечатаем их.

Сначала выделим номер  месяца из даты с помощью функции  «месяц», вводим формулу =МЕСЯЦ(E3), (в ячейке Е3 введена дата). Получаем:

Рис 7. ЦОФ Россия Рис 8. ЦОФ Украина

  

 

Теперь составляем формулу, по которой  узнаем: в каком месяце прибыль  велика, в каком мала и в каком  средняя. Для каждого месяца формулу  печатаем отдельно, так как сравниваются месяцы одного года. К примеру: =ЕСЛИ(И(B3>B4;B3>B5);"+";ЕСЛИ(И(B3<B4;B3<B5);"-";"*")).

«+» - означает, что прибыль  велика.

«-» - означает, что прибыль  мала.

«*» - означает что прибыль  средняя.

Рис 9. ЦОФ Россия Рис 10. ЦОФ Украина

  

 

Надпись «Не учитывается» означает, что в этом году представлен только один месяц и его несчем сравнивать.

 

Теперь с помощью меню Данные – фильтр – автофильтр делаем видимыми только «+», автоматически показываются только те месяцы в которых прибыль  велика. Копируем их на новый лист и  составляем выборку прибыльных месяцев.

Рис 11. ЦОФ Россия Рис 12. ЦОФ Украина

  

 

Теперь с помощью  функции «СЧЁТЕСЛИ» находим количество «+» у каждого месяца, и месяц  у которого их больше всего считается  самым прибыльным.

У ЦОФ Россия самый  прибыльный месяц – 4(Апрель)

У ЦОФ Украины самый прибыльный месяц – 7(Июль)

 

2.2 Построение  графика

Необходимо построить  график развития уровня жизненного цикла, отложив по оси Х – порядковые номера этапов.

Построим график, отложив  по оси Х – порядковые номера этапов, а по оси У значения уровня жизненного цикла предприятия.

Сначала выбираем форму  графика. Доступные формы перечислены  в списке «тип» на вкладке «стандартная». После задания формы графика  следует щелкнуть кнопку «далее».

Рис 13.

Затем выбираем диапазон исходных данных. Если диапазон был выбран заранее, то в области предварительного просмотра мы увидим приблизительный вид будущего графика. Если данные не образует единой группы, как в нашем случае, то информацию отрисовки отдельных рядов данных задаем на вкладке «ряд».

 

Рис 14.

 

 

Затем уточняем введенные нами данные:

Рис 15.

В итоге получаем готовый график уровня жизненного цикла:

Рис 16. ЦОФ Россия

 

Рис 17. ЦОФ Украина

Графики строились по частям, чтобы с меньшей погрешностью построить линию тренда.

 

3. РЕАЛИЗАЦИЯ ПОСТАВЛЕНЙ ЗАДАЧИ СРЕДСТВАМИ DELPHI

3.1 Описание программы

После запуска Delphi появляется окно, главное окно осуществляет основные функции управления проектом создаваемой программы и включает в себя главное меню, панели инструментов, палитру компонентов, окно инспектора объектов, окно формы редактора.

Не каждый компонент  виден в форме во время запуска  программы. Например, размещение на форме  компонента MainMenu приводит к появлению в разрабатываемом приложении меню. Размеры невидимого компонента в процессе разработки не изменяется.

В разделе описания переменных хх описана как строковая(тип string). Чтобы задать массив используется зарезервированное слово array, после которого следует указать в квадратных скобках тип индекса компонентов, затем после зарезервированного слова of, тип самих компонентов (f:array[1...30] of real;), real-вещественный тип, integer-целый. Функция StrToFloat преобразует строку в действительное число (т.е. преобразует переменную из строкового в числовую переменную типа). Если полученное значение является числовым, а значение свойства Caption является символьная строка, то производят преобразование числовой переменной вещественного типа в символьную, с помощью функции FloatToStr. После того, как все необходимые элементы разместим на форме, перейдем к формированию внешнего вида будущей формы. На данной форме расположены следующие компоненты.

MainMenu - главное меню программы. Компонент способен создавать сложные иерархические меню.

Stringgrid – таблица, которая содержит строки. Данные таблицы могут быть только для чтения или редактируемыми.

 

3.2 Расчёт основных характеристик

Для того чтобы произвести расчеты, там необходимо ввести в  таблицу Stringgrid начальные данные. Двойным щелчком открываем меню компонента MainMenu. Там создаем ячейку с названием «Считывание из файла». Двойным щелчком по кнопке, и мы переходим в раздел Unit 1, соответствующий данному разделу компонента MainMenu.

 

procedure TForm1.N1Click(Sender: TObject);

var i:integer; xx:string;

begin

showmessage('Выбор файла');

if opendialog1.execute then begin

assignfile (f, opendialog1.filename);

reset (f);

with stringgrid1 do begin

for i:=1 to 24 do begin

readln(f,xx); cells[0,i]:=xx;

D[i]:=strtofloat(xx); end;

for i:=1 to 24 do begin

readln(f,xx); cells[1,i]:=xx;

A[i]:=strtofloat(xx); end;

for i:=1 to 24 do begin

readln(f,xx); cells[2,i]:=xx;

B[i]:=strtofloat(xx); end;

for i:= 1 to 24 do begin

readln(f,xx); cells[3,i]:=xx;

C[i]:=strtofloat(xx); end;

for i:= 1 to 24 do begin

readln(f,xx);

mec[i]:=strtofloat(xx); end;

 

Это дало нам возможность  ввести наши исходные данные в таблицу  таким образом: Рис 18. ЦОФ Россия (Для ЦОФ Украина аналогично).

 

Каждому столбцу соответствует  своя переменная.

 

Далее в MainMenu создаём раздел «УЖЦ», «Изменение УЖЦ», «Прибыль», «Прибыльный месяц» и «Средняя прибыль» для расчета соответствующих величин. В них рассчитываем нужные нам характеристики по соответствующим формулам из задания:

 

Рассчитываем «УЖЦ»:

procedure TForm1.N2Click(Sender: TObject);

var i:integer; xx:string;

begin

for i:=1 to 24 do begin

G[i]:=A[i]/(B[i]+C[i]);

str(G[i]:1:5,xx);

stringgrid1.cells[5,i]:=xx;end;

end;

 

Рассчитываем «Изменение УЖЦ»:

procedure TForm1.N4Click(Sender: TObject);

var I:integer; xx:string;

begin

for i:= 1 to 24 do begin

if G[i+1]>G[i] then stringgrid1.cells[6,i+1]:='период роста';

if G[i+1]<G[i] then stringgrid1.cells[6,i+1]:='период спада';

end;

for i:= 1 to 24 do begin

if (abs((G[i]/G[i+1]))*100>93) and (abs((G[i]/G[i+1]))*100<107) then stringgrid1.cells[6,i+1]:='период устойчивости';

end; end;

 

Колонка «Прибыль»  нужна нам для расчёта количества прибыльных месяцев:

procedure TForm1.Ghbskm1Click(Sender: TObject);

var i:integer;

begin

if (A[1]>A[2]) and (A[1]>A[3]) then stringgrid1.cells[7,1]:='+';

if (A[2]>A[1]) and (A[2]>A[3]) then stringgrid1.cells[7,2]:='+';

if (A[3]>A[2]) and (A[3]>A[1]) then stringgrid1.cells[7,3]:='+';

 

if (A[4]>A[5]) and (A[4]>A[6]) and (A[4]>A[7]) then stringgrid1.cells[7,4]:='+';

if (A[5]>A[4]) and (A[5]>A[6]) and (A[5]>A[7]) then stringgrid1.cells[7,5]:='+';

if (A[6]>A[5]) and (A[6]>A[4]) and (A[6]>A[7]) then stringgrid1.cells[7,6]:='+';

if (A[7]>A[5]) and (A[7]>A[6]) and (A[7]>A[4]) then stringgrid1.cells[7,7]:='+';

 

if (A[9]>A[10]) and (A[9]>A[11]) and (A[9]>A[12]) then stringgrid1.cells[7,9]:='+';

if (A[10]>A[9]) and (A[10]>A[11]) and (A[10]>A[12]) then stringgrid1.cells[7,10]:='+';

if (A[11]>A[10]) and (A[11]>A[12]) and (A[11]>A[9]) then stringgrid1.cells[7,11]:='+';

if (A[12]>A[10]) and (A[12]>A[11]) and (A[12]>A[9]) then stringgrid1.cells[7,12]:='+';

 

if (A[13]>A[14]) and (A[13]>A[15]) and (A[13]>A[16]) then stringgrid1.cells[7,13]:='+';

if (A[14]>A[13]) and (A[14]>A[15]) and (A[14]>A[16]) then stringgrid1.cells[7,14]:='+';

if (A[15]>A[14]) and (A[15]>A[13]) and (A[15]>A[16]) then stringgrid1.cells[7,15]:='+';

if (A[16]>A[14]) and (A[16]>A[15]) and (A[16]>A[13]) then stringgrid1.cells[7,16]:='+';

 

if (A[17]>A[18]) and (A[17]>A[19]) and (A[17]>A[20]) then stringgrid1.cells[7,17]:='+';

if (A[18]>A[17]) and (A[18]>A[19]) and (A[18]>A[20]) then stringgrid1.cells[7,18]:='+';

if (A[19]>A[18]) and (A[19]>A[17]) and (A[19]>A[20]) then stringgrid1.cells[7,19]:='+';

if (A[20]>A[18]) and (A[20]>A[19]) and (A[20]>A[17]) then stringgrid1.cells[7,20]:='+';

 

if (A[21]>A[22]) and (A[21]>A[23]) and (A[21]>A[24]) then stringgrid1.cells[7,21]:='+';

if (A[22]>A[21]) and (A[22]>A[23]) and (A[22]>A[24]) then stringgrid1.cells[7,22]:='+';

if (A[23]>A[22]) and (A[23]>A[24]) and (A[23]>A[21]) then stringgrid1.cells[7,23]:='+';

if (A[24]>A[21]) and (A[24]>A[23]) and (A[24]>A[22]) then stringgrid1.cells[7,24]:='+';

end;

 

Теперь с  помощью столбика «Прибыль» найдём месяц в котором прибыль из года в год велика:

procedure TForm1.N5Click(Sender: TObject);

var i,k1,k2,k3,k4:integer; xx:string;

begin

k3:=0;   k4:=0;      k1:=0;   k2:=0;

for i:=1 to 24 do begin

if  (stringgrid1.cells[7,i]='+') and (mec[i]=4)

then begin k2:=k2+1;

end;      end;

for i:=1 to 24 do begin

if  (stringgrid1.cells[7,i]='+') and (mec[i]=1)

then begin k1:=k1+1;

end;    end;

for i:=1 to 24 do begin

if  (stringgrid1.cells[7,i]='+') and (mec[i]=7)

then begin k3:=k3+1;

end;    end;

for i:=1 to 24 do begin

if  (stringgrid1.cells[7,i]='+') and (mec[i]=10)

then begin k4:=k4+1; ;

end;    end;

if (k1>k2) and (k1>k3)and (k1>k4)then  panel1.caption:='Январь';

if (k2>k1) and (k2>k3)and (k2>k4)then  panel1.caption:='Апрель';

if (k3>k2) and (k3>k1)and (k3>k4)then  panel1.caption:='Июль';

if (k4>k2) and (k4>k3)and (k4>k1)then  panel1.caption:='Октябрь';

end;

В итоге название месяца появится на заранее созданном компоненте Panel1.

 

Теперь нажатием на кнопку «Средняя прибыль» рассчитаем среднюю прибыль за каждый год и за весь период:

 

procedure TForm1.N6Click(Sender: TObject);

var i:integer; xx:string; S,L,H,J,T,R,Q,W:real;

begin

 

S:=0; for i:=1 to 3 do

S:=S+A[i]; S:=S/3;

stringgrid1.cells[8,2]:=floattostr(S);

 

 

L:=0; for i:=4 to 7 do

L:=L+A[i]; L:=L/4;

stringgrid1.cells[8,4]:=floattostr(L);

 

H:=0; for i:=8 to 8 do

H:=H+A[i]; H:=H/1;

stringgrid1.cells[8,6]:=floattostr(H);

 

J:=0; for i:=9 to 12 do

J:=J+A[i]; J:=J/4;

stringgrid1.cells[8,8]:=floattostr(J);

 

T:=0; for i:=13 to 16 do

T:=T+A[i]; T:=T/4;

stringgrid1.cells[8,10]:=floattostr(T);

 

R:=0; for i:=17 to 20 do

R:=R+A[i]; R:=R/4;

stringgrid1.cells[8,12]:=floattostr(R);

 

Q:=0; for i:=21 to 24 do

Q:=Q+A[i]; Q:=Q/4;

stringgrid1.cells[8,14]:=floattostr(Q);

 

W:=0; for i:=1 to 24 do

W:=W+A[i]; W:=W/24;

stringgrid1.cells[8,16]:=floattostr(W);

end;

 

В итоге получаем готовые  результате на нашем Stringgrid и Panel:

Рис 19. ЦОФ Россия.

 

Для ЦОФ Украина все эти характеристики считаются аналогично. Рис 20.

 

3.3 Построение графика

Добавим на форму еще  один компонент Image:

Рис 21.

 

Сначала строим оси, потом сам график и сетку:

 

procedure TForm1.N3Click(Sender: TObject);

var i:integer;

begin

with image1.canvas  do begin

pen.color:=rgb(0,0,0);

pen.width:=2;

moveto(40,40); lineto(40,360);

font.color:=rgb(0,0,255);

font.size:=5;

textout(20,20,'УЖЦ');

moveto(40,200); lineto(360,200);

textout(360,210,'Номер');

moveto(40+10*1,195- trunc(G[1]*750));

begin

pen.color:=rgb(255,0,0);

for i:= 2 to 24 do begin

lineto(40+10*i,195- trunc(G[i]*750));

end;

for i:=1 to 9 do begin

pen.width:=1;  pen.Style:=psDOT;   pen.color:=rgb(0,0,255);

moveto(40+i*40,40);lineto(40+i*40,360);

moveto(40,400-i*40);lineto(360,400-i*40);  end; for i:=1 to 4 do begin

textout(5,200-i*40,floattostr(i*0.05));

textout(5,200,'0'); textout(5,200+i*40,floattostr(i*(-0.05)));

end; end; end; end;

 

Программный код с  помощью которого мы получили интерисующий нас график:

Рис 22. ЦОФ Россия

Рис 23. ЦОФ Украина (график строится аналогично ЦОФ Россия)

 

  1. Сравнение данных полученных в Excel и Delphi

 

Приведём данные полученные при расчётах в обеих средах:

 

Рис24(ЦОФ Россия) Excel  Рис 25(ЦОФ Россия)Delphi

 

Рис26(ЦОФ Украина)Excel Рис27(ЦОФ Украина)Delphi

 

 

Приведем графики полученные в обеих средах:

Рис28(ЦОФ Россия) Excel

 

Рис29(ЦОФ Россия)Delphi

 

Рис30(ЦОФ Украина) Excel

 

Рис31(ЦОФ Украина) Delphi

 

 

ВЫВОД

В ходе курсовой работы я рассчитывал уровни жизненных циклов предприятий, средние показатели прибыли, определял, происходит ли увеличение или уменьшение УЖЦ. Для решения поставленной задачи были использованы некоторые функции и возможности графического, математического и текстового операторов Microsoft Excel, а также различные функции и операторы Delphi. Таблицы  Microsoft Excel производят обработку статистических данных намного проще и удобнее, однако в целом расчеты в Delphi являются в большей степени точными.

Однако, производя сравнительную  характеристику полученных данных, можно  сделать вывод, что результаты расчетов абсолютно идентичны.

После проделанной работы можно сделать вывод, что предприятие  «ЦОФ Россия» рентабельнее предприятия «ЦОФ Украина».

 

 

Список используемой литературы

1. Фаронов В. В. «Delphi. Учебный курс» - М.: Нолидж, 1998, 400 с.

2. Методическое пособие  по курсу «Информатика и компьтерная  техника»; сост В.Н. Павлыш

3. Кандзюба С.П., Громов  В.Н., Delphi. Базы данных и приложения. Лекции и упражнения. – К.: издательство «ДиаСофт», 2001г.

4. Архангельский А.Я. Object Pascal и Delphi.

5. Вирт Н. «Алгоритмы  и структуры данных. Мир, 1989.




Анализ уровней жизненных циклов ЦОФ Россия и ЦОФ Украина