예제 #1
0
 public DataOfForm()
 {
     PictureNumber = 0;
     MultiDemSamples = new List<int[]>();
     TwoDemSamples = new List<int[]>();
     Parameters = new double[] {0,0};
     TwoDemPars = new double[] { 0, 0,0,0 };
     VarNeeded = true;
     MEDNeeded = true;
     Scaled = false;
     Gamma = new ArgFloatMM(0.05, "", "Ймовірність для довірчих інтервалів", "Ймовірність промаху функції розподілу повз довірчі інтервали", "<Size>");
     DistrCreated = false;
     TwoDemDistrCreated = false;
     TypeOfDistr = new ArgStr(PossibleDistributions.Distributions[0], "", "Виберіть тип розподілу", "Тип розподілу, який буде змодельовано", "<>", PossibleDistributions.Distributions);
     NumberOfNum = new ArgIntMM(5, "s", "Поточна вибіркаКількість знаків після коми", "Кількість знаків після коми, яка буде відображатися у оцінках, результатах обчислень та інш.", "<Size>");
     CurrentSample = new ArgIntMM(0, "s", "Поточна вибірка", "Виберіть вибірку, з якою будете працювати", "<Size>");
     TwoDemCurrentSample = new ArgIntMM(0, "s", "Поточна двовимірна вибірка ", "Виберіть двовимірну вибірку, з якою будете працювати", "<Size>");
     MultiDemCurrentSample = new ArgIntMM(0, "s", "Поточна багатовимірна вибірка ", "Виберіть багатовимірну вибірку, з якою будете працювати", "<Size>");
     //CurrentSample.setMin(0);  //CurrentSample.setMax(0);
     NameOfFile = null;
     DataForWork = new List<List<double>>();
     //TwoDemDataForWork = new List<List<double[]>>();
     NamesOfFiles =  new List<string>();
     TwoDemNamesOfFiles = new List<string>();
     StepBack = new List<List<ToolsForWork.Changing>>();
     EvalData = new Evaletions();
     TDEvalData = new TwoDemEvaletions();
     TwoDemStepBack = new List<List<ToolsForWork.Changing>>();
     MultiDemStepBack = new List<List<ToolsForWork.Changing>>();
 }
예제 #2
0
        static set()
        {
            hlpF = new ArgFlg(false, "?", "help", "to see this help");
            vF   = new ArgFlg(false, "v", "verbose", "additional info");

            Reg = new ArgStr("RUS", "r", "Region", "region blablabla", "RRR");
            Env = new ArgStr("DEV", "e", "Environment", "environment blablabla", "EEE");
            Mod = new ArgStr("", "m", "Modules", "list of modules for this process", "MLIST");
        }
예제 #3
0
 public DataOfHist()
 {
     NumberOfClassesChangedByUser = false;
     NumberOfClasses = new ArgIntMM(1, "s", "Кількість класів", "Кількість класів для гістограми", "<Size>");
     ColorOfHist = new ArgStr("Black", "p", "Колір гістограми", "Колір, яким будуть відображені стовпці гістограми", "<color>", PossibleColours.colours);
     ColorOfTheor = new ArgStr("Red", "p", "Колір статистично відтвореної функції щільності", "Колір, яким буде зображено статистично відтворену і масштабовану функцію щільності після моделювання","", PossibleColours.colours);
     NumberOfClasses.setMin(1);
     MinLimit = 0;
     MaxLimit = 0;
     Step = 0;
 }
예제 #4
0
 static ResourcesGenerator()
 {
     hlpF   = new ArgFlg(false, "?", "help", "to see this help");
     vF     = new ArgFlg(false, "v", "verbose", "additional info");
     dbgF   = new ArgFlg(false, "d", "debug", "debug mode");
     logLvl = new ArgIntMM(1, "l", "log", "log level", "LLL");
     logLvl.setMin(1);
     logLvl.setMax(8);
     flNm = new ArgStr("none", "f", "file", "data file, if not set - list (recourceNm, fileNm) from stdin", "FLNM");
     resx = new ArgStr(".r.resx", "r", "resx", "resurce file", "RFNM");
 }
예제 #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            ArgStr       Type         = new ArgStr("", "p", "Ім'я нового міста", "Напишіть назву міста, що бажаєте заснувати", "");
            ArgInt       CreationDate = new ArgInt(1000, "p", "Дата заснування", "Рік, у якому було засноване місто", "");
            OkCancelDlg  it           = new OkCancelDlg("Заснування міста", null, Type, CreationDate);
            DialogResult rc           = it.ShowDialog();

            if (rc == DialogResult.OK)
            {
                MyCont.FoundCity(Type, CreationDate);
            }
        }
예제 #6
0
 private void _read()
 {
     _opcode = ((EnumIf.Opcodes)m_io.ReadU1());
     if (Opcode == EnumIf.Opcodes.ATuple)
     {
         _argTuple = new ArgTuple(m_io, this, m_root);
     }
     if (Opcode == EnumIf.Opcodes.AString)
     {
         _argStr = new ArgStr(m_io, this, m_root);
     }
 }
 private void _read()
 {
     _opcode = m_io.ReadU1();
     if (Opcode == 84)
     {
         _argTuple = new ArgTuple(m_io, this, m_root);
     }
     if (Opcode == 83)
     {
         _argStr = new ArgStr(m_io, this, m_root);
     }
 }
예제 #8
0
        public static double ComputeDistr(ArgStr TypeOF, double x, double[] par)
        {
            switch (TypeOF)
            {
            case "Експоненціальний":
            {
                return(ComputeDistrExp(x, par));
            }

            case "Нормальний":
            {
                return(ComputeFi((x - par[0]) / par[1]));
            }

            case "Релея":
            {
                return(ComputeDistrRel(x, par));
            }

            case "Релея - старий":
            {
                return(ComputeDistrRel(x, par));
            }

            case "Арксинуса":
            {
                return(ComputeDistrArc(x, par));
            }

            case "Арксинуса - старий":
            {
                return(ComputeDistrArc(x, par));
            }

            case "Лапласа":
            {
                return(ComputeDistrLaps(x, par));
            }

            case "Рівномірний":
            {
                return(ComputeDistrRivn(x, par));
            }

            case "Вейбулла":
            {
                return(ComputeDistrVieb(x, par));
            }

            default: return(0);
            }
        }
예제 #9
0
 public DataOfDsitrFun()
 {
     DistrFunction = null;
     ColorOfLimits = new ArgStr("DarkGreen", "p", "Колір довірчих інтервалів", "Цим кольором будуть малюватися довірчі інтервали після відтворення розподілу", "<color>", PossibleColours.colours);
     ColorOfTheorFunc = new ArgStr("Grey", "p", " Колір статистично відтвореної функції розподілу", "Цим кольором буде малюватися статистична функція розподілу після відтворення розподілу", "<color>", PossibleColours.colours); 
     ColorOfEmpFunc = new ArgStr("Red", "p", "Колір емпіричної функції розподілу", "Цим кольором буде зображено емпіричну функцію розподілу", "<color>", PossibleColours.colours);
     ColorOfClassFunc = new ArgStr("Black", "p", "Колір емпіричної функції розподілу, розбитої на класи", "Цим кольором буде зображено емпіричну функцію розподілу, розбиту на класи", "<color>", PossibleColours.colours); 
     NumberOfClassesChangedByUser = false;
     NumberOfClasses = new ArgIntMM(1, "s", "Кількість класів", "Кількість класів для емпіричної функції розподілу, розбитої на класи", "<Size>");
     NumberOfClasses.setMin(1);
     MinLimit = 0;
     MaxLimit = 0;
     Step = 0;
 }
예제 #10
0
//        static public ArgIntMM  max ;
//        static public ArgInt   sleep ;
//        static public int     current = 3;

        static Program()
        {
            hlpF   = new ArgFlg(false, "?", "help", "to see this help");
            vF     = new ArgFlg(false, "v", "verbose", "additional info");
            dbgF   = new ArgFlg(false, "d", "debug", "debug mode");
            nm     = new ArgStr("eeee", "t", "text", "parameter for text", "tttt");
            num    = new ArgFloat(1.0, "n", "number", "parameter for float");
            logLvl = new ArgIntMM(1, "l", "log", "log level", "LLL");
//           sleep  =  new ArgIntMM(125,  "s",  "sleep",   "msecs to sleep", "SSS");
            logLvl.setMin(1);
            logLvl.setMax(8);
//           max =  new ArgIntMM(1000,  "m",  "max",   "to count prime numbers up to MAX", "MAX");
//           max.setMin(1);
        }
