示例#1
0
    public void Write_Network_List(string[] filenames)
    {
        ////////////  Add by Vishal for Networking 05-06-2012

        XmlDocument    xd1   = new XmlDocument();
        XmlDeclaration xdec1 = xd1.CreateXmlDeclaration("1.0", "utf-8", null);

        xd1.InsertBefore(xdec1, xd1.DocumentElement);

        XmlElement xeroot1 = xd1.CreateElement("Devices");

        xd1.AppendChild(xeroot1);

        foreach (string K1 in filenames)
        {
            string fname;
            fname = K1.ToString();
            //getSerialNo(fname);
            XmlElement xeComputer1 = xd1.CreateElement("Devices");
            xeroot1.AppendChild(xeComputer1);
            XmlAttribute xa1 = xd1.CreateAttribute("Name");
            xa1.Value = K1.ToString();
            xeComputer1.Attributes.Append(xa1);
        }

        xd1.Save(Server.MapPath("..//Files//Network.xml"));
    }
示例#2
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных значений модельных переменных и объектов
            #endregion

            #region Cброс сборщиков статистики

            #endregion

            //Печать заголовка строки состояния модели
            TraceModelHeader();

            #region Планирование начальных событий
            var ev1 = new K1();
            Bid Z1  = new Bid();
            Z1.NZ  = 1;
            Z1.MEM = GenVol.GenerateValue();
            Z1.KPT = GenKK.GenerateValue();
            ev1.ZP = Z1;

            PlanEvent(ev1, 0.0);
            Tracer.PlanEventTrace(ev1);

            var ev2 = new K2();
            PlanEvent(ev2, DELKV);
            Tracer.PlanEventTrace(ev2);
            TraceModel();

            #endregion
        }
示例#3
0
            // алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                Model.KVZ += 1;
                Model.Tracer.EventTrace(this, "NZ = " + ZP.NZ);
                var rec = new PassRec();                            //новая запись

                rec.Z = ZP;                                         //передаём в созданный объект, объект заявки
                Model.VQ.Add(rec);                                  //добавляем в очередь
                Model.LQ.Value = Model.VQ.Count.Value;

                Model.times.Add(Time);
                Model.iPassIn++;

                var ev1 = new K1();                                 // создание объекта события

                ZP.NZ += 1;
                ev1.ZP = ZP;                                        // передача библиотекаря в событие
                double dt1 = Model.GenPassAppear.GenerateValue();

                Model.PlanEvent(ev1, dt1);                          // планирование события 3
                Model.Tracer.PlanEventTrace(ev1);
                Model.Tracer.AnyTrace("");
                Model.TraceModel();
                Model.Tracer.AnyTrace("");
            }
示例#4
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных значений модельных переменных и объектов
            #endregion

            #region Cброс сборщиков статистики

            #endregion

            //Печать заголовка строки состояния модели
            TraceModelHeader();

            #region Планирование начальных событий

            var  ev1 = new K1();                                // создание объекта события
            Pass Z1  = new Pass();
            Z1.NZ  = 1;
            ev1.ZP = Z1;                                  // передача библиотекаря в событие
            PlanEvent(ev1, 0.0);                          // планирование события 3
            Tracer.PlanEventTrace(ev1);

            Random rnd = new Random();
            var    ev2 = new K2();                              // создание объекта события
            Bus    Z2  = new Bus();
            Z2.NB  = 1;
            KPA    = 0;
            Z2.KPA = KPA;
            ev2.ZB = Z2;                                  // передача библиотекаря в событие
            double dt2 = T + GenBusAppear.GenerateValue();
            PlanEvent(ev2, dt2);                          // планирование события 3
            Tracer.PlanEventTrace(ev2);

            #endregion
        }
 /// <summary>Collecting all required parameters to execute a Mapper.map call.</summary>
 /// <remarks>
 /// Collecting all required parameters to execute a Mapper.map call.
 /// <p>
 /// </remarks>
 /// <param name="key"/>
 /// <param name="value"/>
 /// <param name="output"/>
 /// <param name="reporter"/>
 public MapperInvokeRunable(MultithreadedMapRunner <K1, V1, K2, V2> _enclosing, K1
                            key, V1 value, OutputCollector <K2, V2> output, Reporter reporter)
 {
     this._enclosing = _enclosing;
     this.key        = key;
     this.value      = value;
     this.output     = output;
     this.reporter   = reporter;
 }
示例#6
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных параметров моделирования
            //Задание начальных значений модельных переменных и объектов
            for (int i = 0; i < N; i++)
            {
                Shops[i].ProductAmountCurrent.Value      = VV;      // начальный объем товара в i-том магазине
                Shops[i].ProductDemandCurrent.Value      = 0;       // начальный объем спроса на товар в i-том магазине
                Shops[i].ProductUnrealizedCurrent.Value  = 0;       // начальный объем пролежанного товара в i-том магазине
                Shops[i].ProductUnmetDemandCurrent.Value = 0;       // начальный объем неудовлетворенного спроса на товар в i-том магазине
                Shops[i].HasSendRequest.Value            = 0;       // начальное состояние по наличию заявок
                Shops[i].RequestsTotalCountCurrent.Value = 0;       // начальное кол-во заявок
            }
            SVSTP.Value = 0;
            SVST.Value  = 0;

            // Cброс сборщиков статистики

            foreach (var collector in GetObjectsByType <StatCollector>())
            {
                collector.ResetCollector();
            }

            //Печать заголовка строки состояния модели
            TraceModelHeader();
            //Печать заголовка строки состояния модели
            var DayNumber = 0;

            //Планирование начальных событий
            // И вывод СБС
            var k1Event = new K1()
            {
                DayNumber = DayNumber
            };
            PlanEvent(k1Event, DayNumber);
            Tracer.PlanEventTrace(k1Event, DayNumber + 1);
            var k3Event = new K3 {
                NumberOfWeek = 0
            };
            PlanEvent(k3Event, 0);
            Tracer.PlanEventTrace(k3Event,
                                  1);
            Tracer.AnyTrace();
            Tracer.AnyTrace();
            TraceModel(DayNumber++);
            #endregion
        }
示例#7
0
        private (BitString k1, BitString k2) ComputeSubKey(BitString key)
        {
            //6.1 SUBKEY GENERATION

            //Prerequisites:
            //    block cipher CIPH with block size b;
            //    key K.

            //Output:
            //subkeys K1, K2.

            //Suggested Notation:
            //    SUBK(K).

            //Steps:
            //    1.Let L = CIPHK(0^b).
            var param = new ModeBlockCipherParameters(
                BlockCipherDirections.Encrypt, key, new BitString(Engine.BlockSizeBits)
                );
            var L = AlgoMode.ProcessPayload(param).Result;

            BitString K1, K2;

            //    2.If MSB1(L) = 0, then K1 = L << 1;
            K1 = L.LSBShift();
            //Else K1 = (L << 1) XOR Rb; see Sec. 5.3 for the definition of Rb.
            if (L.GetMostSignificantBits(1).Bits[0])
            {
                K1 = K1.XOR(RbConstant);
            }

            //    3.If MSB1(K1) = 0, then K2 = K1 << 1;
            K2 = K1.LSBShift();
            //    Else K2 = (K1 << 1) XOR Rb.
            if (K1.GetMostSignificantBits(1).Bits[0])
            {
                K2 = K2.XOR(RbConstant);
            }

            //    4.Return K1, K2.
            return(K1, K2);
        }
示例#8
0
            // алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                Model.Tracer.EventTrace(this, ZP.NZ, ZP.KPT, ZP.MEM);
                if (ZP.MEM <= Model.FREEMEM)
                {
                    // Добавление заявки в очередь ПП
                    var rec = new QRec();
                    rec.Z = ZP;
                    Model.QPP.Add(rec);

                    // Уменьшения объема свободной памяти
                    Model.FREEMEM -= ZP.MEM;
                }
                else
                {
                    // Добавление заявки во входную очередь
                    var rec = new QRec();
                    rec.Z = ZP;
                    Model.VQ.Add(rec);
                }
                // Планируем событие К1
                double dt1 = Model.GenTime.GenerateValue();

                var ev1 = new K1();

                Bid Z1 = new Bid();

                Z1.NZ  = ZP.NZ + 1;
                Z1.MEM = Model.GenVol.GenerateValue();
                Z1.KPT = Model.GenKK.GenerateValue();
                if (Z1.KPT == 0)
                {
                    Z1.KPT = 1;
                }
                ev1.ZP = Z1;

                Model.PlanEvent(ev1, dt1);
                Model.Tracer.PlanEventTrace(ev1);
                Model.Tracer.AnyTrace("");
                Model.TraceModel();
                Model.Tracer.AnyTrace("");
            }
示例#9
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных значений модельных переменных и объектов
            #endregion

            #region Cброс сборщиков статистики

            #endregion

            //Печать заголовка строки состояния модели
            TraceModelHeader();

            #region Планирование начальных событий

            var ev1 = new K1();
            Bid Z1  = new Bid();
            Z1.NZ  = 1;
            Z1.NE  = 1;
            Z1.KK  = GenKKZ.GenerateValue();
            ev1.ZP = Z1;
            var rec1 = new QRec();
            rec1.Z = Z1;
            KPP[MZ[0, 0]].Add(rec1);
            PlanEvent(ev1, 0.0);
            Tracer.PlanEventTrace(ev1);

            var ev2 = new K1();
            Bid Z2  = new Bid();
            Z2.NZ  = 2;
            Z2.NE  = 1;
            Z2.KK  = GenKKZ.GenerateValue();
            ev2.ZP = Z2;
            var rec2 = new QRec();
            rec2.Z = Z2;
            KPP[MZ[1, 0]].Add(rec2);
            PlanEvent(ev2, 0.0);
            //Tracer.PlanEventTrace(ev2);
            TraceModel();

            #endregion
        }
示例#10
0
        static public string K1(int idCompanyMiddleman)
        {
            List <CarInsuranceType> carInsuranceTypes = CarInsuranceTypeDataManipulation.GetMulti();

            if (carInsuranceTypes == null)
            {
                responseToClient.responseType = ResponseType.Bad;
                responseToClient.responseText = "Не знайдено умови \"Тип транспорту\"";
                return(js.Serialize(responseToClient));
            }

            foreach (var cit in carInsuranceTypes)
            {
                if (K1DataManipulation.IsConditionExist(cit, idCompanyMiddleman))
                {
                    var newRowK1 = new K1()
                    {
                        IdCarInsuranceType = cit.Id,
                        Value = 0,
                        IdCompanyMiddleman = idCompanyMiddleman,
                    };

                    try
                    {
                        K1DataManipulation.Insert(newRowK1);
                    }
                    catch
                    {
                        responseToClient.responseType = ResponseType.Bad;
                        responseToClient.responseText = $"Виникла помилка при генерації запису для умови \"{cit.Type}\"";
                        return(js.Serialize(responseToClient));
                    }
                }
            }

            responseToClient.responseType = ResponseType.Good;
            responseToClient.responseText = "Генерація даних пройшла успішно.";
            return(js.Serialize(responseToClient));
        }
示例#11
0
        public override void StartModelling(int variantCount, int runCount)
        {
            #region Задание начальных значений модельных переменных и объектов
            #endregion

            #region Cброс сборщиков статистики

            #endregion

            //Печать заголовка строки состояния модели
            TraceModelHeader();

            #region Планирование начальных событий

            var      ev1 = new K1();                            // создание объекта события
            Purchase Z1  = new Purchase();
            Z1.VSP = (int)GenPurchase.GenerateValue();
            ev1.Z  = Z1;                                  // передача библиотекаря в событие
            PlanEvent(ev1, 0.0);                          // планирование события 3
            Tracer.PlanEventTrace(ev1);

            #endregion
        }
示例#12
0
 public Triple(K1 key1, K2 key2, T value)
 {
     this.Key1  = key1;
     this.Key2  = key2;
     this.Value = value;
 }
示例#13
0
 public override string ToString()
 {
     return(T.ToString() + N.ToString() + K1.ToString() + K2.ToString());
 }
示例#14
0
        public static string GenerateInput2(int numberOfData)
        {
            int i, p;

            System.Text.StringBuilder data;
            string K1, K2, K3, K4, K5,
                   K6, K7, K8, K9, K10,
                   K11, K12, K13, K14, K15,
                   K16, K17, K18, K19, K20,
                   K21, K22, K23, K24, K25,
                   K26, K27, K28, K29, K30,
                   K31, K32, K33, K34, K35,
                   K36, K37, K38, K39, K40, K41;
            string answer = "No";

            System.Random rand = new System.Random();

            /*
             * Weights/NeuralNetwork/Excel
             */
            double[] w1 = new double[]
            {
                1.0, 1.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 0.0,
                1.0, 0.0, 1.0, 0.0, 0.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
                0.0, 1.0, 0.1, 1.0, 0.0,
                1.0, 0.0, 1.0, 1.0, 1.0,
                1.0, 1.0, 1.0, 1.0, 1.0,
            };
            double[] w2 = new double[40];

            string path = @"E:\General\Programming\C_Sharp\WPF\FirePredictionSystem\FirePredictionSystem\bin\Debug\Data\new_table_of_fires_2.xlsx";

            if (System.IO.File.Exists(path))
            {
                using (ExcelAPIClass exApi = new ExcelAPIClass(
                           path, "Лист1", "B3", "I100"))
                {
                    exApi.ShowCategoriesWithAttributes();
                    int[][] x = exApi.GetUsefullAttributesValues();

                    int[]      target     = exApi.GetTarget();
                    Perceptron perceptron = new Perceptron(x, w1, target);
                    perceptron.Learn();
                    w2 = perceptron.Weights;
                }
            }
            else
            {
                for (int wi = 0; wi < w2.Length; wi++)
                {
                    w2[wi] = 0.0;
                }
            }

            data = new System.Text.StringBuilder(
                "K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 " +
                "K12 K13 K14 K15 K16 K17 K18 K19 " +
                "K20 K21 K22 K23 K24 K25 K26 K27 " +
                "K28 K29 K30 K31 K32 K33 K34 K35 " +
                "K36 K37 K38 K39 K40 K41 Answer" +
                "\r\n");

            for (i = 0; i < numberOfData; i++)
            {
                answer = "No";
                //горючий потолок
                K1 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";
                //горючий пол
                K2 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";
                //горючая стена
                K3 = rand.Next(0, 1000) > 900 ? "Присутствует" : "Отсутствует";

                #region Печь
                p  = rand.Next(1, 1000);
                K4 = (p <= 700) ? "90"  :
                     (p > 700 && p <= 750) ? "110" :
                     (p > 750 && p <= 950) ? "120" : "140";
                p  = rand.Next(1, 1000);
                K5 = (p <= 666) ? "<=5"  :
                     (p > 666 && p <= 950) ? "5<x<=15" : ">15";
                K6 = rand.Next(0, 1000) < 950 ? "Присутствует" :
                     "Отсутствует";
                p  = rand.Next(1, 1000);
                K7 = (p <= 500) ? "<500" :
                     (p > 500 && p <= 550) ? ">=500" :
                     (p > 550 && p <= 600) ? ">=конька_кровли_или_парапета" :
                     (p > 600 && p <= 650) ? "<=конька_кровли_или_парапета" :
                     (p > 650 && p <= 850) ?
                     ">=линии_проведенной_от_конька_вниз_под_углом_10":
                     "<=линии_проведенной_от_конька_вниз_под_углом_10";
                K8 = rand.Next(0, 10) > 5 ?
                     "Над_плоской_кровлей" :
                     "Над_коньком_кровли_или_парапетом";
                p  = rand.Next(1, 1000);
                K9 = p < 333 ? "<1.5" :
                     (p > 333 && p < 666) ? "1.5<=x<=3" : ">3";

                p   = rand.Next(1, 1000);
                K10 = p <= 250 ? "Из_трех_рядов_кирпичей" :
                      (p > 250 && p <= 500) ? "Из_двух_рядов_кирпичей" :
                      (p < 500 && p <= 750) ?
                      "Металлическая_с_теплоизолированным_перекрытием" :
                      "Металлическая_с_нетеплоизолированным_перекрытием";
                K11 = rand.Next(0, 10) > 5 ? "Защищен" : "Не_защищен";
                K12 = rand.Next(0, 10) > 5 ?
                      "С_периодической_топкой" :
                      "Длительного_горения";
                p   = rand.Next(1, 1000);
                K13 = (p <= 100) ? "250"  :
                      (p > 100 && p <= 200) ? "350"  :
                      (p > 200 && p <= 300) ? "375"  :
                      (p > 300 && p <= 400) ? "525"  :
                      (p > 400 && p <= 500) ? "700"  :
                      (p > 500 && p <= 600) ? "800"  :
                      (p > 600 && p <= 700) ? "1000" :
                      (p > 700 && p <= 800) ? "1050" :
                      (p > 800 && p <= 900) ? "1200" : "1500";
                #endregion

                #region Дымовая_труба
                p   = rand.Next(1, 1000);
                K14 = p <= 333 ? "140x140" :
                      (p > 333 && p <= 666) ?
                      "140x200" : "140x270";
                p   = rand.Next(1, 1000);
                K15 = p <= 250 ? "<3.5" :
                      (p > 250 && p <= 500) ? "3.5<=x<=5.2" :
                      (p < 500 && p <= 750) ? "5.2<=x<=7" : ">7";
                p   = rand.Next(1, 1000);
                K16 = p <= 250 ? "Глиняный_кирпич" :
                      (p > 250 && p <= 500) ? "Жаростойкий_бетон" :
                      (p < 500 && p <= 750) ?
                      "Хризотилоцементные_трубы" :
                      "Нержавеющая_сталь_заводской_готовности";
                p   = rand.Next(1, 1000);
                K17 = p <= 333 ? "60<=x<=120" :
                      (p > 333 && p <= 666) ?
                      ">=120" : "<60";
                K18 = rand.Next(1, 1000) < 300 ? "300" : "400";
                p   = rand.Next(1, 1000);
                K19 = p <= 333 ? "Кирпич" :
                      (p > 333 && p <= 666) ?
                      "Бетон" : "Керамика";
                K20 = rand.Next(1, 1000) <= 500 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K21 = p <= 333 ? "<130" :
                      (p > 333 && p <= 666) ?
                      "130<=x<=250" : ">=250";
                #endregion

                #region Защита_горючих_поверхностей
                p   = rand.Next(1, 1000);
                K22 = p <= 333 ? "Металлический_лист_размером_700х500_мм" :
                      (p > 333 && p <= 666) ?
                      "Листовая_сталь"
                        : "Штукатурка_толщиной_25_мм";
                p   = rand.Next(1, 1000);
                K23 = p <= 333 ? "Металлический_лист_размером_700х500_мм" :
                      (p > 333 && p <= 666) ?
                      "Штукатурка_толщиной_25_мм"
                        : "Листовая_сталь";
                p   = rand.Next(1, 1000);
                K24 = p <= 333 ? "По_асбестовому_картону_толщиной_8_мм" :
                      (p > 333 && p <= 666) ?
                      "По_асбестовому_картону_толщиной_10_мм" :
                      "По_металлической_сетке";
                p   = rand.Next(1, 1000);
                K25 = p <= 333 ? "Длинная_сторона_вдоль_печи" :
                      (p > 333 && p <= 666) ?
                      "От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"
                      : "В_пределах_горизонтальной_проекции_печи";
                #endregion

                #region Воздуховоды
                p   = rand.Next(1, 1000);
                K26 = p < 999 ? ">=3" : "<3";
                p   = rand.Next(1, 1000);
                K27 = (p <= 250) ? "B1" :
                      (p > 250 && p <= 500) ? "B2" :
                      (p > 500 && p <= 750) ? "B3" : "B4";
                p   = rand.Next(1, 1000);
                K28 = (p <= 400) ? "B1" :
                      (p > 400 && p <= 450) ? "B2" :
                      (p > 450 && p <= 500) ? "B3" :
                      (p > 500 && p <= 600) ? "B4" :
                      (p > 600 && p <= 650) ? "Отсутствует" : "Присутствует";
                p   = rand.Next(1, 1000);
                K29 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K30 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K31 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                K32 = p < 800 ? "Присутствует" : "Отсутствует";
                p   = rand.Next(1, 1000);
                #endregion

                #region Электрика
                K33 = p < 800 ? "Алюминий" : "Медь";
                p   = rand.Next(1, 1000);
                if (K33.Equals("Алюминий"))
                {
                    K34 = (p <= 166) ? "<4" :
                          (p > 166 && p <= 332) ? "6" :
                          (p > 332 && p <= 498) ? "10" :
                          (p > 498 && p <= 664) ? "16-25" :
                          (p > 664 && p <= 830) ? "35-50" : "70";
                }
                else
                {
                    K34 = (p <= 166) ? "<2.5" :
                          (p > 166 && p <= 332) ? "-" :
                          (p > 332 && p <= 498) ? "4" :
                          (p > 498 && p <= 664) ? "6-10" :
                          (p > 664 && p <= 830) ? "16" : "25-35";
                }
                p = rand.Next(1, 1000);
                if (K34.Equals("<4"))
                {
                    K35 = (p <= 900) ? "Не_нормируется" :
                          (p > 910 && p <= 920) ? "2.5" :
                          (p > 920 && p <= 930) ? "2.8" :
                          (p > 930 && p <= 940) ? "3.2" :
                          (p > 940 && p <= 950) ? "3.5" : "4";
                }
                else if (K34.Equals("6"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 900) ? "2.5" :
                          (p > 900 && p <= 920) ? "2.8" :
                          (p > 920 && p <= 940) ? "3.2" :
                          (p > 940 && p <= 980) ? "3.5" : "4";
                }
                else if (K34.Equals("10"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 60) ? "2.5" :
                          (p > 60 && p <= 900) ? "2.8" :
                          (p > 900 && p <= 920) ? "3.2" :
                          (p > 920 && p <= 940) ? "3.5" : "4";
                }
                else if (K34.Equals("16-25"))
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 50 && p <= 60) ? "2.5" :
                          (p > 60 && p <= 70) ? "2.8" :
                          (p > 70 && p <= 900) ? "3.2" :
                          (p > 900 && p <= 950) ? "3.5" : "4";
                }
                else if (K34.Equals("35-50"))
                {
                    K35 = (p <= 10) ? "Не_нормируется" :
                          (p > 10 && p <= 20) ? "2.5" :
                          (p > 30 && p <= 40) ? "2.8" :
                          (p > 40 && p <= 50) ? "3.2" :
                          (p > 50 && p <= 950) ? "3.5" : "4";
                }
                else // K34.Equals("70")
                {
                    K35 = (p <= 50) ? "Не_нормируется" :
                          (p > 60 && p <= 70) ? "2.5" :
                          (p > 70 && p <= 80) ? "2.8" :
                          (p > 80 && p <= 90) ? "3.2" :
                          (p > 90 && p <= 100) ? "3.5" : "4";
                }
                p   = rand.Next(1, 1000);
                K36 = p > 500 ? "<50мм" : ">50мм";
                p   = rand.Next(1, 1000);
                K37 = (p <= 333) ? "Изоляция_провода" :
                      (p > 333 && p <= 666) ?
                      "Прибор_нагревательный_отопительный" :
                      "Водонагревательный_прибор";
                p = rand.Next(1, 1000);
                if (K37.Equals("Изоляция_провода"))
                {
                    K38 = (p <= 900) ? "65" :
                          (p > 900 && p <= 950) ? "85" : "90";
                }
                else if (K37.Equals("Прибор_нагревательный_отопительный"))
                {
                    K38 = (p <= 50) ? "65" :
                          (p > 50 && p <= 950) ? "85" : "90";
                }
                else
                {
                    K38 = (p <= 50) ? "65" :
                          (p > 50 && p <= 100) ? "85" : "90";
                }
                p   = rand.Next(1, 1000);
                K39 = (p <= 111) ? "IP20" :
                      (p > 111 && p <= 222) ? "IP23" :
                      (p > 222 && p <= 333) ? "IP51" :
                      (p > 333 && p <= 444) ? "IP53" :
                      (p > 444 && p <= 555) ? "IP54" :
                      (p > 555 && p <= 666) ? "2.0" :
                      (p > 666 && p <= 777) ? "5.0" :
                      (p > 777 && p <= 888) ? "5.3" : "5.4";
                p   = rand.Next(1, 1000);
                K40 = (p <= 333) ? "ЛЛ" :
                      (p > 333 && p <= 666) ? "ЛН" : "ГЛВД";
                p   = rand.Next(1, 1000);
                K41 = (p <= 142) ? "Нормальные" :
                      (p > 142 && p <= 284) ? "Влажные" :
                      (p > 284 && p <= 426) ? "Сырые" :
                      (p > 426 && p <= 568) ? "Особо_сырые" :
                      (p > 568 && p <= 710) ? "Химически_активные" :
                      (p > 710 && p <= 852) ? "Пыльные" : "Жаркие";
                #endregion

                #region K1 - done Потолок из горючих материалов
                //k10 связан с K1
                //K12 - тип печи
                //K13 - расстояние_между_верхом_перекрытия_печи_и_потолком
                if (K1.Equals("Присутствует"))
                {
                    double res = w2[0] + w2[9] + w2[10] + w2[11] + w2[12];
                    if (!K11.Equals("Защищен"))
                    {
                        if (K10.Equals("Из_трех_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("250"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("700"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Из_двух_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("375"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1050"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Металлическая_с_теплоизолированным_перекрытием"))
                        {
                            if (K12.Equals("С_периодической_топкой")
                                ||
                                K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("800"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                    }
                    else
                    {
                        if (K10.Equals("Из_трех_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("350"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1000"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Из_двух_рядов_кирпичей"))
                        {
                            if (K12.Equals("С_периодической_топкой"))
                            {
                                if (!K13.Equals("525"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                            else if (K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1500"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                        else if (K10.Equals("Металлическая_с_нетеплоизолированным_перекрытием"))
                        {
                            if (K12.Equals("С_периодической_топкой")
                                ||
                                K12.Equals("Длительного_горения"))
                            {
                                if (!K13.Equals("1200"))
                                {
                                    answer = (res > 1.0) ? "Yes" : answer;
                                }
                            }
                        }
                    }
                }
                #endregion

                #region K2 - done Пол из горючих материалов
                if (K2.Equals("Присутствует"))
                {
                    double res = w2[1] + w2[21] + w2[23] + w2[24];
                    if (K22.Equals("Металлический_лист_размером_700х500_мм"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_8_мм"))
                        {
                            if (!K25.Equals("Длинная_сторона_вдоль_печи"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K22.Equals("Листовая_сталь"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_10_мм"))
                        {
                            if (!K25.Equals("В_пределах_горизонтальной_проекции_печи"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K3 - done Стена из горючих материалов
                if (K3.Equals("Присутствует"))
                {
                    double res = w2[2] + w2[22] + w2[23] + w2[24];
                    if (K23.Equals("Металлический_лист_размером_700х500_мм"))
                    {
                        if (K24.Equals("По_асбестовому_картону_толщиной_8_мм"))
                        {
                            if (!K25.Equals("От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K23.Equals("Штукатурка_толщиной_25_мм"))
                    {
                        if (K24.Equals("По_металлической_сетке"))
                        {
                            if (!K25.Equals("От_пола_до_уровня_на_250мм_выше_верха_топочной_дверки"))
                            {
                                answer = (res > 1.0) ? "Yes" : answer;
                            }
                        }
                        else
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K4 - done Температура печи
                if (K4.Equals("110") ||
                    K4.Equals("120"))
                {
                    double res = w2[3] + w2[4] + w2[5];
                    if (K5.Equals(">15"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K4.Equals("140"))
                {
                    double res = w2[3] + w2[4] + w2[5];
                    if (!K6.Equals("Присутствует"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K7 - done Высота дымовых труб
                if (K7.Equals("<500"))
                {
                    double res = w2[6] + w2[7] + w2[8];
                    if (K8.Equals("Над_плоской_кровлей"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                    else if (K8.Equals("Над_коньком_кровли_или_парапетом"))
                    {
                        if (!K9.Equals("<1.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else if (K7.Equals("<=конька_кровли_или_парапета"))
                {
                    double res = w2[6] + w2[8];
                    if (!K9.Equals("1.5<=x<=3"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }

                else if (K7.Equals("<=линии_проведенной_от_конька_вниз_под_углом_10"))
                {
                    double res = w2[6] + w2[8];
                    if (!K9.Equals(">3"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K15 Тепловая мощность
                if (K15.Equals("<3.5"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x140"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K15.Equals("5.2<=x<=7"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x200"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K15.Equals(">7"))
                {
                    double res = w2[13] + w2[14];
                    if (!K14.Equals("140x270"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K16 Материал дымовых труб
                if (K16.Equals("Глиняный_кирпич"))
                {
                    double res = w2[15] + w2[16];
                    if (!K17.Equals(">=120"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Жаростойкий_бетон"))
                {
                    double res = w2[15] + w2[16];
                    if (!K17.Equals("60<=x<=120"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Хризотилоцементные_трубы"))
                {
                    double res = w2[15] + w2[17];
                    if (!K18.Equals("300"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K16.Equals("Нержавеющая_сталь_заводской_готовности"))
                {
                    double res = w2[15] + w2[17];
                    if (!K18.Equals("400"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K19 Вид материала дымовой трубы
                if (K19.Equals("Кирпич")
                    ||
                    K19.Equals("Бетон"))
                {
                    double res = w2[18] + w2[20];
                    if (!K21.Equals("130<=x<=250")
                        ||
                        !K21.Equals(">=250"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K19.Equals("Керамика"))
                {
                    if (K20.Equals("Присутствует"))
                    {
                        if (!K21.Equals("130<=x<=250")
                            ||
                            !K21.Equals(">=250"))
                        {
                            double res = w2[18] + w2[19] + w2[20];
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K20.Equals("Отсутствует"))
                    {
                        if (!K21.Equals(">=250"))
                        {
                            double res = w2[19] + w2[20];
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region K26 Воздуховоды
                if (K26.Equals("<3"))
                {
                    if (!K29.Equals("Присутствует") &&
                        !K30.Equals("Присутствует") &&
                        !K31.Equals("Присутствует") &&
                        !K32.Equals("Присутствует"))
                    {
                        double res = w2[25] + w2[28] + w2[29] + w2[30] + w2[31];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }

                if (K27.Equals("B1"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B2"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B3"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("B3") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K27.Equals("B4"))
                {
                    if (!K28.Equals("B1") &&
                        !K28.Equals("B2") &&
                        !K28.Equals("B3") &&
                        !K28.Equals("B4") &&
                        !K28.Equals("Присутствует"))
                    {
                        double res = w2[26] + w2[27];
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K33 Материал проводки
                if (K33.Equals("Алюминий"))
                {
                    double res = w2[32] + w2[33] + w2[34];
                    if (K34.Equals("6"))
                    {
                        if (!K35.Equals("2.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("10"))
                    {
                        if (!K35.Equals("2.8"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("16-25"))
                    {
                        if (!K35.Equals("3.2"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("35-50"))
                    {
                        if (!K35.Equals("3.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("70"))
                    {
                        if (!K35.Equals("4.0"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else //Медь
                {
                    double res = w2[32] + w2[33] + w2[34];
                    if (K34.Equals("6"))
                    {
                        if (!K35.Equals("-"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("4"))
                    {
                        if (!K35.Equals("2.8"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("6-10"))
                    {
                        if (!K35.Equals("3.2"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("16"))
                    {
                        if (!K35.Equals("3.5"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K34.Equals("25-35"))
                    {
                        if (!K35.Equals("4.0"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region 37 Наружная поверхность
                if (K37.Equals("Изоляция_провода"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("65"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K37.Equals("Прибор_нагревательный_отопительный"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("85"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                else if (K37.Equals("Водонагревательный_прибор"))
                {
                    double res = w2[36] + w2[37];
                    if (!K38.Equals("90"))
                    {
                        answer = (res > 1.0) ? "Yes" : answer;
                    }
                }
                #endregion

                #region K40 Степень защиты светильников
                if (K40.Equals("ЛЛ"))
                {
                    double res = w2[38] + w2[39] + w2[39];
                    if (K39.Equals("IP20"))
                    {
                        if (K41.Equals("Сырые"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Особо_сырые"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP23"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP54"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("5.4"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                else if (K40.Equals("ЛН") || K40.Equals("ГЛВД"))
                {
                    double res = w2[38] + w2[39] + w2[39];
                    if (K39.Equals("IP23"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("IP53"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                    else if (K39.Equals("5.0") ||
                             K39.Equals("5.3") ||
                             K39.Equals("5.4"))
                    {
                        if (K41.Equals("Нормальные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                        else if (K41.Equals("Влажные"))
                        {
                            answer = (res > 1.0) ? "Yes" : answer;
                        }
                    }
                }
                #endregion

                #region data_Append
                data.Append(K1 + " "); data.Append(K2 + " ");
                data.Append(K3 + " "); data.Append(K4 + " ");
                data.Append(K5 + " "); data.Append(K6 + " ");
                data.Append(K7 + " "); data.Append(K8 + " ");
                data.Append(K9 + " "); data.Append(K10 + " ");
                data.Append(K11 + " "); data.Append(K12 + " ");
                data.Append(K13 + " "); data.Append(K14 + " ");
                data.Append(K15 + " "); data.Append(K16 + " ");
                data.Append(K17 + " "); data.Append(K18 + " ");
                data.Append(K19 + " "); data.Append(K20 + " ");
                data.Append(K21 + " "); data.Append(K22 + " ");
                data.Append(K23 + " "); data.Append(K24 + " ");
                data.Append(K25 + " "); data.Append(K26 + " ");
                data.Append(K27 + " "); data.Append(K28 + " ");
                data.Append(K29 + " "); data.Append(K30 + " ");
                data.Append(K31 + " "); data.Append(K32 + " ");
                data.Append(K33 + " "); data.Append(K34 + " ");
                data.Append(K35 + " "); data.Append(K36 + " ");
                data.Append(K37 + " "); data.Append(K38 + " ");
                data.Append(K39 + " "); data.Append(K40 + " ");
                data.Append(K41 + " "); data.Append(answer);

                if (i != (numberOfData - 1))
                {
                    data.Append("\r\n");
                }
                #endregion
            }

            return(data.ToString());
        }
示例#15
0
 public BiKeyValue(K1 key1, K2 key2, T value)
 {
     this.Key1  = key1;
     this.Key2  = key2;
     this.Value = value;
 }
 static public void Insert(K1 newRecord)
 {
     db.K1.Add(newRecord);
     db.SaveChanges();
 }
示例#17
0
 public Grupo(K1 llave)
 {
     this.llave     = llave;
     this.elementos = new List <T1>();
 }
示例#18
0
    // Use this for initialization
    void Start()
    {
        PlayerIcon.GetComponent <SpriteRenderer>().enabled = true;
        A1.GetComponent <SpriteRenderer>().enabled         = false;
        A2.GetComponent <SpriteRenderer>().enabled         = false;
        A3.GetComponent <SpriteRenderer>().enabled         = false;
        A4.GetComponent <SpriteRenderer>().enabled         = false;
        A5.GetComponent <SpriteRenderer>().enabled         = false;
        A6.GetComponent <SpriteRenderer>().enabled         = false;
        A7.GetComponent <SpriteRenderer>().enabled         = false;
        A8.GetComponent <SpriteRenderer>().enabled         = false;
        A9.GetComponent <SpriteRenderer>().enabled         = false;
        A10.GetComponent <SpriteRenderer>().enabled        = false;
        A11.GetComponent <SpriteRenderer>().enabled        = false;
        B1.GetComponent <SpriteRenderer>().enabled         = false;
        B2.GetComponent <SpriteRenderer>().enabled         = false;
        B3.GetComponent <SpriteRenderer>().enabled         = false;
        B4.GetComponent <SpriteRenderer>().enabled         = false;
        B5.GetComponent <SpriteRenderer>().enabled         = false;
        B6.GetComponent <SpriteRenderer>().enabled         = false;
        B7.GetComponent <SpriteRenderer>().enabled         = false;
        B8.GetComponent <SpriteRenderer>().enabled         = false;
        B9.GetComponent <SpriteRenderer>().enabled         = false;
        B10.GetComponent <SpriteRenderer>().enabled        = false;
        B11.GetComponent <SpriteRenderer>().enabled        = false;
        C1.GetComponent <SpriteRenderer>().enabled         = false;
        C2.GetComponent <SpriteRenderer>().enabled         = false;
        C3.GetComponent <SpriteRenderer>().enabled         = false;
        C4.GetComponent <SpriteRenderer>().enabled         = false;
        C5.GetComponent <SpriteRenderer>().enabled         = false;
        C6.GetComponent <SpriteRenderer>().enabled         = false;
        C7.GetComponent <SpriteRenderer>().enabled         = false;
        C8.GetComponent <SpriteRenderer>().enabled         = false;
        C9.GetComponent <SpriteRenderer>().enabled         = false;
        C10.GetComponent <SpriteRenderer>().enabled        = false;
        C11.GetComponent <SpriteRenderer>().enabled        = false;
        D1.GetComponent <SpriteRenderer>().enabled         = false;
        D2.GetComponent <SpriteRenderer>().enabled         = false;
        D3.GetComponent <SpriteRenderer>().enabled         = false;
        D4.GetComponent <SpriteRenderer>().enabled         = false;
        D5.GetComponent <SpriteRenderer>().enabled         = false;
        D6.GetComponent <SpriteRenderer>().enabled         = false;
        D7.GetComponent <SpriteRenderer>().enabled         = false;
        D8.GetComponent <SpriteRenderer>().enabled         = false;
        D9.GetComponent <SpriteRenderer>().enabled         = false;
        D10.GetComponent <SpriteRenderer>().enabled        = false;
        D11.GetComponent <SpriteRenderer>().enabled        = false;
        E1.GetComponent <SpriteRenderer>().enabled         = false;
        E2.GetComponent <SpriteRenderer>().enabled         = false;
        E3.GetComponent <SpriteRenderer>().enabled         = false;
        E4.GetComponent <SpriteRenderer>().enabled         = false;
        E5.GetComponent <SpriteRenderer>().enabled         = false;
        E6.GetComponent <SpriteRenderer>().enabled         = false;
        E7.GetComponent <SpriteRenderer>().enabled         = false;
        E8.GetComponent <SpriteRenderer>().enabled         = false;
        E9.GetComponent <SpriteRenderer>().enabled         = false;
        E10.GetComponent <SpriteRenderer>().enabled        = false;
        E11.GetComponent <SpriteRenderer>().enabled        = false;
        F1.GetComponent <SpriteRenderer>().enabled         = false;
        F2.GetComponent <SpriteRenderer>().enabled         = false;
        F3.GetComponent <SpriteRenderer>().enabled         = false;
        F4.GetComponent <SpriteRenderer>().enabled         = false;
        F5.GetComponent <SpriteRenderer>().enabled         = false;
        F6.GetComponent <SpriteRenderer>().enabled         = false;
        F7.GetComponent <SpriteRenderer>().enabled         = false;
        F8.GetComponent <SpriteRenderer>().enabled         = false;
        F9.GetComponent <SpriteRenderer>().enabled         = false;
        F10.GetComponent <SpriteRenderer>().enabled        = false;
        F11.GetComponent <SpriteRenderer>().enabled        = false;
        G1.GetComponent <SpriteRenderer>().enabled         = false;
        G2.GetComponent <SpriteRenderer>().enabled         = false;
        G3.GetComponent <SpriteRenderer>().enabled         = false;
        G4.GetComponent <SpriteRenderer>().enabled         = false;
        G5.GetComponent <SpriteRenderer>().enabled         = false;
        G6.GetComponent <SpriteRenderer>().enabled         = false;
        G7.GetComponent <SpriteRenderer>().enabled         = false;
        G8.GetComponent <SpriteRenderer>().enabled         = false;
        G9.GetComponent <SpriteRenderer>().enabled         = false;
        G10.GetComponent <SpriteRenderer>().enabled        = false;
        G11.GetComponent <SpriteRenderer>().enabled        = false;
        H1.GetComponent <SpriteRenderer>().enabled         = false;
        H2.GetComponent <SpriteRenderer>().enabled         = false;
        H3.GetComponent <SpriteRenderer>().enabled         = false;
        H4.GetComponent <SpriteRenderer>().enabled         = false;
        H5.GetComponent <SpriteRenderer>().enabled         = false;
        H6.GetComponent <SpriteRenderer>().enabled         = false;
        H7.GetComponent <SpriteRenderer>().enabled         = false;
        H8.GetComponent <SpriteRenderer>().enabled         = false;
        H9.GetComponent <SpriteRenderer>().enabled         = false;
        H10.GetComponent <SpriteRenderer>().enabled        = false;
        H11.GetComponent <SpriteRenderer>().enabled        = false;
        I1.GetComponent <SpriteRenderer>().enabled         = false;
        I2.GetComponent <SpriteRenderer>().enabled         = false;
        I3.GetComponent <SpriteRenderer>().enabled         = false;
        I4.GetComponent <SpriteRenderer>().enabled         = false;
        I5.GetComponent <SpriteRenderer>().enabled         = false;
        I6.GetComponent <SpriteRenderer>().enabled         = false;
        I7.GetComponent <SpriteRenderer>().enabled         = false;
        I8.GetComponent <SpriteRenderer>().enabled         = false;
        I9.GetComponent <SpriteRenderer>().enabled         = false;
        I10.GetComponent <SpriteRenderer>().enabled        = false;
        I11.GetComponent <SpriteRenderer>().enabled        = false;
        J1.GetComponent <SpriteRenderer>().enabled         = false;
        J2.GetComponent <SpriteRenderer>().enabled         = false;
        J3.GetComponent <SpriteRenderer>().enabled         = false;
        J4.GetComponent <SpriteRenderer>().enabled         = false;
        J5.GetComponent <SpriteRenderer>().enabled         = false;
        J6.GetComponent <SpriteRenderer>().enabled         = false;
        J7.GetComponent <SpriteRenderer>().enabled         = false;
        J8.GetComponent <SpriteRenderer>().enabled         = false;
        J9.GetComponent <SpriteRenderer>().enabled         = false;
        J10.GetComponent <SpriteRenderer>().enabled        = false;
        J11.GetComponent <SpriteRenderer>().enabled        = false;
        K1.GetComponent <SpriteRenderer>().enabled         = false;
        K2.GetComponent <SpriteRenderer>().enabled         = false;
        K3.GetComponent <SpriteRenderer>().enabled         = false;
        K4.GetComponent <SpriteRenderer>().enabled         = false;
        K5.GetComponent <SpriteRenderer>().enabled         = false;
        K6.GetComponent <SpriteRenderer>().enabled         = false;
        K7.GetComponent <SpriteRenderer>().enabled         = false;
        K8.GetComponent <SpriteRenderer>().enabled         = false;
        K9.GetComponent <SpriteRenderer>().enabled         = false;
        K10.GetComponent <SpriteRenderer>().enabled        = false;
        K11.GetComponent <SpriteRenderer>().enabled        = false;
        float ratio = Screen.width / Screen.height;

        if (ratio < 2)
        {
            int screenx = 543;
            int screeny = 653;
        }
        else
        {
            int screenx = 743;
            int screeny = 853;
        }
    }
示例#19
0
            // Алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                for (int i = 0; i < N; i++)
                {
                    if (i == 0)
                    {
                        Model.Shops[i].ProductDemandCurrent.Value = (int)Model.NormalGenerator_VDS1.GenerateValue();
                    }
                    if (i == 1)
                    {
                        Model.Shops[i].ProductDemandCurrent.Value = (int)Model.NormalGenerator_VDS2.GenerateValue();
                    }

                    // Если спрос превысил текущий объем товара в магазине
                    if (Model.Shops[i].ProductAmountCurrent.Value < Model.Shops[i].ProductDemandCurrent.Value)
                    {
                        // Неудовлетворенный спрос
                        Model.Shops[i].ProductUnmetDemandCurrent.Value = Math.Abs(Model.Shops[i].ProductDemandCurrent.Value - Model.Shops[i].ProductAmountCurrent.Value);
                    }
                    else
                    {
                        // Если спрос меньше текущего объема товара, то вычитаем из объема товара объем спроса
                        Model.Shops[i].ProductAmountCurrent.Value    -= Model.Shops[i].ProductDemandCurrent.Value;
                        Model.Shops[i].ProductUnrealizedCurrent.Value = Model.Shops[i].ProductAmountCurrent.Value;
                    }

                    if (Model.Shops[i].ProductAmountCurrent.Value < Model.TV && Model.Shops[i].HasSendRequest == 0)
                    {
                        double deltaTime = i == 0 ? Model.ZR_TV_ValueGenerator1.GenerateValue() : Model.ZR_TV_ValueGenerator2.GenerateValue();
                        var    k2Event   = new K2
                        {
                            ShopNumber  = i,
                            DayOfSupply = DayNumber
                        };
                        Model.Shops[i].HasSendRequest.Value = 1;
                        Model.Shops[i].RequestsTotalCountCurrent.Value++;
                        Model.Shops[i].RequestsTotalCountAll.Value++;
                        Model.PlanEvent(k2Event, DayNumber + deltaTime);

                        // Занесение в файл трассировки записи о запланированном событии
                        Model.Tracer.PlanEventTrace(k2Event,
                                                    DayNumber + deltaTime,
                                                    k2Event.ShopNumber);
                    }

                    Model.Shops[i].ProductDemandAll.Value      += Model.Shops[i].ProductDemandCurrent.Value;          // спроса на товар
                    Model.Shops[i].ProductUnmetDemandAll.Value += Model.Shops[i].ProductUnmetDemandCurrent.Value;     // неудовлетворенного спроса на товар
                    Model.Shops[i].ProductUnrealizedAll.Value  += Model.Shops[i].ProductUnrealizedCurrent.Value;      // пролежанного товара
                }

                //Планирование следующего события окончания рабочего дня; НО!!!!
                //если время кончилось, планируем событие 3
                Model.Day++;
                if (Model.Day <= M)
                {
                    var k1Event = new K1
                    {
                        DayNumber = Model.Day
                    };
                    Model.PlanEvent(k1Event,
                                    1);
                    Model.Tracer.PlanEventTrace(k1Event,
                                                k1Event.DayNumber,
                                                "VS[" + Model.Shops[0].ProductDemandCurrent.Value + "," + Model.Shops[1].ProductDemandCurrent.Value + "]");
                }
                if (Model.Day % 7 == 0) // == 1
                {
                    var k3Event = new K3 {
                        NumberOfWeek = Model.Day / 7
                    };
                    Model.PlanEvent(k3Event, 0);
                    // Занесение в файл трассировки записи о запланированном событии
                    Model.Tracer.PlanEventTrace(k3Event,
                                                Model.Day / 7,
                                                Model.SVSTP.Value,
                                                Model.SVST.Value);
                }
                Model.TraceModel(DayNumber);
            }
示例#20
0
 public override Int32 GetHashCode()
 {
     return(K0.GetHashCode() ^ K1.GetHashCode());
 }
示例#21
0
            // алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                Model.Tracer.EventTrace(this, "VSP = " + Z.VSP);
                Model.T++;
                if (Z.VSP < Model.VT)
                {
                    Model.VT   -= Z.VSP;
                    Model.VPRT += Model.VT;
                }
                else
                {
                    Model.Q_LOST += Z.VSP - Model.VT;
                    Model.VT      = 0;
                }

                if (Model.VT < Model.ZTV)
                {
                    if (!Model.ZNP)
                    {
                        Model.ZNP    = true;
                        Model.Q_POP += 1;

                        Random rnd   = new Random();
                        double tempP = rnd.Next(0, 100) / 100.0;
                        double dt2   = 0;

                        if (tempP <= Model.P[0])
                        {
                            dt2 = Model.DAY[0];
                        }
                        else if (tempP > Model.P[0] && tempP <= Model.P[0] + Model.P[1])
                        {
                            dt2 = Model.DAY[1];
                        }
                        else if (tempP > Model.P[0] + Model.P[1] && tempP <= Model.P[0] + Model.P[1] + Model.P[2])
                        {
                            dt2 = Model.DAY[2];
                        }
                        else if (tempP > Model.P[0] + Model.P[1] + Model.P[2] && tempP <= Model.P[0] + Model.P[1] + Model.P[2] + Model.P[3])
                        {
                            dt2 = Model.DAY[3];
                        }
                        else
                        {
                            dt2 = Model.DAY[4];
                        }

                        Model.Tracer.AnyTrace("Пополнение через " + dt2 + " дней");

                        var ev2 = new K2();                                 // создание объекта события
                        Model.PlanEvent(ev2, dt2);                          // планирование события 3
                        Model.Tracer.PlanEventTrace(ev2);
                        Model.Tracer.AnyTrace("");
                        Model.TraceModel();
                        Model.Tracer.AnyTrace("");
                    }
                }

                var ev1 = new K1();                                 // создание объекта события

                Z.VSP = (int)Model.GenPurchase.GenerateValue();
                ev1.Z = Z;                                        // передача библиотекаря в событие
                double dt1 = 1.0;

                Model.PlanEvent(ev1, dt1);                          // планирование события 3
                Model.Tracer.PlanEventTrace(ev1);
                Model.Tracer.AnyTrace("");
                Model.TraceModel();
                Model.Tracer.AnyTrace("");
            }
示例#22
0
            // алгоритм обработки события
            protected override void HandleEvent(ModelEventArgs args)
            {
                Model.Tracer.AnyTrace(Model.TK + "\tK1");
                Model.TK++;
                for (int NU = 0; NU < KUVS; NU++)
                {
                    if (Model.KPP[NU].Count != 0)
                    {
                        Model.KPP[NU][0].Z.KK--;
                        Model.TSZ[NU]++;
                        if (Model.KPP[NU][0].Z.KK == 0)
                        {
                            // Переход к следующему этапу
                            if (Model.MZ[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE] == -1)
                            {
                                Model.KPP[NU][0].Z.NE = 1;
                                Model.KC[Model.KPP[NU][0].Z.NZ - 1]++;
                            }
                            else
                            {
                                Model.KPP[NU][0].Z.NE++;
                            }

                            // Обноление очередей для заявки
                            var rec = new QRec();
                            Model.GenKKZ.A = Model.MOKK[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE - 1];
                            rec.Z          = Model.KPP[NU][0].Z;
                            do
                            {
                                rec.Z.KK = Model.GenKKZ.GenerateValue();
                            }while (rec.Z.KK <= 0);

                            if ((int)Model.KPP[Model.MZ[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE - 1]].Count < (int)Model.MAXKPP[Model.MZ[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE - 1]])
                            {
                                Model.KPP[Model.MZ[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE - 1]].Add(rec);
                            }
                            else
                            {
                                Model.SQ[Model.MZ[Model.KPP[NU][0].Z.NZ - 1, Model.KPP[NU][0].Z.NE - 1]].Add(rec);
                            }
                            Model.KPP[NU].RemoveAt(0);

                            if (Model.SQ[NU].Count > 0 && Model.KPP[NU].Count < Model.MAXKPP[NU])
                            {
                                Model.KPP[NU].Add(Model.SQ[NU][0]);
                                Model.SQ[NU].RemoveAt(0);
                            }
                        }
                        else
                        {
                            var rec = new QRec();
                            rec.Z = Model.KPP[NU][0].Z;
                            Model.KPP[NU].RemoveAt(0);
                            Model.KPP[NU].Add(rec);
                        }
                    }
                }

                var    ev1 = new K1();              //создаём объект события
                double dt1 = Model.GenTime.GenerateValue();

                Model.PlanEvent(ev1, dt1);
                //Model.Tracer.PlanEventTrace(ev1);
                Model.Tracer.AnyTrace("+" + Model.TK + "\tK1");

                Model.LKPP[0].Value = Model.KPP[0].Count;
                Model.LKPP[1].Value = Model.KPP[1].Count;
                Model.LKPP[2].Value = Model.KPP[2].Count;

                Model.LSQ[0].Value = Model.SQ[0].Count;
                Model.LSQ[1].Value = Model.SQ[1].Count;
                Model.LSQ[2].Value = Model.SQ[2].Count;

                Model.TraceModel();
            }
示例#23
0
 public Key(K1 k1, K2 k2)
 {
     Key1 = k1;
     Key2 = k2;
 }