Автор: Пользователь скрыл имя, 21 Ноября 2012 в 16:05, курсовая работа
Информатика – это научная и прикладная область знаний, изучающая законы, методы и способы накопления, обработки и передачи информации с помощью технических средств, свойства, структуру и функции информационных систем, а также происходящие в них информационные процессы. Под информационной системой понимают систему, организующую, хранящую и преобразующую информацию.
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;
Рассчитываем «Изменение УЖЦ»:
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]:=
L:=0; for i:=4 to 7 do
L:=L+A[i]; L:=L/4;
stringgrid1.cells[8,4]:=
H:=0; for i:=8 to 8 do
H:=H+A[i]; H:=H/1;
stringgrid1.cells[8,6]:=
J:=0; for i:=9 to 12 do
J:=J+A[i]; J:=J/4;
stringgrid1.cells[8,8]:=
T:=0; for i:=13 to 16 do
T:=T+A[i]; T:=T/4;
stringgrid1.cells[8,10]:=
R:=0; for i:=17 to 20 do
R:=R+A[i]; R:=R/4;
stringgrid1.cells[8,12]:=
Q:=0; for i:=21 to 24 do
Q:=Q+A[i]; Q:=Q/4;
stringgrid1.cells[8,14]:=
W:=0; for i:=1 to 24 do
W:=W+A[i]; W:=W/24;
stringgrid1.cells[8,16]:=
end;
В итоге получаем готовые результате на нашем Stringgrid и Panel:
Рис 19. ЦОФ Россия.
Для ЦОФ Украина все эти
Добавим на форму еще один компонент 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+
moveto(40,400-i*40);lineto(
textout(5,200-i*40,floattostr(
textout(5,200,'0'); textout(5,200+i*40,floattostr(
end; end; end; end;
Программный код с помощью которого мы получили интерисующий нас график:
Рис 22. ЦОФ Россия
Рис 23. ЦОФ Украина (график строится аналогично ЦОФ Россия)
Приведём данные полученные при расчётах в обеих средах:
Рис24(ЦОФ Россия) Excel Рис 25(ЦОФ Россия)Delphi
Рис26(ЦОФ Украина)Excel Рис27(
Приведем графики полученные в обеих средах:
Рис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.
Информация о работе Анализ уровней жизненных циклов ЦОФ Россия и ЦОФ Украина