ахунку середнього часу
// перебування на вантаженні для танкерів перших
// трьох тіповsoj2_Ave = 0;// змінна для підрахунку середнього часу
// перебування на вантаженні для танкерів
// четвертого тіпаint ro_tug = 0L;// змінна для підрахунку завантаження буксіраro_port = 0;// змінна для підрахунку завантаження портаint entered = 0L;// лічильник загального числа поступленійint completed = 0L;// лічильник відчалили танкеровint completed1 = 0L;// лічильник відчалив танкерів перших трьох тіповint completed2 = 0L;// лічильник відчалив танкерів четвертого тіпаint total;// лічильник тактів модельного часу
// базовий классTanker {: int id;// ідентифікатор танкераtype;// номер тіпаmedian;// середній час погрузкіoffset;// максимальне отклоненіеminutes;// поточний час перебування на погрузкеstate;// поточне состояніеclass Tug; class Port; ();// конструктор
// Метод Print () зручно оголосити віртуальним, наприклад, для обходу будь-який з// черг і роздруківки її вмісту, так як в черзі можуть перебувати// танкери будь-якого тіпаvoid Print ();
};
// Похідний классTanker4: public Tanker {static int median_path = 14400;// 14400 хвилин = 240 годин - середня
// час звернення танкера четвертого
// тіпаstatic int offset_path = 1440;// 24 години - максимальне відхилення
// від середнього для часу звернення
// танкера четвертого тіпаto_arrival;// час до прибуття порожнього танкера на причалювання * t;// зв'язок з буксиром: class Tug; class Port; (int i); putTug (Tug * a); run () ;//діспетчерvoid Print ();
};
// Клас БуксірTug {static int arr_median = 660;// 660 хвилин = 11 годин - середній час між// прибуття танкерів перших трьох тіповstatic int arr_offset = 420;// 7 годин - максимальне відхилення
// від середнього для інтервалів між
// прибуття танкерів перших трьох тіповstatic int time_path = 60;// 1 година - тривалість причалювання
// і отчаліваніяstatic int storm_median = 240;// 4 години - середня тривалість штормаstatic int storm_offset = 120;// 2 години - максимальне відхилення
// від середнього для тривалості штор маstatic int storm_mu = 21;// 1/48, де 48 годин - середня
// тривалість "бесштормового"
// інтервалу временіto_arrival;// час до прибуття танкера типів 1,2,3 to_in;// час до закінчення прічаліваніяto_out;// час до закінчення відчалювання * queue_in;// чергу на причалювання < ; Tanker> * queue_out;// чергу на відчалювання * serving;// обслуговується танкерque_inLength;// довжина черги на прічаліваніеque_outLength;// довжина черги на отчаліваніеto_sStart;// час до по...