|
Вопрос # 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;
- begin
- Time:=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 then
- time2:=time1+25+GetRandTime(10);
-
- if sumtime<=time2 then begin
- time_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 then
- time2:=time2+time1+25+GetRandTime(10);
-
- if sumtime<=time2 then begin
- time_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.
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|