Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_5 DELPHI_СПО.doc
Скачиваний:
1
Добавлен:
22.11.2018
Размер:
120.32 Кб
Скачать

Модуль process_unit.Pas:

unit process_unit;

interface

type

processRec = record

no : integer; // номер процесса

a1waitI : integer; // параметр для a1wait

a0waitI : integer; // параметр для a0wait

end;

implementation

end.

************************************************************************

Модуль curtime_unit.Pas:

(*************************************************)

(* Получение символьного представления *)

(* текущего времени *)

(*************************************************)

unit curtime_unit;

interface

uses sysutils;

function curtime:string;

implementation

function curtime:string;

begin

result:=timetostr(time);

end;

initialization

longtimeformat:='h:mm:ss.zzz'

end.

************************************************************************

Модуль a0wait_unit.Pas:

(******************************************************)

(* Ожидане *)

(******************************************************)

unit a0wait_unit;

interface

uses

windows;

var

waitFactor:longword;

iGl:integer;

procedure a0wait(I:Integer); // Объявление процедуры

implementation

procedure a0wait(I:Integer); // Реализация процедуры

begin

waitFactor:=gettickcount;

iGl:=i;

sleep(i);

end;

end.

************************************************************************

Модуль a1wait_unit.Pas:

(*************************************************)

(* Ожидание с фиксированным интервалом, *)

(* время которого определяется *)

(* случайным числом в заданном интервале *)

(*************************************************)

unit a1wait_unit;

interface

uses a0wait_unit;

procedure a1wait(I:Integer);

implementation

procedure a1wait(I:Integer);

var

r:integer;

begin

randomize;

r:=random(I);

a0wait(r);

end;

end.

************************************************************************

Модуль herd_unit.Pas:

unit herd_unit;

interface

uses process_unit;

const

NE=15;

var

EE : array [1..NE] of processRec =

((no: 01; a1waitI: 1300; a0waitI: 2300),

(no: 02; a1waitI: 1250; a0waitI: 1250),

(no: 03; a1waitI: 1500; a0waitI: 0500),

(no: 04; a1waitI: 2120; a0waitI: 1120),

(no: 05; a1waitI: 1310; a0waitI: 0250),

(no: 06; a1waitI: 2050; a0waitI: 2600),

(no: 07; a1waitI: 1150; a0waitI: 0169),

(no: 08; a1waitI: 1240; a0waitI: 1269),

(no: 09; a1waitI: 1400; a0waitI: 1369),

(no: 10; a1waitI: 2120; a0waitI: 1069),

(no: 11; a1waitI: 3210; a0waitI: 0169),

(no: 12; a1waitI: 4150; a0waitI: 1269),

(no: 13; a1waitI: 1110; a0waitI: 3369),

(no: 14; a1waitI: 2400; a0waitI: 0069),

(no: 15; a1waitI: 1300; a0waitI: 0130));

implementation

end.