Ejemplo n.º 1
0
            static void Count(Fractions a, Fractions x, Fractions y)
            {
                int nok = NOK(a.den, x.den);

                y.den = nok;
                y.num = Comm(a.num, a.den, nok) - Comm(x.num, x.den, nok);
            }
Ejemplo n.º 2
0
            //Simplifying fractions(Упрощение дроби)
            static void SetSimply(Fractions y)
            {
                int nod = NOD(y.den, y.num);

                y.den = y.den / nod;
                y.num = y.num / nod;
            }
Ejemplo n.º 3
0
 //Получение целого
 static void GetInteger(Fractions y)
 {
     for (int i = 0; y.num > y.den; y.integer = ++i)
     {
         y.num -= y.den;
     }
 }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            #region Дроби
            int a1;
            int b1;
            int a2;
            int b2;
            #endregion
            //Hello
            Console.WriteLine("Привет! Данная программа поможет" +
                              "осуществить вычисления между дробями");
            Console.Write("Введите числитель первой дроби: ");
            int.TryParse(Console.ReadLine(), out a1);
            Console.Write("Введите знаменатель первой дроби: ");
            int.TryParse(Console.ReadLine(), out b1);
            Console.Write("Введите числитель второй дроби: ");
            int.TryParse(Console.ReadLine(), out a2);
            Console.Write("Введите знаменатель второй дроби: ");
            int.TryParse(Console.ReadLine(), out b2);
            Fractions frs1 = new Fractions(a1, b1);
            Fractions frs2 = new Fractions(a2, b2);
            Fractions frs3 = new Fractions();

            frs3 = frs1.Plus(frs2);
            frs3.ShowRes();
            frs3 = frs2.Minus(frs1);
            frs3.ShowRes();
            frs3 = frs2.Multiplication(frs1);
            frs3.ShowRes();
            frs3 = frs2.Division(frs1);
            frs3.ShowRes();


            Console.ReadLine();
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Calculates the fraction portion of arithmetic equation
 /// </summary>
 /// <param name="numD">D's numerator</param>
 /// <param name="denD">D's denominator</param>
 /// <param name="d">Value of D</param>
 /// <param name="a">Value of A</param>
 /// <param name="sum">Value of sum</param>
 /// <param name="numA">Store for A's numerator value as a reference value</param>
 /// <param name="denA">Store for A's denominator value as a reference value</param>
 public static void CalctulateFraction(double numD, double denD, double d, double a, double sum, ref double numA, ref double denA)
 {
     Fractions.CalculateFraction(new double[] { numD, d }, new int[] { (int)denD, 1 }, ref numA, ref denA, '*');
     Fractions.Shorten(ref numA, ref denA);
     Fractions.CalculateFraction(new double[] { sum, -numA }, new int[] { 1, (int)denA }, ref numA, ref denA, '+');
     Fractions.CalculateFraction(new double[] { numA, a }, new int[] { (int)denA, 1 }, ref numA, ref denA, '/');
 }
Ejemplo n.º 6
0
            //Realize methods (Методы вычислений)
            public Fractions Plus(Fractions x)
            {
                Fractions y = new Fractions();

                Console.WriteLine("Сумма дробей: ");

                if (den == x.den)
                {
                    y.den = den;
                    y.num = num + x.num;
                }
                //We need to set all fractions to one denominator
                else
                {
                    //find equal denominator
                    int EqualDen = 0;
                    for (int i = 1; i % den != 0 | i % x.den != 0; EqualDen = ++i)
                    {
                        ;
                    }
                    //reduce to a common denominator
                    y.num = (num * (EqualDen / den)) + (x.num * (EqualDen / x.den));
                    y.den = EqualDen;
                }
                //simplifying fractions
                SetSimply(y);
                GetInteger(y);
                return(y);
            }
Ejemplo n.º 7
0
        static bool Validate(string buffer, out float?amountLow, out float amountHigh)
        {
            decimal resultHigh;

            amountLow = null;

            var parts = buffer.Split('-'); //Look for potential range

            if (parts.Length == 1)
            {
                if (Fractions.TryParseFraction(buffer, out resultHigh))
                {
                    amountHigh = (float)resultHigh;
                    return(true);
                }
            }

            if (parts.Length == 2)
            {
                decimal resultLow;

                if (Fractions.TryParseFraction(parts[0], out resultLow) &&
                    Fractions.TryParseFraction(parts[1], out resultHigh))
                {
                    amountLow  = (float?)resultLow;
                    amountHigh = (float)resultHigh;
                    return(true);
                }
            }

            amountHigh = 0;
            return(false);
        }
        public void VerifyIrrationalGetsRightResult()
        {
            Fractions.Fraction actual = Fractions.RealToFraction(3.14159);

            actual.N.Should().Be((int)238_010);
            actual.D.Should().Be((int)75_761);
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            Fractions myF = new Fractions(107.6372);

            myF.ShowParts();
            Console.ReadKey();
        }
Ejemplo n.º 10
0
 public override void Establish(Unit unit)
 {
     myFraction = unit.Fraction;
     parentID   = unit.ID;
     weapon.Establish(unit);
     SetState((int)TurretStates.Activ);
     base.Establish(unit);
 }
Ejemplo n.º 11
0
 public BaseGameObject(GameObjectView obj, float maxHp, float speed, float pover, Fractions fraction)
 {
     Object        = obj;
     CurrentHp     = MaxHp = maxHp;
     Speed         = speed;
     Pover         = pover;
     Fraction      = fraction;
     obj.getDamage = GetDamage;
 }
        public void VerifyRepeatingGetsRightResult()
        {
            double n   = 1;
            double d   = 3;
            double dbl = n / d;

            Fractions.Fraction actual = Fractions.RealToFraction(dbl);

            actual.N.Should().Be((int)n);
            actual.D.Should().Be((int)d);
        }
 public override void Load()
 {
     Fractions.Reset(
         from fraction in mRepository?.GetAll <Fraction>() ?? new Fraction[0]
         orderby fraction.SortOrder ascending
         let viewModel = new FractionViewModel(mRepository)
     {
         Owner = this,
         Model = fraction
     }
         select viewModel);
 }
Ejemplo n.º 14
0
            public Fractions Division(Fractions x)
            {
                Fractions y = new Fractions();

                Console.WriteLine("Отношение дробей: ");
                y.num = num * SwapNum(x.num, x.den);
                y.den = den * SwapDen(x.num, x.den);
                //simplifying fractions
                SetSimply(y);
                GetInteger(y);
                return(y);
            }
Ejemplo n.º 15
0
            public Fractions Multiplication(Fractions x)
            {
                Fractions y = new Fractions();

                Console.WriteLine("Произведенние дробей: ");
                y.num = num * x.num;
                y.den = den * x.den;
                //simplifying fractions
                SetSimply(y);
                GetInteger(y);
                return(y);
            }
Ejemplo n.º 16
0
 public EgyptianFractions Calculate()
 {
     if (numerator == 0)
     {
         return(this);
     }
     AddFraction(NextFraction);
     if (Value < (double)numerator / denominator)
     {
         var remaining = new EgyptianFractions(RemainingNumerator, RemainingDenominator);
         remaining.Calculate();
         Fractions.AddRange(remaining.Fractions);
     }
     return(this);
 }
Ejemplo n.º 17
0
    public FractionsData()
    {
        var temp = Resources.LoadAll <FractionScriptable>("Data/Fractions/").ToList();

        Fractions = temp.Where(x => x.Name != "neutral").ToList <IFraction>();
        Fractions.Add(temp.Where(x => x.Name == "neutral").First()); //Добавить нейтралов последними в список фракций

        if (Fractions.Count > 0)
        {
            CurrentFraction = Fractions[0];
        }
        else
        {
            Debug.LogError("Fractions not found!");
        }
    }
Ejemplo n.º 18
0
        public void TestFractions()
        {
            Assert.AreEqual("10 1/2", Fractions.FromDecimal(10.5m));
            Assert.AreEqual("1 1/3", Fractions.FromDecimal(1.333m));
            Assert.AreEqual("1/4", Fractions.FromDecimal(.25m));
            Assert.AreEqual("1/3", Fractions.FromDecimal(.3334m));
            Assert.AreEqual("3", Fractions.FromDecimal(3m));
            Assert.AreEqual("0", Fractions.FromDecimal(0m));
            Assert.AreEqual("0.1", Fractions.FromDecimal(.123m));

            Assert.AreEqual(1, Fractions.ParseFraction("1.0"));
            Assert.AreEqual(1, Fractions.ParseFraction("1"));
            Assert.AreEqual(.5, Fractions.ParseFraction("1/2"));
            Assert.AreEqual(1.5, Fractions.ParseFraction("1 1/2"));
            Assert.AreEqual(1, Fractions.ParseFraction("2/2"));
            Assert.AreEqual(1m / 3, Fractions.ParseFraction("1/3"));
            Assert.AreEqual(10.5, Fractions.ParseFraction("10 50/100"));
        }
