на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Оптимизация сетевого графика по времени
р (j) = max {tр (i) + t (ij)}, i<j, tр (0) = 0

где i, j - номера событий;

tр (i, j) - ранний срок наступления (i, j) события;

t (ij) - срок выполнения работы (i-j);

i<j - событие i предшествует j.

4. Поздние сроки наступления событий:

tп (i) = min {tп (j) - t (i,j)}, i<j

где i, j - номера событий;

tп (i, j) - поздний срок наступления (i, j) события;

t (ij) - срок выполнения работы (ij);

5. Полный резерв времени для каждой работы:

Rп (i,j) = tп (j) - tр (i) - t (i,j)

где i, j - номера событий;

tп (j) - поздний срок наступления события j;

tр (i) - ранний срок наступления события i;

t (ij) - срок выполнения работы (i-j).

6. События, лежащие на критическом пути. Такие события имеют равные ранние и поздние сроки наступления.

7. Критические работы. То есть работы, у которых начальное и конечное события критические.

8. Критический путь. Рассчитывается как сумма продолжительностей критических работ.

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

1.2. Описание логической структуры

Блок-схема системы приведена на листе формата А1.

Блок 1 -начало работы;

Блок 2 - выбор из пунктов меню;

Блок 3 - выбор пункта меню файл;

Блок 4 - выбор подпункта меню “Открыть файл”;

Блок 5 - загрузка файла;

Блок 6 - выбор подпункта меню «сохранить файл»;

Блок 7 - сохранение файла

Блок 8 - выбор подпункта меню «Выход»;

Блок 9 - запрос на окончание работы;

Блок 10 - завершение работы программы;

Блок 11 - выбор меню «действие»;

Блок 12 - выбор подпункта меню «Оптимизация»;

Блок 13 -происходит оптимизация;

Блок 14 - выбор подпункта меню «прибавить строку»;

Блок 15 -прибавление строки;

Блок 16 - выбор подпункта меню «удалить строку»

Блок 17 -удаление строки;

Блок 18 - выбор пункта подменю “Очистить все”;

Блок 19 - очистка содержимого таблицы;

Блок 20 - выбор пункта меню “Помощь”;

Блок 21 - выбор из пунктов подменю;

Блок 22 - выбор подпункта меню “О задаче”

Блок 23 - открытие новой формы и вывод её на экран;

Блок 24 - выбор подпункта меню “О разработчике”

Блок 25 - открытие новой формы и вывод её на экран;

Блок 26 - выбор пункта подменю “Help”

Блок 27 - открытие новой формы и вывод её на экран;

Листинг программы приведен в Приложении “А”

1.3. Описание и организация входных данных

1.3.1. Описание входной и выходной информации

Данная задача использует внутреннюю входную информацию в виде полей и переменных описание которых приведено ниже:

Название поля

Идентификатор

Тип

Начальное событие

I

Целый

Конечное событие

J

Целый

Объем работ

Объем работ

Целый

Число ресурсов

Число ресурсов

Целый

Производительность

Производительность

Целый

Общее число ресурсов

Общее число ресурсов

Целый

Начальное событие, Конечное событие, Объем работ, Число ресурсов и Производительность берутся из карточки задания, а Общее число ресурсов вычисляется автоматически как сумма по столбцу, Число ресурсов и выводятся в не редактируемое поле ввода.

Выходная информация также полностью отображается на главной форме в таблице и в не редактируемых полях ввода и содержит:

Наименование реквизита

Идентификатор

Тип

Необходимо ресурсов

Необход. ресурсов

вещественный

Продолжительность

Продолжительность

вещественный

События

События

целый

Резерв времени

Рез. времени

вещественный

Продолжительность критического пути

Продолжительность критического пути

вещественный

Всего необходимо ресурсов

Общее число ресурсов

вещественный

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

1.3.2. Организация ведения информационной базы

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

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

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

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

А также имеется постоянная информация - это помощь, которая в процессе работы программы никак не меняется.

1.4. Описание программных средств

1.4.1. Описание среды программирования

Для реализации проекта «Оптимизация сетевого графика» с использованием персонального компьютера была выбрана среда программирования Borland Delphi 5.0 кампании Borland.

Среда Delphi - это сложный механизм, обеспечивающий высокоэффективную работу программиста. В основе нее лежит язык Object Pascal, разработанный профессором Высшего технического училища (г. Цюрих, Швейцария) Никлаусом Виртом. Предложенный им алгоритмический язык он назвал именем великого французского ученого Блэза Паскаля (1623-1662). В качестве стандартного Pascal был утвержден в 1979 г. Первая версия Delphi была выпущена в начале 1995 года и явилась результатом разработки, которая велась компанией Borland в течение двух с половиной лет. Программный продукт был назван именем греческого города.

