public Calculo CalculaDivida(Calculo calculo)
        {
            if (calculo != null)
            {
                calculo.valoresDivida.diasAtraso = (DateTime.Now - Convert.ToDateTime(calculo.valoresDivida.dataVencimento)).Days;
                if (calculo.configuracaoDinamica.tipoJuros == "Simples")
                {
                    calculo.valoresDivida.valorJuros = new Calculo().calculaJurosSimplesComissao(calculo);
                }
                else
                {
                    calculo.valoresDivida.valorJuros = new Calculo().calculaJurosCompostoComissao(calculo);
                }
                calculo.valoresDivida.valorFinal          = calculo.valoresDivida.valorOriginal + calculo.valoresDivida.valorJuros;
                calculo.valoresDivida.valorComissao       = (calculo.valoresDivida.valorFinal) * (calculo.configuracaoDinamica.porcentagemComissao / 100);
                calculo.valoresDivida.telefoneColaborador = "(19) 8854-4854";

                //CALCULANDO VALOR DAS PARCELAS
                calculo.valoresDivida.valorCadaParcela = new List <ValorCadaParcela>();

                var valorCadaParcela = calculo.valoresDivida.valorFinal / calculo.configuracaoDinamica.quantidadeMaximaParcelas;

                for (var i = 0; i < calculo.configuracaoDinamica.quantidadeMaximaParcelas; i++)
                {
                    var x = new ValorCadaParcela();

                    x.numeroParcela  = i + 1;
                    x.valorParcela   = valorCadaParcela;
                    x.dataVencimento = DateTime.Now.AddDays(1).AddMonths(i).ToString("dd/MM/yyyy");

                    calculo.valoresDivida.valorCadaParcela.Add(x);
                }
            }
            return(calculo);
        }
Beispiel #2
0
        public double CalcularExpresion(string expresion, double x, Boolean imprimir)
        {
            expresion = expresion.Replace(",", ".");
            if (imprimir == true)
            {
                richTextBox_Pasos_Calculo.Text += "\n\n";
                richTextBox_Pasos_Calculo.Text += "P(K) = " + expresion;
            }

            while (expresion.Contains("("))

            {
                int    IndexPrimerParentesisAbierto = expresion.IndexOf('(');
                int    IndexPrimerParentesisCerrado = expresion.IndexOf(')');
                string exprecionInteraAResolver     = expresion.Substring(IndexPrimerParentesisAbierto + 1, IndexPrimerParentesisCerrado - IndexPrimerParentesisAbierto - 1);


                double  fxInterna;
                Calculo AnalizadorDeFuncionesInterna = new Calculo();

                if (AnalizadorDeFuncionesInterna.Sintaxis(exprecionInteraAResolver, 'x'))
                {
                    fxInterna = AnalizadorDeFuncionesInterna.EvaluaFx(x);

                    expresion = expresion.Replace(expresion.Substring(IndexPrimerParentesisAbierto, IndexPrimerParentesisCerrado - IndexPrimerParentesisAbierto + 1), Math.Round(fxInterna, 10).ToString()).Replace(",", ".");
                }
                else
                {
                    MessageBox.Show("Mal la sintaxis de la funcionInterna");
                    // aquí mensaje de error en sintaxis
                }
            }

            if (imprimir == true)
            {
                richTextBox_Pasos_Calculo.Text += "\n\n";
                richTextBox_Pasos_Calculo.Text += "P(" + x.ToString() + ") = " + expresion;
            }
            double  fx;
            Calculo AnalizadorDeFunciones = new Calculo();

            if (AnalizadorDeFunciones.Sintaxis(expresion, 'x'))
            {
                fx = AnalizadorDeFunciones.EvaluaFx(x);

                if (imprimir == true)
                {
                    richTextBox_Pasos_Calculo.Text += "\n\n";
                    richTextBox_Pasos_Calculo.Text += "P(" + x.ToString() + ") = " + Math.Round(fx, 10).ToString();
                }
                return(Math.Round(fx, 10));
            }
            else
            {
                MessageBox.Show("Mal la sintaxis de la funcion");
                // aquí mensaje de error en sintaxis
            }
            return(-1);
        }
        public static double Duracion(this Calculo Tabla)
        {
            double sumFAxPlazo = 0, sumFlujoAct = 0;

            sumFAxPlazo = Tabla.tabla.Sum(x => x.FAxPlazo);
            sumFlujoAct = Tabla.tabla.Sum(x => x.FlujoActivo);
            return(sumFAxPlazo / sumFlujoAct);
        }