Ejemplo n.º 19
0
        public IEnumerator Damage(Card card, Card otherPlayer, bool isSurge, Keyword powerSurge, Keyword shielded,
                                  Keyword elusive, bool isBossFight, BoolReference isVictory, Networking.Player player)
        {
            var damage = card.Value;

            if (isSurge)
            {
                damage = card.Value + otherPlayer.Value;
            }

            if (!Fractions.Intersect(card.Fractions).Any())
            {
                damage = 1;
            }

            if (isSurge && card.HasKeyword(powerSurge))
            {
                Debug.Log($"{card.NameId} had powersearch");
                damage = card.Value + otherPlayer.Value;
            }

            if (HasKeyword(shielded) && card.Fractions.Count > 1)
            {
                Debug.Log($"{_data.NameId} was shielded");
                damage = 1;
            }

            if (HasKeyword(elusive))
            {
                Debug.Log($"{_data.NameId} was elusive");
                damage = 1;
            }

            Debug.Log($"{_data.NameId} took {damage} damage");
            Value          -= damage;
            Value           = Mathf.Max(0, Value);
            isVictory.Value = isBossFight && Value == 0;
            FeedbackManager.Instance.TriggerFeedback(player, -damage);
            yield return(new WaitForEndOfFrame());

            // TODO: Damage Animation
            // TODO: Damage Special Effect
        }
Ejemplo n.º 20
0
        public void TestFractions()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Assert.AreEqual("10 1/2", Fractions.FromDecimal(10.5m));
            Assert.AreEqual("1 1/3", Fractions.FromDecimal(1.333m));
            Assert.AreEqual("1/4", Fractions.FromDecimal(.25m));
            Assert.AreEqual("1/3", Fractions.FromDecimal(.3334m));
            Assert.AreEqual("3", Fractions.FromDecimal(3m));
            Assert.AreEqual("0", Fractions.FromDecimal(0m));
            Assert.AreEqual("0.1", Fractions.FromDecimal(.123m));

            Assert.AreEqual(1, Fractions.ParseFraction("1.0"));
            Assert.AreEqual(1, Fractions.ParseFraction("1"));
            Assert.AreEqual(.5, Fractions.ParseFraction("1/2"));
            Assert.AreEqual(1.5, Fractions.ParseFraction("1 1/2"));
            Assert.AreEqual(1, Fractions.ParseFraction("2/2"));
            Assert.AreEqual(1m / 3, Fractions.ParseFraction("1/3"));
            Assert.AreEqual(10.5, Fractions.ParseFraction("10 50/100"));
        }
Ejemplo n.º 21
0
        public static Controlled <string, ArgumentException> Sequence(double[] top, double[] bot, double[] sum) // It only works with a1 elements for now. Ex. (a3+a6=8 | a2-a7=16)
        {
            var ctrl = new Controlled <string, ArgumentException>();

            if (sum.Length != 2) // Checks of the sum array has only 2 elements
            {
                ctrl.Exception = new ArgumentException("The sum can have only 2 elements");
            }

            double denD = 0, numD = 0;
            double numA = 0, denA = 0;
            double a, d;

            CalculateSequence(top, bot, sum, ref numA, ref denA, ref numD, ref denD);

            if (numA % denA == 0 && numD % denD == 0) // Checks if you can devide the numbers and if you can it devides them and ctrl.ReturnValue =s the answer.
            {
                a = numA / denA;
                d = numD / denD;
                ctrl.ReturnValue = $"a = {a} d = {d}";
            }
            else if (numA % denA == 0 && numD % denD != 0)
            {
                a = numA / denA;
                Fractions.Shorten(ref numD, ref denD);
                ctrl.ReturnValue = $"a = {a} + d =  {numD}/{denD}";
            }
            else if (numA % denA != 0 && numD % denD == 0)
            {
                d = numD / denD;
                Fractions.Shorten(ref numA, ref denA);
                ctrl.ReturnValue = $"a = {numA}/{denA} d = {d}";
            }
            else
            {
                Fractions.Shorten(ref numD, ref denD);
                Fractions.Shorten(ref numA, ref denA);
                ctrl.ReturnValue = $"a = {numA}/{denA } d = {numD}/{denD}";
            }

            return(ctrl);
        }
Ejemplo n.º 22
0
            public Fractions Minus(Fractions x)
            {
                Fractions y = new Fractions();

                Console.WriteLine("Разница дробей: ");
                if (den == x.den)
                {
                    y.den = den;
                    y.num = num - x.num;
                }
                else
                {
                    Count(this, x, y);
                }
                if (y.num < 0)
                {
                    y.num   = Math.Abs(y.num);
                    y.minus = '-';
                }
                //simplifying fractions
                SetSimply(y);
                GetInteger(y);
                return(y);
            }
Ejemplo n.º 23
0
 public override void Establish(Unit unit)
 {
     myFraction = unit.Fraction;
     base.Establish(unit);
 }
 public void ResetAll()
 {
     Fractions?.Foreach(x => x.Items.Foreach(y => y.Count = 0));
 }
Ejemplo n.º 25
0
 public void SetFraction(Fractions Fraction, int UnitID)
 {
     fraction         = Fraction;
     parentInstanceID = UnitID;
 }
Ejemplo n.º 26
0
 public IFraction GetFraction(string name) => Fractions.Where(x => x.Name == name).First();