Calculadora financiera

PROYECTO INTEGRADOR

El proyecto integrador es un proyecto que conjunta los conocimientos adquiridos en las materias del plan Diamante de la Universidad de Montemorelos.  Dentro de este proyecto, MecaniCalc 3.0, se incluyeron las materias de Estructuras de datos y Tecnología en las Matemáticas Financieras.

PROPÓSITO

El propósito de la MecaniCalc 3.0 es presentar un software que ayude a solucionar problemas relacionados con los distintos tipos de interés que se le aplica a los productos, aporta un apoyo a aquellos que lo utilicen como los deudores de bancos o aquellos que necesiten sacar cuentas sobre si les conviene pedir intereses o no, y si es de esa manera, de qué forma debe ser. El proyecto se realizó en el lenguaje de programación Java, en el entorno de enseñanza BlueJ. Las fórmulas utilizadas para el cálculo fueron proporcionadas por la docente en la materia y estudiadas y probadas con problemas del libro “Matemáticas Financieras para ingenieros”.

RESULTADOS

BuscoPaciente participó en la ExpoEmprendedor, colocándose como ganadora de primer lugar en Idea de negocio. Se realizó un prototipado, un documento de software y las pantallas principales funcionales. El proyecto registra a los usuarios y pacientes con éxito, además muestra los horarios y citas de cada uno, así como también presenta una usabilidad muy fácil y entendible. 

<div style="border: solid 2px #ff0000; background: #000000; color: #ffffff; padding: 4px; width: 100%; height: 300px; overflow: auto;"><pre class="enlighterjsraw" data-enlighter-language="java">import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**

 */
public class DProyectoIntegrador extends JFrame implements ActionListener
{
    private JTextField txtVelInicial, txtGrados, txtResultado1,txtResultado2,txtRoz;
    private JLabel lblVelInicial, lblGrados, lblResultado1, lblResultado2,lblDatos,lblQue,lblRoz,lblGraph;
    private JButton btnCalcular;
    private JPanel PanGrafica;
    private JRadioButton TiempoAire, Dist, Altura; 
    private ButtonGroup operaciones;
    public static void main(String [] args)
    {
        DProyectoIntegrador prog = new DProyectoIntegrador();
        prog.setSize(1100, 300);
        prog.setVisible(true);
    }

    private DProyectoIntegrador()
    {
        super("Tiro Parabolico");
        Container contenedor = getContentPane();
        contenedor.setLayout(null);

        lblDatos = new JLabel("Ingrese los datos");
        contenedor.add(lblDatos);
        lblDatos.setBounds(80,10,200,50);

        lblVelInicial = new JLabel("Velocidad incial");
        contenedor.add(lblVelInicial);
        lblVelInicial.setBounds(30,70,100,30);

        txtVelInicial = new JTextField();
        contenedor.add(txtVelInicial);
        txtVelInicial.setBounds(140,70,100,30);

        lblGrados = new JLabel("�ngulo");
        contenedor.add(lblGrados);
        lblGrados.setBounds(30,130,50,30);

        txtGrados = new JTextField();
        contenedor.add(txtGrados);
        txtGrados.setBounds(140,130,100,30);

        lblRoz = new JLabel("Rozamiento (b<.1)");
        contenedor.add(lblRoz);
        lblRoz.setBounds(30,190,110,30);

        txtRoz = new JTextField();
        contenedor.add(txtRoz);
        txtRoz.setBounds(140,190,100,30);

        lblQue = new JLabel("�Qu� quiere encontrar?");
        contenedor.add(lblQue);
        lblQue.setBounds(290,10,200,50);

        TiempoAire = new JRadioButton("Tiempo en el aire",true);
        Dist = new JRadioButton("Distancia en x",false);
        Altura = new JRadioButton("Altura en y",false);


        operaciones = new ButtonGroup();
        operaciones.add(TiempoAire);
        operaciones.add(Dist);
        operaciones.add(Altura);
        contenedor.add(TiempoAire);
        TiempoAire.setBounds(290,70,150,30);
        contenedor.add(Dist);
        Dist.setBounds(290,110,150,30);
        contenedor.add(Altura);
        Altura.setBounds(290,150,150,30);

        btnCalcular = new JButton("Calcular");
        contenedor.add(btnCalcular);
        btnCalcular.setBounds(580,40,100,30);
        btnCalcular.addActionListener(this);

        lblResultado1 = new JLabel("Sin rozamiento");
        contenedor.add(lblResultado1);
        lblResultado1.setBounds(520,100,150,30);

        txtResultado1 = new JTextField();
        contenedor.add(txtResultado1);
        txtResultado1.setBounds(640,100,100,30);

        lblResultado2 = new JLabel("Con rozamiento");
        contenedor.add(lblResultado2);
        lblResultado2.setBounds(520,170,150,30);

        txtResultado2 = new JTextField();
        contenedor.add(txtResultado2);
        txtResultado2.setBounds(640,170,100,30);

        lblGraph = new JLabel("Gr�ficas");
        contenedor.add(lblGraph);
        lblGraph.setBounds(900,10,100,50);

        PanGrafica = new JPanel();
        PanGrafica.setBounds(800,60,250,170);
        PanGrafica.setBackground(Color.white);
        contenedor.add(PanGrafica);
    }

    public void actionPerformed(ActionEvent event)
    {
        double vel1, ang, resultado1,resultado2,roz,angle;
        resultado1=0;
        resultado2=0;
        vel1=Double.parseDouble(txtVelInicial.getText());
        angle=Double.parseDouble(txtGrados.getText());
        roz=Double.parseDouble(txtRoz.getText());
        ang=angle*Math.PI/180.0;

        if(TiempoAire.isSelected())
        {
            resultado1=(((2*vel1)*Math.sin(ang))/9.8);
            
            
            resultado2=(1/roz)*(Math.log(1+(roz*vel1*Math.sin(ang)/9.8)));
        }
        else if(Dist.isSelected())
        {
            resultado1=((2*Math.pow(vel1, 2))*(Math.sin(ang))*(Math.cos(ang)))/9.8;

            double a1=0,a2=0,a=0,b=0,c=0,ac4=0,dentro=0,arriba=0,abajo=0,raiz=0;
             
            ang=angle*Math.PI/180.0;
            a1=2*roz; 
            a2=3*vel1*Math.cos(ang);
            a= (a1)/(a2);
            b= 1;
            c=-2*(vel1*Math.cos(ang))*(vel1*Math.sin(ang))/9.8;

            ac4=4*a*c;
            dentro = Math.pow(b,2)-(ac4);
            raiz = Math.sqrt(dentro);
            arriba=(-b)+raiz;
            abajo=2*a;
            
            resultado2=arriba/abajo;
            
        }
        else if(Altura.isSelected())
        {
            resultado1=(Math.pow((vel1*Math.sin(ang)),2))/(2*9.8);
            resultado2=(vel1*Math.sin(ang))/roz-((9.8/Math.pow(roz,2))*Math.log(1+((roz*vel1*Math.sin(ang))/9.8)));
        }
        
        txtResultado1.setText(String.valueOf(resultado1));
        txtResultado2.setText(String.valueOf(resultado2));
    }

}

</pre class="enlighterjsraw" data-enlighter-language="java"></div style="border: solid 2px #ff0000; background: #000000; color: #ffffff; padding: 4px; width: 100%; height: 300px; overflow: auto;">