Помогите... Прогу написать пожалуйста...

  • Автор темы dezolyator
  • Дата начала
D

dezolyator

#1
Люди ! очень прошу помогите.... я её сам не осилю.... (могу кинуть некоторые похожие проги)

(модель работы торгового предприятия) Разработать модель работы торгового предприятия,
имеющего два обслуживающих устройства с разной производительностью.
Предусмотреть возможность задания интервала прихода посетителей и общего времени работы предприятия.
Очередь представить в динамической области памяти.Определить максимальную и среднюю длину очередей, максимальное и среднее время ожидания, количество клиентов, которым пришлось ждать, а также число клиентов покинувших очередь.






для тех кто ни понял задание... расписано по пунктам..)
1) 2 кассы с разной скоростью работы(одна обрабатывает посетителей быстрее чем другая,т.е одна допустип обрабатывает людей интервалом от 1 до3 мин, а вторая от 2 до 5)
2)Нада задавать интервал прихода посетителей (с клавиатуры) (допустим интервал между приходом посетителя к кассе от 1 мин до 5)
3)Такжес клавы задаем интервал работы этих касс..(например 10 ч)(сразу для 2-х предприятий)
4)Нужно чтоб прога определяла скока людей стояло в очереди в среднем и максимально( максимально это скока всего за 10 ч стояло, а среднее тупо на 2 делим)
5)скока челов покинуло очередь
6)скока челов не попало в нее( допустип очередь ты задаешь на 7 челов, а остальные отсеиваются типа...к покинувшим очередь)
7)определять максимальное и среднее время ожидания....( эт типа кассирша ф сортир убежал на полдня - это и есть время ожидания...))

Выручите пожалуйста) или мне пи....
 
E
#6
Э нет, вы ждете халявы, и не дождетесь, это верно.
 
D

dezolyator

#7
Слушай.... у меня прога есть.... я не говорю , что её с нуля нада делать.... просто убрать недочеты....
 
E
#8
Мы пока ни проги и тем более места с недочетами не видели, чтоб хотябы пытаться помоч ... и просто прогу постить не надо, можно просто проблемные места
с указаниями где чего не получаеться и если там ошибка, то с полным описание ее.
 
D

dezolyator

#9
[codebox]unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type
pt=^k; //
k=record
inf: integer;// тип элемента
link:pt;// указатель на следующий элемент
end;
var
Form1: TForm1;
ph,pk:pt;
x,poss:integer;
ooff,ss:real;



implementation

{$R *.dfm}


procedure Peral(var ph,pk:pt;c:integer); //формирует первый элемент
begin
new(ph);
ph^.link:=nil;
ph^.inf:=c;
pk:=ph;
end;

procedure Dobal(var pk:pt; c:integer); //добавляет элементы очередь
var
px:pt;
begin
new(px);
px^.link:=nil;
pk^.link:=px;
pk:=px;
pk^.inf:=c;
end;

procedure Udal(var ph:pt; var c:integer); //удаляет элементы
var
px:pt;
begin
px:=ph;
c:=ph^.inf;
ph:=ph^.link;
dispose(px);
end;



procedure TForm1.Button1Click(Sender: TObject);
var p,oldT,t,n,i,q,vih,sr,uh,poss:integer;

begin
randomize;
//создание очереди
Peral(ph,pk,random(9));
for i := 1 to 600 do
Dobal(pk,random(9));
//клиент обсл за 5 мин
p:=5;
sr:=0;
t:=0;
q:=0;
vih:=0;
uh:=0;
oldT:=0;
n:=0;
//работаем 10 часов
while t<600 do
begin
//приход очередного клиента
Udal(ph,poss);
t:=t+poss;
inc(n);//число клиентов в очереди
if t-oldT>=p then
begin// есть обслуженый клиент
oldT:=t;
dec(n);
end;
if n>3 then

begin
inc(vih);
p:=2;

end
else//если людей мало то норм скорость
p:=5;
if n>8 then
begin//людей много-> один уходит
dec(n);
inc(uh);
end;
end;
label3.Caption:=IntToStr(vih);
label4.Caption:=IntToStr(uh);
end;


procedure TForm1.Edit1Change(Sender: TObject);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.[/codebox]
У мя такая проблема... незнаю как задавать интервал времени и интервал прихода с клавы.... прога рабочая.
 

Вложения