В первую очередь Delphi предназначена для профессионалов-разработчиков корпоративных информационных систем. Однако она предназначен не только для программистов-профессионалов, но и для всех тех, кто используют компьютер с чисто прикладной целью, и кому необходимо быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В Delphi удачно сочетаются средства визуального проектирования приложений и оптимизирующий компилятор. Delphi является единым полноценным средством промышленной разработки систем клиент/сервер. В состав среды входит обширная библиотека компонентов. С другой стороны, программист всегда сможет прибегнуть к низкоуровневым ассемблерным процедурам. Можно создавать приложения в визуальном режиме. Работая с Delphi, программист может с помощью нажатия одной клавиши создать выполняемый файл в формате EXE, однако, при необходимости, можно компилировать и файлы DLL, драйверов устройств, а также консольных приложений.

Синтаксис Delphi включает буквы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова.

Буквы - это буквы латинского алфавита от a до z и от A до Z, а также знак подчеркивания "_". В языке нет различия между заглавными и строчными буквами алфавита, если только они не входят в символьные и строковые выражения. Цифры - арабские цифры от 0 до 9. Каждая шестнадцатеричная цифра имеет значение от 0 до 15. Первые 10 значений обозначаются арабскими цифрами 0…9, остальные шесть - латинскими буквами A…F или a…f. Специальные символы Delphi - это символы + - * / > < = <> >= <= : ; ' () [] {} и др.

Особое место в алфавите языка занимают пробелы, к которым относятся любые символы в диапазоне кодов от 0 до 32. Эти символы рассматриваются как ограничители идентификаторов, констант, чисел, зарезервированных слов. Несколько следующих друг за другом пробелов считаются одним пробелом.

Тип данных определяет значения, которые может иметь переменная, и операции, выполняемые над этой переменной. Существует несколько предопределенных типов данных, которые можно разделить на 3 группы: перечисляемые, вещественные типы и строки. Три наиболее важных предопределенных перечисляемых типа - Integer (целочисленные), Boolean (логический) и Char (символьный). Полный список перечисляемых типов: Integer, Cardinal, ShortInt, SmallInt, LongInt, Byte, Word, Boolean, ByteBool, WordBool, LongBool, Char, ANSIChar, WideChar. Вещественные типы представляют собой разнообразные форматы чисел с плавающей запятой, меньше всего памяти требуется для хранения чисел типа Single, затем Real, Double и Extended, кроме них есть еще два необычных типа данных Comp - описывает очень длинные целые числа и Currency (доступен только в Delphi) - имеет 4 десятичных знака после запятой.

В Delphi определенны следующие операции: арифметические операции, логические операции, операции со строками, операции над множествами, операции отношения и операция @ (операция получения адреса). Логические операции применимы к операндам целого и логического типов, но не выделены в отдельную группу. Приоритетность операций достаточно проста. Основной упор объектно-ориентированной модели программных компонент в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать. Исключения представлены в виде объектов, содержащих специфическую информацию о соответствующей ошибке (тип и местонахождение ошибки). Разработчик может оставить обработку ошибки, существовавшую по умолчанию, или написать свой собственный обработчик. Обработка исключений реализована в виде exception-handling blocks (также еще называется protected blocks), которые устанавливаются ключевыми словами try и end. Существуют два типа таких блоков: try...except и try...finally.

Процедуры и функции позволяют разделить логику программы на более мелкие и управляемые фрагменты и аналогичны подпрограммам в других языках. Как и в основном блоке программы, все действия в процедурах и функциях заключаются в begin и end. Каждый из этих сегментов кода выполняет конкретную задачу. Если в содержащемся в процедуре операторе внутри модуля процедуры используется идентификатор процедуры, то процедура будет выполняться рекурсивно (будет при выполнении обращаться сама к себе). В Delphi существуют разница между функциями и процедурами. Стандартными процедурами являются Exit и ShowMessage, стандартными функциями являются StrToInt, FloatToStr, Random, математические функции и д.р.

Ввод/вывод связан с обменом информацией между оператором памяти и вешнеми носителями информации. Для ввода и вывода данных в языке предусмотрены стандартные встроенные программы, которые называются процедурами. Процедура ввода вызывается с помощью оператора ввода Read , процедура вывода - с помощью оператора вывода Write .

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.