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

Тема в разделе "Delphi - Базы данных", создана пользователем dezolyator, 27 янв 2009.

  1. dezolyator

    dezolyator Гость

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

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






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

    Выручите пожалуйста) или мне пи....
     
  2. dezolyator

    dezolyator Гость

  3. etc

    etc Гость

    А вы вникните в суть.
     
  4. dezolyator

    dezolyator Гость

    мда....чувствую помощи я не увижу(((
     
  5. etc

    etc Гость

    Э нет, вы ждете халявы, и не дождетесь, это верно.
     
  6. dezolyator

    dezolyator Гость

    Слушай.... у меня прога есть.... я не говорю , что её с нуля нада делать.... просто убрать недочеты....
     
  7. etc

    etc Гость

    Мы пока ни проги и тем более места с недочетами не видели, чтоб хотябы пытаться помоч ... и просто прогу постить не надо, можно просто проблемные места
    с указаниями где чего не получаеться и если там ошибка, то с полным описание ее.
     
  8. dezolyator

    dezolyator Гость

    [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]
    У мя такая проблема... незнаю как задавать интервал времени и интервал прихода с клавы.... прога рабочая.
     

    Вложения:

Загрузка...

Поделиться этой страницей