Beispiel #4
0
        public void SomarDoisNumerosRelativos_RetornarNumeroRelativo(int num1, int num2, int valorEsperado)
        {
            //Act
            var resultado = Calculo.Somar(num1, num2);

            //Assert
            Assert.AreEqual(valorEsperado, resultado);
        }
        public void TestaCalculoJuros_QuandoInforma100Valor5Tempo_Retorna10501()
        {
            Calculo novoCalculo = new Calculo();

            decimal result = novoCalculo.calculaJuros(100, 5, 2);

            Assert.AreEqual(result, 105.01);
        }
        public void AplicarMetodo()
        {
            calculo = new Calculo();
            calculo.Sintaxis(Funcion, 'x');
            double h = (B - A) / N;

            Resultado = (h / 3) * (calculo.EvaluaFx(A) + 4 * calculo.EvaluaFx((A + B) / 2) + calculo.EvaluaFx(B));
        }
Beispiel #7
0
        private void ExecSoma(CalculadoraServerClient service, float num1, float num2)
        {
            var result = service.soma(num1, num2);
            var calc   = new Calculo(num1, num2, operacao, result);

            listBox1.Items.Add(calc.ToString());
            LimparCalculo();
        }
        public Calculo RealizarCalculo(CalcularSalarioCommand command)
        {
            Funcionario funcionario = new Funcionario(command.MatriculaFuncionario, command.ValorHora);
            Calculo     calculo     = new Calculo(funcionario, command.HorasTrabalhadas, command.HorasComPericulosidade);

            _calculoRepository.Salvar(calculo);
            return(calculo);
        }
Beispiel #9
0
 public override decimal Calcular(Calculo calculo)
 {
     if (calculo.Numero2 == 0)
     {
         throw new Exception("Não é possível realizar uma divisão por 0!");
     }
     return(calculo.Numero1 / calculo.Numero2);
 }
 public TraprecioSimple(String aux_ecuacion, double limit_sup, double limit_inf, int aux_part)
 {
     this.ecuacion        = aux_ecuacion;
     this.limite_superior = limit_sup;
     this.limite_inferior = limit_inf;
     this.particiones     = aux_part;
     lector_de_ecuaciones = new Calculo();
 }
Beispiel #11
0
 public IActionResult Post([FromServices] Calculo calculo, [FromBody] CadastroDto cadastro)
 {
     if (ModelState.IsValid)
     {
         var resultado = calculo.Realizar(cadastro.Parcela, cadastro.Valor);
         return(Json(resultado.ToString("C3", new CultureInfo("pt-BR"))));
     }
     return(BadRequest("Campos Inválidos!"));
 }
        static void Main(string[] args)
        {
            Calculo calculo = new Calculo();

            double resultado = calculo.Soma(10, 10);

            Console.Write("Resultado: " + resultado);
            Console.ReadKey();
        }
Beispiel #13
0
        public IEnumerable <string> Get(int matricula, double valorHora, double horasTrabalhadas)
        {
            Funcionario f    = new Funcionario(matricula, valorHora, horasTrabalhadas);
            Calculo     calc = new Calculo(f);

            double SalarioBruto = calc.CalcularSalarioBruto(f.ValorHora, f.HorasTrabalhadas);

            return(new string[] { "value" });
        }
 public void Salvar(Calculo calculo)
 {
     using (var session = PolygonContext.Instance.OpenSession())
     {
         session.Store(calculo);
         session.SaveChanges();
         OnSalvarCalculo?.Invoke(this, null);
     }
 }
        static void Main(string[] args)
        {
            //interface herda varias funcionalidades obrigatorias
            Calculo c = new Calculo();

            c.somar(10, 15);

            c.subtrair(50, 10);
        }
        public TraprecioSimple()
        {
            this.ecuacion        = "";
            this.limite_superior = 0;
            this.limite_inferior = 0;
            this.particiones     = 0;

            lector_de_ecuaciones = new Calculo();
        }
        public IActionResult Calcular(int matricula, double valorHora, double horasTrabalhadas)
        {
            Funcionario f    = new Funcionario(matricula, valorHora, horasTrabalhadas);
            Calculo     calc = new Calculo(f);

            double salarioBruto = calc.CalcularSalarioBruto(f.ValorHora, f.HorasTrabalhadas);

            return(Ok(salarioBruto));
        }
