Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2010, 16:00   #1
Crazy D0G
Новичок
Джуниор
 
Регистрация: 20.01.2008
Сообщений: 2
Восклицание проблема в коде GPSS

Здравствуйте. При написании программы на GPSS столкнулся с несколькими проблемами, но покопавшись в интернете я нашел код своей программы, правда немного отличным от моего. Привожу его ниже + описание самого задания:
Задание 6.
На участке термической обработки выполняются цементация и закаливание шестерен,
поступающих через 10 ± 5 мин. Цементация занимает 10 ± 7 мин, а закаливание - 10 ± б мин.
Качество определяется суммарным временем обработки. Шестерни с временем обработки больше 25 мин
покидают участок, с временем обработки от 20 до 25 мин передаются на повторную закалку и при времени
обработки меньше 20 мин должны пройти повторную полную обработку. Детали с суммарным временем
обработки меньше 20 мин считаются вторым сортом.
Смоделировать процесс обработки на участке 400 шестерен. Определить функцию распределения времени
обработки и вероятности повторения полной и частичной обработки. При выходе продукции без повторной
обработки менее 90% обеспечить на участке мероприятия, дающие гарантированный выход продукции
первого сорта 90%.

Код:
sortDetali  table   P4,2,1,6               ;raspredelenie pervichnoy i vtorichnoy obrabotki
timeDetali  table   P3,0,1,53   ;raspredelenie vremeni operaciy

    GENERATE    10,5,,400
    ASSIGN  4,0 ;2 - pervichnaya obrabotka (cementaciya i zakalivanie)
            ;3 - pervichnaya + povtornaya (zakalivanie)
            ;4 - pervichnaya + povtornaya (cementaciya и zakalivanie)
            ;5 - pervichnaya + povtornaya + (zakalivanie)
            ;6 - pervichnaya + povtornaya + (zakalivanie) + (zakalivanie)
met1    ASSIGN  1,AC1
    ADVANCE 6,5 ;cementaciya
    ASSIGN  1,(AC1-P1)
    ASSIGN  4+,1
    
met2    ASSIGN  2,AC1   
    ADVANCE 6,4 ;zakalivanie
    ASSIGN  2,(AC1-P2)
    ASSIGN  4+,1

    ASSIGN  3+,(P1+P2)
    ASSIGN  1,0

    TEST E  P4,2,met3
    TEST L  P3,25,met3
    TEST L  P3,20,met2
    TRANSFER    ,met1

met3    ASSIGN  sort,(2-((P3\20)&1))
    TEST NE P$sort,1,met4
    TEST GE x1,(x2#9),met2  ;meropriyatiya, dayuschie vihod produkcii 1go sorta 90%.
met4    SAVEVALUE   P$sort+,1

    TABULATE    sortDetali
    TABULATE    timeDetali
    TERMINATE   1
start     400


В этом коде запись абсолютного времени идет в параметры транзакта, в своем же коде я применял MARK и потом уже все условия сравнивал с М1. Идея вышеприведенного кода мне понравилась и решил использовать ее самому, отказавшись от MARK
Вот мой код:

Код:
sortDetali        table        P4,2,1,6        
timeDetali        table        P3,0,1,53        

        GENERATE         10,5,,400

        ASSIGN        4,0
CEMQ        ASSIGN    1,AC1
        QUEUE         CEMENT
        SEIZE         CEM
        DEPART         CEMENT
        ADVANCE   10,7
        RELEASE         CEM
        ASSIGN    1,(AC1-P1)
        ASSIGN        4+,1

ZAKQ        ASSIGN    2,AC1
        QUEUE         ZAKAL
        SEIZE         ZAK
        DEPART         ZAKAL
        ADVANCE   10,6
        RELEASE         ZAK
        ASSIGN    2,(AC1-P2)
        ASSIGN        4+,1

        ASSIGN    3+,(P1+P2)
        ASSIGN        1,0
        ASSIGN        2,0

        TEST E        P4,2,SORT
        TEST L         P3,25,SORT
        TEST L         P3,20,ZAKQ
        TRANSFER        ,CEMQ

SORT        ASSIGN    sort,(2-((P3\20)&1))
        TEST NE   P$sort,1,met1
        TEST GE   x1,(x2#9),ZAKQ
met1  SAVEVALUE P$sort+,1

        TABULATE        sortDetali
        TABULATE        timeDetali

        TERMINATE 1
        START        400

В свой код я добавил устройства и очереди (что думаю логичнее, учитывая условие задачи)
А теперь вопросы - что дает эта строчка - "TEST GE x1,(x2#9),ZAKQ" ? что это за переменные x1 и x2 и почему x2 умножается на 9 ? Загвоздка только в этой строке - остальное понятно.
Так же хотелось бы уточнить - это нормально, что при начальных данных выход продукции 1 сорта или 100% или почти 100%? так как в коде, который я нашел начальные данные о задержках в устройствах цементации и закаливания уменьшены и поэтому выход 2 сорта идет больше.
И как определить функцию распределения времени обработки и вероятности повторения полной и частичной обработки - использовать данные из таблиц?
Буду очень признателен откликнувшимся. Спасибо.
Crazy D0G вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GPSS, диалог с пользователем Guliayka Помощь студентам 0 21.12.2009 11:52
приоритеты в GPSS severin Помощь студентам 0 18.12.2009 12:57
Математические расчеты. Проблема в коде. Розочка Паскаль, Turbo Pascal, PascalABC.NET 2 15.09.2009 15:01
GPSS/H + Верификация&Валидация Ice_sCream Помощь студентам 0 15.06.2009 19:06