Компьютеризация деятельности на предприятии

Автор работы: Пользователь скрыл имя, 30 Марта 2014 в 22:04, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 6
1 КОМПЬЮТЕРИЗАЦИЯ ДЕЯТЕЛЬНОСТИ НА ПРЕДПРИЯТИИ 8
1.1 Информационное обеспечение управления предприятием на современном этапе 8
1.2 Содержание и требования, предъявляемые к информации 9
2 СРЕДА DELPHI 6.0 КАК СРЕДСТВО ДЛЯ РАЗРАБОТКИ ПО 11
2.1 Визуальное программирование 11
2.2 Интегрированная среда разработки 12
2.3 Библиотека визуальных компонент 15
2.4 Формы, модули и методы разработки "Two-Way Tools" 19
2.5 Средства программирования на Pascal 20
2.5.1 Краткие сведения о структуре программы 20
2.5.2 Система типов 24 2.5.3 Стандартные процедуры и функции 28
2.5.4 Стандартные функции 31
3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ 33
3.1 Оценка затрат на разработку ПО 33
3.2 Расчёт технических показателей и эффективности проекта 41
3.3 Безопасность жизнедеятельности 42
3.3.1 Характеристика санитарно-гигиенических условий труда 42
3.3.2 Основные требования к искусственному освещению в производственном помещении 46
3.4 Инженерно-технические мероприятия по созданию благоприятных условий труда 46
ЗАКЛЮЧЕНИЕ 52
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 53
ПРИЛОЖЕНИЯ 55

Вложенные файлы: 1 файл

Дипломный проект.doc

— 683.50 Кб (Скачать файл)

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

Ячейка. Этот несколько устаревший, но весьма удобный термин обозначает фрагмент памяти, который можно представить как некий контейнер для хранения данных определённой структуры. Ячейка всегда имеет свое уникальное имя, которое служит адресом, по которому расположены находящиеся в ней данные. Примером ячейки могут служить любые разрешенные имена, например a1, Imk12, Count и т. д. Термин "ячейка" не является языковым термином Object Pascal и используется здесь только для большей наглядности при описании основ языка.

Значение – это постоянная величина или структурный комплекс постоянных величин, выраженных в явном виде. Значение не имеет имени.

Примеры значений:

-55.455051 { обыкновенное вещественное  число},

'Расчет посадки с натягом' {строка  символов}.

Константа – это ячейка, в которой всегда хранится одно значение. Константы не могут быть изменены в ходе выполнения программы. В этом смысле константа отвечает общепринятому определению постоянной (неизменяемой) величины. Всякая константа должна быть описана, т. е. должно быть явно указано ее значение. Значение константы неявно определяет её тип.

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

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

Тип – это структура и описание множества значений, которые могут быть присвоены переменной.

Оператор присваивания – это команда, предназначенная для изменения содержимого ячейки. С его помощью происходит изменение значения переменной (или типизованной константы).

Синтаксис оператора присваивания:

x := y; { читается "x присвоить y" }

Здесь x – переменная, y – выражение. Выражением могут быть, в частности, переменная, константа или значение. Последовательность символов ":=" обозначает операцию присваивания, в соответствии с которой сначала вычисляется выражение y, затем получившийся результат в виде значения записывается в переменную x (см. подробнее гл. 9).

Примеры:

d := 5; { значение 5 записывается в переменную D },

h := d + 12.5; { выч. 5+12.5, рез. 17.5 записывается  в переменную h }.

 

 

2.5.2 Система типов

 

В языке Object Pascal все переменные, т. е. ячейки памяти, предназначенные для записи, чтения и хранения значений, должны быть предварительно описаны. Это означает, что всякая переменная должна быть явно отнесена к какому-либо типу.

Тип – это одновременно структура и описание множества значений, которые могут быть присвоены такой переменной.

Язык Object Pascal имеет множество разнообразных типов. Более того, он позволяет самому пользователю конструировать самые разнообразные типы, которые могут быть ему необходимы. Конструирование таких типов производится из сравнительно ограниченного количества стандартных типов.

Типы имеют свою иерархию. На верхнем этаже иерархии расположены следующие типы: простые, составные, ссылочные и процедурные.

 

Стандартные простые типы

 

Основными типами языка являются стандартные простые типы и стандартные структурные типы.

Простые типы делятся на скалярные и ограниченные типы. Cкалярные типы делятся на стандартные и перечислимые. Стандартные скалярные типы делятся на пять видов:

целые [Integer],

вещественные [Real],

логический (булевский) [Boolean],

символьные [Char],

строковые [String].

К ним примыкает особый вариантный тип [Variant].

 

Целые типы

 

Эта группа типов охватывает множество целочисленных значений. Они отличаются друг от друга диапазоном допустимых значений и количеством занимаемой памяти.

Целыми типами являются ShortInt, SmallInt, LongInt, Int64, Byte, Word и LongWord. [2].

 

Таблица 2 - Характеристика типов Integer

Тип

Диапазон значений

Размер памяти

1.

2.

3.

4.

5.

6.

7.

ShortInt

SmallInt

LongInt

Int64

Byte

Word

LongWord

–128 .. 127

–32768 .. 32767

–2147483648 .. 2147483647

–2^63 .. 2^63–1

0…255

0…65535

0 .. 4294967295

1 байт

2 байта

4 байта

8 байтов

1 байт

2 байта

4 байта


Примечание – [2]

 

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

Так если значения переменной будут только положительными, то можно её отнести к одному из типов Byte, Word, LongWord. Если известно также, что её значения никогда не выйдут за 255 (например, если переменная предназначена для хранения номера месяца текущего года), то лучше использовать тип Byte. При этом память будет расходоваться наиболее экономно.

Не следует, однако, стремиться к излишней экономии памяти на переменных. Нередко экономно описанная переменная может привести к ситуации, когда программа попытается записать в неё такую константу, которая превышает допустимый диапазон значений. Это приведет к немедленному аварийному завершению программы с сообщением «Range check error» (выход за допустимые границы диапазона). Сообщения такого рода могут генерироваться самыми разными операциями и в самых разных местах программы. По этой причине поиск ошибки в программе, особенно если она многомодульна и сложна, может надолго затянуться.

Не следует также злоупотреблять многообъёмными типами, т.к. это может привести к излишнему перерасходу, а иногда и нехватке памяти, с одной стороны, и замедлению работы программы – с другой.

Примеры:

Var

A, A_Par: Integеr; 
T1, T2, T3: LongInt; 
CircleCounter: byte;

Значения целых типов изображаются в обычном десятичном или в шестнадцатеричном видах. Они отличаются тем, что при изображении шестнадцатеричных значений в его начале ставится символ $ и сами значения формируются из шестнадцатеричных цифр 0 .. 9, A … F.

Максимально допустимый диапазон значений определяется их типом.

Примеры:

0 9877             -56              $F1 ( то же, что 241)

Над целыми значениями можно выполнять четыре обыкновенных арифметических действия: сложение (+), вычитание (-), умножение (*), деление (/) и два дополнительных действия: деление нацело (div) и взятие остатка от деления (mod). При выполнении деления результатом будет вещественное значение, во всех остальных операциях – целое.

 

Вещественные типы

 

Эта группа типов охватывает вещественные значения.

Вещественные типы не могут быть использованы:

- в качестве индексов массивов;

- в операторах For и Case;

- в качестве базисного типа при определении множеств;

- при определении подтипов.

При описании вместо Real48 можно указывать Real.

Ниже приведен список типов и их характеристики [3] .

 

Таблица 3 - Название типов Real

Тип

Диапазон значений

Значащих цифр в мантиссе

Размер памяти

1.

2.

3.

4.

5.

6.

Real48

Single

Double

Extended

Comp

Currency

2.9 x 10^–39 ... 1.7 x 10^38

1.5 x 10^–45 ... 3.4 x 10^38

5.0 x 10^–324 ... 1.7 x 10^30

3.6 x 10^–4951 ... 1.1 x 10^4932

-2^63+1 ... 2^63 -1

-922337203685477.5808 ... 922337203685477.5807

11 – 12

7 – 8

15 – 16

19 – 20

19 – 20

19 – 20

6 байтов

4 байта

8 байтов

10 байтов

8 байтов

8 байтов


Примечание – [3]

 

 

Примеры:

Var

rA, rA_Par: Real; 
T: Integer;

Вещественные значения можно изобразить:

- в форме с фиксированной десятичной точкой;

- в форме с плавающей десятичной точкой.

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

12.455 
-988.45 
-8.0

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

<значение с фиксированной точкой > E <порядок>

Примеры:

-45.2E6 ( то же, что -45,2 106)  
5.245E-12 ( то же, что 5,24 10-12)

Порядок таких чисел должен быть всегда целым числом.

Логический (булевский) тип. Логические переменные имеют тип boolean. Такая переменная занимает один байт памяти и может иметь одно из двух возможных значений – True (истина) или False (ложь).

Примеры:

Var 
b : boolean; 
b1, Ti : boolean;

Символьный тип. Типы AnsiChar и WideChar описывают множество отдельных символов языка, включая буквы русского алфавита. AnsiChar описывает множество из 256 ASCII-кодов и занимает один байт памяти, WideChar описывает множество Unicode – универсальное множество кодов и занимает два байта памяти. Тип AnsiChar эквивалентен базовому типу Char прежних версий языка.

Примеры:

Var 
Ch, k : AnsiChar; 
Char_Massivr: array[1..100] of Char;

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

'h'      'X'       '#'      '$'       ''''

Строковые типы. Этот тип во многом схож с типом Array of Char, т. е. массивом символов. Отличие состоит в том, что переменная этого типа может иметь динамическое количество символов (от нуля до верхней границы), в то время как массив символов всегда статичен и имеет одинаковое количество символов.

Максимальная длина строковой переменной должна быть указана явно. Размер строки на единицу больше её объявленной длины, т. к. в её нулевом байте содержится фактическая длина строки. Длину в нулевом байте можно принудительно менять.

Особо следует выделить тип String. Если длина String-строки не объявлена, то при действии директивы компилятора {$H+} или без её указания такое объявление равносильно AnsiStrig. Если установлена директива {$H-}, то тип String равносилен типу ShortString.

Строковое значение изображают в виде последовательности символов, заключённой в апострофы. Пустую строку изображают как двойной апостроф.

Примеры значений строковых типов:

'Иванов И.И.'      '' 'Газета "ИЗВЕСТИЯ"'       'Строка символов'

Примеры описания переменных строковых типов:

Var 
s1, s2 : ShortString [12]; 
st1, st2 : AnsiString [580]; 
ChMassiv: array [1..15] of String;

Строковый тип PChar. Для связи с функциями Windows в язык Object Pascal введён новый тип строк – PChar-строки с завершающим нулём. В обычной и привычной для прежних версий языка String-строке нулевой байт отведён для хранения реального количества символов этой строки, а сами символы последовательно располагаются начиная с первого байта. В PChar-строке, наоборот, символы располагаются начиная с нулевого байта, а их последовательность заканчивается завершающим нулём.

Строки PChar можно объявлять как обычные символьные массивы. Например, строку длины 3000 плюс один байт, зарезервированный под завершающий нуль, можно определить следующим образом:

Var  
s: array[1 .. 3000] of Char;

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

 

 

2.5.3 Стандартные процедуры и функции

 

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

 

Строковые процедуры и функции

 

Function Length (St): LongInt;

Возвращает длину строки символов St, т. е. количество символов в ней (не путать с размером строки).

St:= '1234abc';

L:= Length(St); {L= 7}

Procedure Delete (St, Pos, Num);

Удаляет Num символов из строки St, начиная с позиции Pos, если Pos<Length (St).

St:= '1234abc'; 
Delete(St, 4, 2); { St= '123bc'} 
Delete(St, 3, 120); { St= '12'}

Procedure Insert (Obj, Target, Pos);

Вставляет строку Obj в строку Target, начиная с позиции Pos. Если Pos>Length (Target), то результат Target + Obj.

St1:= '***'; 
St2:= '1234abc'; 
Insert (St1, St2, 3) { St2= '12***34abc'}

Procedure Str (Value, St);

Преобразует значение Value числового типа в строку символов St. Value может сопровождаться форматом.

L:=19; 
Str (L, g); {g= '19'} 
R:= 2.123155; 
Str (R: 8:3, h); {h= ' 2.123' (длина 8, в дробной части 3}

Procedure Val (St, Vr, Code);

Преобразует строку символов St в числовую величину Vr целого или вещественного типа. Code = 0, если преобразование прошло успешно, иначе в Code будет записан номер первого ошибочного символа конвертируемой строки, при этом значение Vr не определено.

St:='319'; 
Val (St, k, Cod); {k= 319, Cod = 0} 
St:='81yy9'; 
Val (St, k, Cod); {k= ?, Cod = 3}

Информация о работе Компьютеризация деятельности на предприятии