Beispiel #18
0
        public IActionResult Index(NumeroModel model)
        {
            ///Chamada da camada que faz o cálculo do número estranho
            Calculo calcNumEstranho = new Calculo();

            model.Retorno = calcNumEstranho.CalculoNumEstranho(model.Numero);

            return(View("Index", model));
        }
Beispiel #19
0
        private void Somatorio()
        {
            double preco    = Convert.ToDouble(txtPreco.Text);
            double quant    = Convert.ToDouble(txtQuantidade.Text);
            double desconto = Calculo.Desconto(preco, Convert.ToDouble(txtDesconto.Text));

            txtComDesconto.Text = (quant * desconto).ToString("N2");
            lblTotal.Text       = ((preco - desconto) * quant).ToString("N2");
        }
Beispiel #20
0
    public static void Delegado01()
    {
        Calculo m = Math.Sqrt;
        double  v = m(16);

        Console.WriteLine("----- Delegados com Métodos Estáticos -----");
        Console.WriteLine(v);
        Console.WriteLine();
    }
Beispiel #21
0
        public async Task ValidarAsync(Calculo calculo)
        {
            var validacao = new CalculoValidation(calculo);

            foreach (var notificacao in validacao.Contract.Notifications)
            {
                _Notification.Add(notificacao.Message);
            }
        }
Beispiel #22
0
    public static void Delegado02()
    {
        Calculo m = (new Funcoes()).Quadrado;
        double  v = m(16);

        Console.WriteLine("----- Delegados com Métodos de Instância -----");
        Console.WriteLine(v);
        Console.WriteLine();
    }
Beispiel #23
0
        // GET: Home
        public ActionResult Index()
        {
            Calculo sal = new Calculo();

            sal.setearSaldo(2000);
            var saldoactual = sal.incrementarSaldo(3000);

            return(View(saldoactual));
        }
        public static double TREA_Bonista(this Calculo Tabla)
        {
            var listFlujoBonista    = Tabla.tabla.Select(X => X.FlujoBonista).ToArray();
            var listFechaProgramada = Tabla.tabla.Select(x => (double)x.FechaProgramada.Day).ToArray();

            var IRR = Financial.IRR(ref listFlujoBonista);

            return((Math.Pow(IRR + 1, Tabla.bono.DiasPorAnio / Tabla.bono.FrecCupon) - 1) * 100);
        }
Beispiel #25
0
        public void Calc_irpf_3_salario_ok()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 4500, Dependentes = 1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.AreEqual(contribuinteMock.ValorIR, Math.Round(222.34, 2), "Salário fora da faixa");
        }
Beispiel #26
0
        public void Calc_irpf_dependentes_menor_zero()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 2000, Dependentes = -1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.IsNotNull(contribuinteMock, "Dependente menor que zero");
        }
Beispiel #27
0
        public void Calc_irpf_1_salario_abaixo()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 1500, Dependentes = 1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.AreEqual(contribuinteMock.ValorIR, Math.Round(40.91, 2), "Salário abaixo da faixa");
        }
Beispiel #28
0
        public async Task <Calculo> CriarCalculo(Calculo calculo)
        {
            if (calculo.Tipo_Calculo == "") // Validação (Condição) antes de salvar no bacno;
            {
                throw new ArgumentException("Qual o tipo do calculo? se Simples digite S, se composto digite C.");
            }
            calculo.Calcular();

            return(await calculoRepository.CriarCalculo(calculo)); // Salvar no banco;
        }
Beispiel #29
0
        public static double HallarPrecioActual(List <Periodo> periodos, Calculo calculo)
        {
            double resultado = 0;

            for (int i = 1; i < periodos.Count; i++)
            {
                resultado = resultado + (periodos[i].flujoBonista.Value / Math.Pow(calculo.C*K + 1, i));
            }
            return(Math.Round(resultado, 2));
        }
Beispiel #30
0
        public void Calc_irpf_4_salario_acima()
        {
            var contribuinteSalario = new Contribuinte()
            {
                Salario = 15000, Dependentes = 1
            };
            var contribuinteMock = Calculo.CalcIRPF(contribuinteSalario);

            Assert.AreEqual(contribuinteMock.ValorIR, Math.Round(1651.86, 2), "Salário acima da faixa");
        }
Beispiel #31
0
    protected void botaoCalcular_Click(object sender, EventArgs e)
    {
        const double erroComparacao = 0.01;

        if ((TextBoxA.BorderColor == System.Drawing.ColorTranslator.FromHtml("#ff0000")) || (TextBoxB.BorderColor == System.Drawing.ColorTranslator.FromHtml("#ff0000")) || (TextBoxC.BorderColor == System.Drawing.ColorTranslator.FromHtml("#ff0000")))
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('Só são permitidos valores numéricos até 8 dígitos.');", true);
            return;
        }

        //testar se as 3 caixas de texto se encontram vazias (o que significa que são interpretadas como tendo o valor 0)
        //se estiverem vazias, não é possível efectuar qualquer cálculo
        if (TextBoxA.Text.Equals("") && TextBoxB.Text.Equals("") && TextBoxC.Text.Equals(""))
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('Não foram introduzidos quaisquer valores.');", true);
            return;
        }

        //inicializar um objeto da classe cálculo.
        Calculo calculo = new Calculo(TextBoxA.Text, TextBoxB.Text, TextBoxC.Text);

        //verifica se a=0 e b=0.
        if (calculo.getA() == 0 && calculo.getB() == 0 && calculo.getC() != 0)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('Os valores introduzidos não constituem uma equação. Introduza outro valor para além do termo C.');", true);
            return;
        }

        eq_valida_actual = calculo.geteq();

        //verifica se (a=0 ou b=0) e c=0, mostrando o valor de x nesse caso.
        if ((calculo.getA() == 0 || calculo.getB() == 0) && calculo.getC() == 0)
        {
            mostraResultado(0);

            return;
        }

        //verifica se a=0 e b!=0 e c!=0
        if (calculo.getA() == 0 && calculo.getB() != 0 && calculo.getC() != 0)
        {
            mostraResultado(calculo.formulaSimplificada());
            return;
        }

        //--------------->testar se a equação tem 2 raízes, 1 raíz ou nenhum raíz usando o discriminante da fórmula resolvente (discriminante = b * b - 4*a*c)
        double discriminante = calculo.getB() * calculo.getB() - 4 * calculo.getA() * calculo.getC();

        //se discriminante<0 a equação não possui raízes
        if (discriminante < 0)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('A equação indicada não possui raízes.');", true);
            resultado.Text="<br/>";
            return;
        }

        //se discriminante=0 a equação possui apenas 1 raiz
        if (discriminante == 0)
        {
            //comparar o x obtido pela fórmula resolvente com o obtido pelo método de newton
            double x1FR = calculo.formulaResolvente_x1(), x1MN = 0, aux = 0;
            calculo.metodoNewton(ref x1MN, ref aux);
            if((Math.Abs(x1FR - x1MN)) >= erroComparacao) // se a diferença entre os valores obtidos pelos 2 métodos for superior ao erroComparacao, surge mensagem de erro
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('Erro de cálculo; resultado não fidedigno.');", true);
                return;
            }
            mostraResultado(x1FR);
            return;
        }

        //se discriminante=0 a equação possui 2 raizes
        if (discriminante > 0)
        {
            //comparar x1 e x2 obtido pela fórmula resolvente com o obtido pelo método de newton
            double x1FR = calculo.formulaResolvente_x1(), x1MN = 0, x2FR = calculo.formulaResolvente_x2(), x2MN = 0;
            calculo.metodoNewton(ref x1MN, ref x2MN);
            // se a diferença entre os valores obtidos pelos 2 métodos for superior ao erroComparacao, surge mensagem de erro
            if ((((Math.Abs(x1FR - x1MN)) >= erroComparacao) || ((Math.Abs(x2FR - x2MN)) >= erroComparacao)) && (((Math.Abs(x1FR - x2MN)) >= erroComparacao) || ((Math.Abs(x2FR - x1MN)) >= erroComparacao)))
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "Erro", "alert('Erro de cálculo; resultado não fidedigno.');", true);
                return;
            }
            mostraResultado(x1FR, x2FR);
            return;
        }
    }