Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.05.2011, 20:30
Olegikus Olegikus вне форума
Прохожий
 
Регистрация: 31.05.2011
Сообщения: 2
Репутация: 10
По умолчанию Моделирование системы

Здраствуйте, есть такая задача:
Смоделировать работу ремонтных доков.
Есть три корабля и два дока. Один корабль всегда в очереди, когда один починили, третий стает в очередь. Примерно так. Время прибытия и обслуживания рандомное. Если у кого есть желание, помогите, я не в силах=(
Ответить с цитированием
  #2  
Старый 01.06.2011, 11:15
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

По-хорошему, надо вводить типы. Будут 3 корабля типа TShip и 2 дока типа TDock. Осталось всунуть туда поля, методы и свойства. Напр., у Дока должно быть поле TShip, если оно nil, то док свободен, если нет - указывает, какой в нём корабль. У Дока должен быть метод Обслуживание, который зависит от случайного времени. Надо бы описать, что хотелось бы видеть на выходе, напр., график для каждого корабля, сколько времени и в каком доке он находился.
Ответить с цитированием
  #3  
Старый 01.06.2011, 20:56
Olegikus Olegikus вне форума
Прохожий
 
Регистрация: 31.05.2011
Сообщения: 2
Репутация: 10
По умолчанию как-то так?

Код:
Type

TShip = class
tip:byte;
tpr:integer;
tob:integer;
Constructor Create(num:integer);

type

TDock = class
busy:byte;
Constructor Create(num:integer);


....

function generate();
var i:integer;
begin
    randomize;
    r_Ship:=(-1/A)*ln(1-random);
end;
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 01.06.2011 в 21:29.
Ответить с цитированием
  #4  
Старый 02.06.2011, 10:16
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

1) оформляйте class правильно: в конце ставьте end, а все члены распределяйте по областям private, protected, public.
2) Поля у TShip не понятны для чего, поэтому не могу прокомментировать.
3) У Дока я же вам предлагал как определять занятость:
FShip: TShip. Если это поле nil, то корабля в доке нет. Создаёте 3 корабля (можно через массив) и два дока:
Код:
var 
  Ships: array[1..3] of TShip;
  Docks: array[1..2] of TDock;
...
  for i:= 1 to 3 do
  begin
    Ships[i]:= TShip.Create;
  end;
  for i:= 1 to 2 do
  begin
    Docks[i]:= TDock.Create;
  end;
Размещаете корабли:
Код:
for i:= 1 to 2 do
begin
  Docks[i].FShip:= Ships[i];
end;
Хотя лучше размещение делать через свойства и/или методы.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter