| 
| 
 | Вопрос # 2 722/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!С 1-й частью задания вы мне помогли. Она звучала так:
 В авторемонтной мастерской стоит одна полировочная машина для полирования некоторой детали мотора машины. Для этого надо выполнить следующие этапы:
 1. вынуть деталь (12±3 мин.);
 2. установить ее в полировочной машине (10±4 мин.);
 3. фаза 1-ая полирования (80±20 мин.);
 4. поворот детали для продолжения полирования (15±7 мин.);
 5. фаза 2-ая полирования (110±30 мин.);
 6. достать отполированную деталь из машины (10±4 мин.);
 7. установить деталь в прежнее место (12±3 мин.)
 Теперь необходимо сделать следующее:
 Деталь слишком тяжела для того, чтобы ее мог поднять один оператор полировочной машины. Требуется подъемный кран, помогающий ему в работе. В частности подъемный кран нужно использовать на этапах 1,2,4,6 и 7. Имеется только один подъемный кран. Краном пользуется не только оператор полировочной машины, его используют и на других работах в мастерской. Для других видов работ может потребоваться кран через каждые 30±10 минут. Время, на которое забирают кран, равно 25±10 минут. Постройте модель такой системы. Необходимо обеспечить сбор данных о времени ожидания оператора полировочной машины освобождения крана. Разделите сбор данных об ожидании на этапе 4 и этапе 6. (Предполагается, что если на этапе 6 кран получен, то оператор его уже не отпускает до завершения этапа 2. Соберите также данные об ожидании крана другими видами работ.) Моделирование проведите для 400 часов модельного времени.
 Кое-что я уже написала, но не уверена в правильности. Подскажите,пожалуйста,какие у меня ошибки и как лучше реализовать эту часть задания.
 Приложение:Переключить в обычный режим procedure TForm1.Button1Click(Sender: TObject);const l=80;var sumtime, repcount,Time,time1,time2,k1,k2:integer;time_ozh1,time_ozh2:integer;m_time_ozh1,m_time_ozh2:array[1..l]of real;beginTime:=strtoint(Edit1.Text);  sumtime := 0;  repcount := 0;  repeat    sumtime := sumtime + 12 + GetRandTime(3);    sumtime := sumtime + 10 + GetRandTime(4);    sumtime := sumtime + 80 + GetRandTime(20);    time1:=39+GetRandTime(10); if sumtime>=time1 thentime2:=time1+25+GetRandTime(10); if sumtime<=time2 then begintime_ozh1:=time2-sumtime;k1:=k1+1;sumtime:=sumtime+time_ozh1;m_time_ozh1[k1]:=time_ozh1;time_ozh1:=0;time1:=time1+39+GetRandTime(10);end;     sumtime := sumtime + 15 + GetRandTime(7);    sumtime := sumtime + 110 + GetRandTime(30); if sumtime>=time1 thentime2:=time2+time1+25+GetRandTime(10); if sumtime<=time2 then begintime_ozh2:=time2-sumtime;k2:=k2+1;sumtime:=sumtime+time_ozh2;m_time_ozh2[k2]:=time_ozh2;time_ozh2:=0;time1:=time1+39+GetRandTime(10);end;     sumtime := sumtime + 10 + GetRandTime(4);    sumtime := sumtime + 12 + GetRandTime(3);    repcount:= repcount + 1;  until sumtime> 400*60;Edit2.Text:=inttostr(repcount);  end; end.
|  |   Вопрос задала: Anya (статус: Посетитель)Вопрос отправлен: 3 мая 2009, 13:52
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |