public Formula Create()
        {
            int             sum = 0;
            int             i;
            FormulaOperator operation;
            Formula         formula = new Formula();

            for (i = 0; i <= countOfOperations; i++)
            {
                if (i == 0)
                {
                    operation        = new FormulaOperator();
                    operation.Number = random.Next(numberRange.Min, numberRange.Max);
                    sum = sum + operation.Number;
                    formula.AddOperator(operation);
                }
                else
                {
                    if (random.Next(0, 1) > 0)
                    {
                        operation        = new FormulaOperator();
                        operation.Method = FormulaMethod.Addition;
                        operation.Number = random.Next(numberRange.Min, numberRange.Max);
                        sum = sum + operation.Number;
                        formula.AddOperator(operation);

                        CheckSum(ref sum, formula);
                    }
                    else
                    {
                        operation        = new FormulaOperator();
                        operation.Method = FormulaMethod.Subtraction;
                        operation.Number = random.Next(numberRange.Min, numberRange.Max);
                        sum = sum - operation.Number;
                        formula.AddOperator(operation);

                        CheckSum(ref sum, formula);
                    }
                }
            }



            formula.Result = sum;

            return(formula);
        }
        protected virtual void GenerateFormulaArray(System.Collections.ArrayList list)
        {
            int i, k;

            for (i = this.numberRange1.Min; i <= this.numberRange1.Max; i++)
            {
                for (k = this.numberRange2.Min; k <= this.numberRange2.Max; k++)
                {
                    Formula formula = new Formula();
                    formula.AddOperator(FormulaOperator.NoneOperator(i));
                    formula.AddOperator(FormulaOperator.MultiplicationOperator(k));
                    formula.Result = i * k;

                    list.Add(formula);
                }
            }
        }
Пример #3
0
        protected override void GenerateFormulaArray(ArrayList list)
        {
            int i, k;

            for (i = this.NumberRange1.Min; i <= this.NumberRange1.Max; i++)
            {
                for (k = this.NumberRange2.Min; k <= this.NumberRange2.Max; k++)
                {
                    int     leftValue = i * k;
                    Formula formula   = new Formula();
                    formula.AddOperator(FormulaOperator.NoneOperator(leftValue));
                    formula.AddOperator(FormulaOperator.DivisionOperator(i));
                    formula.Result = k;

                    list.Add(formula);
                }
            }
        }