예제 #11
0
        static public int current = 3; ///<текущий претендент на выполнение свойства быть простым числом

        static Program()               /// статический конструктор
        {
            string lLvl = "log level names:{" + Loger.ILList() + "}";

            hlpF   = new ArgFlg(false, "?", "help", "to see this help");
            vF     = new ArgFlg(false, "v", "verbose", "additional info");
            dbgF   = new ArgFlg(false, "d", "debug", "debug mode");
            logLvl = new ArgIntMM(1, "l", "log", "log level", "LLL");
            logNm  = new ArgStr("Error", "ln", "logName", lLvl, "NNN");
            sleep  = new ArgIntMM(125, "s", "sleep", "msecs to sleep", "SSS");
            logLvl.setMin(1);
            logLvl.setMax(8);
            max = new ArgIntMM(1000, "m", "max", "to count prime numbers up to MAX", "MAX");
            max.setMin(1);
        }
예제 #12
0
        private void button2_Click(object sender, EventArgs e)
        {
            ArgStr       Type       = new ArgStr("", "p", "І'мя  великої людини", "Напишіть і'мя  великої людини, якого бажаєте створити", "");
            ArgStr       BirthPlace = new ArgStr("", "p", "Місце народження", "Виберіть місто, у якому народилася ця людина", "", MyCont.CitiesArr);
            ArgInt       BirthDate  = new ArgInt(1000, "p", "Дата народження", "Рік, у якому ця людина народилася", "");
            OkCancelDlg  it         = new OkCancelDlg("Народження великої людини", null, Type, BirthPlace, BirthDate);
            DialogResult rc         = it.ShowDialog();

            if (!MyCont.CitiesArr.ToList().Contains(BirthPlace))
            {
                textBox1.Text += "Such town doesnt exist" + Environment.NewLine;
                return;
            }
            if (rc == DialogResult.OK)
            {
                MyCont.BirthOfMan(Type, BirthPlace, BirthDate);
            }
        }
예제 #13
0
        private void button3_Click(object sender, EventArgs e)
        {
            ArgStr       Type          = new ArgStr("", "p", "Назва нового шедевру", "Напишіть назву шедевру, що бажаєте створити", "");
            ArgStr       CreationPlace = new ArgStr("", "p", "Місце створення", "Виберіть місто, у якому було створено цей шедевр", "", MyCont.CitiesArr);
            ArgStr       Author        = new ArgStr("", "p", "Автора шедевру", "Виберіть людину, яка створила цей шедевр", "", MyCont.AuthorsArr);
            ArgInt       Year          = new ArgInt(1000, "p", "Дата створення", "Рік, у який було сворено цей шедевр", "");
            OkCancelDlg  it            = new OkCancelDlg("Створення шедевру", null, Type, CreationPlace, Author, Year);
            DialogResult rc            = it.ShowDialog();

            if (!MyCont.CitiesArr.ToList().Contains(CreationPlace) || !MyCont.AuthorsArr.ToList().Contains(Author))
            {
                textBox1.Text += "Such town or author doesnt exist" + Environment.NewLine;
                return;
            }
            if (rc == DialogResult.OK)
            {
                MyCont.CreationOfMasterpiece(Type, CreationPlace, Author, Year);
            }
        }
예제 #14
0
        static public ArgFlg tsk2;        ///<  пример ключа для выбора работы2,
                                          ///< один из ключей обязан быть в командной строке.

        static Program()                  ///< статический конструктор для глобальных переменных
        {
            hlpF      = new ArgFlg(false, "?", "help", "to see this help");
            vF        = new ArgFlg(false, "v", "verbose", "additional info");
            dbgF      = new ArgFlg(false, "d", "debug", "debug mode");
            tsk1      = new ArgFlg(false, "t1", "workOne", "to do some work");
            tsk1.show = false;
            tsk2      = new ArgFlg(false, "t2", "workNext", "to do another work");
            tsk2.show = false;
            //  dbgF.required = true;
            logLvl = new ArgIntMM(1, "l", "log", "log level", "LLL");
            logLvl.setMin(1);
            logLvl.setMax(8);

            //logLvl.show = false;
            flNm          = new ArgStr("somefile.dat", "f", "file", "data file", "FLNM");
            flNm.required = true;
//           flNm.show = false;

            perCent = new ArgFloatMM(0.05, "p", "percent", "percent for something", "PPP");
            perCent.setMax(100.0);
        }
예제 #15
0
 //递归方法,进行具体计算方法的选择。选择调用 GetValueForOne,GetValueForTwo,GetValueForThree
 private void GetValueByFormule(string ArgStr)//,string parentStr)
 {
     if (ArgStr == "F2370001")
     {
         ArgStr = ArgStr;
     }
     if (ArgStr.Equals("F159"))
     {
         for (int i = 0; i < 2; i++)
         {
             int ii = 0;
         }
     }
     if (!ValueHs.ContainsKey(ArgStr))
     {
         string FormulaStr = FormulaHs[ArgStr].ToString().ToUpper(); //取出公式
         //如果是直接取数,直接根据点名去hashtable中取数
         #region
         if (getArgRegex.Match(FormulaStr).Success)
         {
             double tempvalue = GetValueForOne(ArgStr);
             ValueHs.Add(ArgStr, tempvalue.ToString());
         }
         #endregion
         else
         {
             //解析参数。
             #region
             string[] formulaStrArr  = FormulaStr.Split('$');
             string   tempformulaStr = "";
             #region
             for (int i = 0; i < formulaStrArr.Length; i++)
             {
                 if (i % 2 == 0)
                 {
                     tempformulaStr += formulaStrArr[i].ToString();
                 }
                 else
                 {
                     string tempArgStr = formulaStrArr[i].ToString();
                     //判断用到的参数是否已经计算
                     if (!ValueHs.ContainsKey(tempArgStr))
                     {
                         #region
                         //    //-------------------------------------------------------
                         //    if(badValueHs.ContainsKey(ArgStr))
                         //    {
                         //        if (badValueHs[ArgStr].ToString().Contains(tempArgStr+","))
                         //        {
                         //            WriteLog.WriteLogs("出现死循环");
                         //            break;
                         //        }
                         //        string tempStr = badValueHs[tempArgStr].ToString() + tempArgStr + ",";
                         //        badValueHs.Remove(ArgStr);
                         //        badValueHs.Add(ArgStr,tempStr);
                         //    }else
                         //    {
                         //        badValueHs.Add(ArgStr, tempArgStr + ",");
                         //    }
                         //-------------------------------------------------------
                         #endregion
                         GetValueByFormule(tempArgStr); //递归调用
                         //tempformulaStr += ValueHs[tempArgStr].ToString();
                     }
                     //如果该参数已经计算,看是否是-9999
                     if (Convert.ToDouble(ValueHs[tempArgStr].ToString()) == ConstYXYH.ReplaceValue)
                     {
                         DataRow[] dtrarr = dtTagsSet.Select("ExcelCell='" + tempArgStr + "'");
                         //ValueHs.Remove(tempArgStr);
                         //ValueHs.Add(tempArgStr,dtrarr[0]["setvalue"]);
                         if (string.IsNullOrEmpty(dtrarr[0]["setvalue"].ToString()))
                         {
                             int a = 0;
                             ValueHs.Add(ArgStr, ConstYXYH.ReplaceValue);
                             return;
                         }
                         tempformulaStr += dtrarr[0]["setvalue"];
                     }
                     else
                     {
                         tempformulaStr += ValueHs[tempArgStr].ToString();
                     }
                 }
                 //tempformulaStr += ValueHs[tempArgStr].ToString();
             }
             #endregion
             if (mathRegex.Match(FormulaStr).Success) //如果是数学计算
             {
                 double tempvalue = GetValueForThree(tempformulaStr.Replace('[', '(').Replace(']', ')'));
                 ValueHs.Add(ArgStr, tempvalue);
                 //if(badValueHs.ContainsKey(ArgStr))
                 //{badValueHs.Remove(ArgStr);}
             }
             else
             {
                 double tempvalue = GetValueForTwo(tempformulaStr);
                 ValueHs.Add(ArgStr, tempvalue);
                 //if (badValueHs.ContainsKey(ArgStr))
                 //{ badValueHs.Remove(ArgStr); }
             }
             #endregion
         }
     }
 }