SlideShare una empresa de Scribd logo
INSTITUTO TECNOLÓGICO SUPERIOR
             DE MISANTLA


    INGENIERÍA EN TECNOLOGIAS DE LA
     INFORMACION Y COMUNICACIONES

                         ALGEBRA LINEAL
                               UNIDAD I
                     NUMEROS COMPLEJOS
Reporte del tema:

    DOCUMENTACION DE PROGRAMA

Alumnos:

               RITA IBETT TRUJILLO ORTIZ
                OSCAR SANCHEZ MOLINA
           FRANCISCO ADOLFO AGUILAR GOMEZ

Docente:

              DR. SIMON PEDRO ARGUIJO HERNANDEZ




Fecha de entrega: 9 DE ENERODE 2012
DOCUMENTACION DEL PROGRAMA DE NUMEROS COMPLEJOS



INTRODUCCIÓN ................................................................................................................................... 3



MARCO TEORICO ................................................................................................................................ 4



DESARROLLO ....................................................................................................................................... 6



RESULTADOS ..................................................................................................................................... 12



CONCLUSIÓN..................................................................................................................................... 15



RECOMENDACIONES ........................................................................................................................ 16
INTRODUCCIÓN

      En esta primera unidad de Algebra Lineal estuvimos viendo Numero
Complejos el manejo de suma, resta, multiplicación, división, potenciación y raíz.Y
para facilitar la realización de estas operaciones el docente nos puso a hacer un
programa que nos ayudara, aparte de que contaba para nuestra calificación.

      Pues para empezar tuvimos que investigar sobre el tema, para eso el
docente durante las clases nos estuvo explicando cada paso de como realizar
cada operación y para pasarlo a java tuvimos que buscar en internet información
para poder implementar nuestro código.

      El término número complejo describe la suma de un número real y un
número imaginario. Los números complejos se utilizan en todos los campos de las
matemáticas, en muchos de la física (y notoriamente en la mecánica cuántica) y
en ingeniería, especialmente en la electrónica y las telecomunicaciones, por su
utilidad para representar las ondas electromagnéticas y la corriente eléctrica.



Los números complejos representan todas las raíces de los polinomios, a
diferencia de los reales.Los números complejos son la herramienta de trabajo del
álgebra ordinaria, llamada álgebra de los números complejos, así como de ramas
de las matemáticas puras y aplicadas como variable compleja, aerodinámica y
electromagnetismo entre otras de gran importancia.Contienen a los números
reales y los imaginarios puros y constituyen una de las construcciones teóricas
más         importantes          de         la        inteligencia        humana.



      Los Números Complejos surgen al resolver ecuaciones algebraicas en las
que hay que calcular raíces cuadradas de números negativos.
MARCO TEORICO

      Los Números Complejos surgen al resolver ecuaciones algebraicas en las
que hay que calcular raíces cuadradas de números negativos.

Algo parecido les ocurrió a los pitagóricos al intentar medir la diagonal de un
cuadrado de lado 1, se dieron cuenta que no había ningún número (sólo conocían
los números naturales y fraccionarios) que midiese la diagonal. Esto dio origen a
los números reales.

      Los números naturales, enteros, fraccionarios y reales se pueden
representar comopuntos de una recta (la recta de los números reales).

      Los Números Complejos podemos imaginarlos como puntos de un plano (el
plano de los números complejos). En ese plano podemos trazar unos ejes
perpendiculares que nos sirvan de referencia para localizar los puntos del plano.

      Lo habitual es utilizar las coordenadas del punto (x,y). Cuando
representamos un número complejo de esta forma decimos que está en forma
cartesiana.Esta interpretación de los números complejos (considerarlos puntos en
un plano) se debe a Gauss y a Hamilton.

      También se suele utilizar un vector para localizar el punto.En un vector con
principio en el origen de coordenadas y fin en el punto, identifica el punto de una
manera inequívoca.

      Al extremo del vector se le llama Afijo del complejo.Ese vector lo podemos
descomponer en dos vectores: un vector con principio en el origen de
coordenadas y fin el valor de la abscisa del punto (x,y), y otro vector con principio
el origen de coordenadas y fin la ordenada del punto (x,y).

Entonces el punto se representaría como una suma de vectores a + b.

      Si definimos unos vectores unitarios sobre el Eje X o Real, ya que en el
representamos la Parte Real del número complejo y sobre el eje Y o Eje
Imaginario, representamos la parte Imaginaria. Entonces podemos representar el
número de esta forma xr + yi.

       Los vectores r e i tienen módulo 1, además el vector i se define cumpliendo
esta condición: i2 = -1.

       Cómo r tiene módulo 1 y sus potencias también son 1, no se escribe,
quedando por lo tanto el número en la forma x + yi. Esta forma de representar un
número complejo se llama Forma Binaria.
DESARROLLO
El programa se desarrollo en netBeans para resolver todas las operaciones que
efectúa el programa de Numeros Complejos este programa lo logramos elaborar
mediante pseudocódigos y algoritmos.

Primero declaramos nuestras variables generales, las que ocuparemos durante
todo nuestro desarrollo de código.


             publicclassNComplejosextendsjavax.swin
             g.JFrame {


             double r1, r2,im1,im2,n;
                 String resultadosop="";
             publicNComplejos() {
             initComponents();
                 }




Les asignamos valores a nuestros botones cada uno tendrá un valor k utilizaremos
para resolver las operaciones.


        jLabel1.setText("Real");

                   jLabel2.setText("Imaginario");

                   jLabel3.setText("+");

                   jLabel4.setText("Z1 = ");

                   jLabel5.setText("Z2 = ");

                   jLabel6.setText("+");

                   jLabel7.setText("i");

                   jLabel8.setText("i");
Les asignamos valores a los botones, a cada uno le toca diferente operación.

     jButton1.setText("Operaciones + - / *");
             jButton1.addActionListener(newjava.awt.event.ActionListener()   {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton1ActionPerformed(evt);
                 }
             });
             jButton2.setText("Potencia Z1");
             jButton2.addActionListener(newjava.awt.event.ActionListener()   {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton2ActionPerformed(evt);
              }
             });
     jButton3.setText("Raiz Z1");
             jButton3.addActionListener(newjava.awt.event.ActionListener()   {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton3ActionPerformed(evt);
                 }
             });
            jButton4.setText("Polar, Exp");
             jButton4.addActionListener(newjava.awt.event.ActionListener()   {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton4ActionPerformed(evt);
                 }
             });
             jTextArea1.setColumns(20);
             jTextArea1.setRows(5);
             jScrollPane1.setViewportView(jTextArea1);

             jButton5.setText("Potencia Z2");
             jButton5.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton5ActionPerformed(evt);
                 }
             });
             jButton6.setText("Raiz Z2");
             jButton6.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton6ActionPerformed(evt);
                 }
             });
             jButton7.setText("raiz");
             jButton7.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton7ActionPerformed(evt);
                 }
             });
             jButton8.setText("raiz");
             jButton8.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton8ActionPerformed(evt);
                 }
             });
             jButton9.setText("raiz");
             jButton9.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton9ActionPerformed(evt);
                 }
             });
             jButton10.setText("raiz");
             jButton10.addActionListener(newjava.awt.event.ActionListener() {
     publicvoidactionPerformed(java.awt.event.ActionEventevt) {
                     jButton10ActionPerformed(evt);
                 }
             });
Nuestro método para determinar la potencia de nuestro primer numero de los
números complejos.


 privatevoid jButton2ActionPerformed(java.awt.event.ActionEventevt)

 {//GEN-FIRST:event_jButton2ActionPerformed
 resultadosop = "";
         r1=Double.parseDouble(jTextField1.getText());
         im1=Double.parseDouble(jTextField2.getText());
         n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la potencia : "));
 doubler,teta;
         r=Math.sqrt(r1*r1+im1*im1);
         teta =Math.atan2(im1,r1);
         teta = teta/Math.PI;
         r=Math.pow(r, n);
         teta = teta*n;
 resultadosop+="El resultado Z1^"+n+" es: nn" +r+" [ cos (" + teta+" pi ) + j sen (
 "+teta+" pi) ]n";
        jTextArea1.setText(resultadosop);

 }//GEN-LAST:event_jButton2ActionPerformed




Creamos nuestro método el que realizara las operaciones básicas como suma,
resta, multiplicación y división.




privatevoid jButton1ActionPerformed(java.awt.event.ActionEventevt) {//GEN-
FIRST:event_jButton1ActionPerformed
resultadosop = "";
        r1=Double.parseDouble(jTextField1.getText());
        im1=Double.parseDouble(jTextField2.getText());
        r2=Double.parseDouble(jTextField3.getText());
        im2=Double.parseDouble(jTextField4.getText());
resultadosop+="Z1="+r1+" + "+im1+" j , Z2="+r2+" + "+im2+" jnn";
        suma(r1,im1,r2,im2);
        resta(r1,im1,r2,im2);
mult(r1,im1,r2,im2);
        div(r1,im1,r2,im2);
        jTextArea1.setText(resultadosop);
}//GEN-LAST:event_jButton1ActionPerformed
De ahí nuestro método para sacar la raíz de nuestro primer numero de los
números complejos.

 privatevoid jButton3ActionPerformed(java.awt.event.ActionEventevt) {//GEN-
 FIRST:event_jButton3ActionPerformed
 resultadosop = "";
         r1=Double.parseDouble(jTextField1.getText());
         im1=Double.parseDouble(jTextField2.getText());
         n=Float.parseFloat(JOptionPane.showInputDialog("Elevado ala raiz(4 = 1/4) :
 "));
 doublenn= 1/n;
 double r,teta,teta2;
         r=Math.sqrt(r1*r1+im1*im1);
         teta =Math.atan2(im1,r1);
         teta = teta/Math.PI;
         r=Math.pow(r, nn);
 resultadosop = "Z1^(1/"+n+")";
 for(int i=0;i<n;i++){
             teta2 = ((2*Math.PI*i)+teta)/n;
 resultadosop+="n W "+i+" = "+r+" [ cos (" + teta2+" pi ) + j sen ( "+teta2+" pi )
 ]";
         }
         jTextArea1.setText(resultadosop);
 }//GEN-LAST:event_jButton3ActionPerformed




Realizamos nuestro código para sacar la exponenciación, también agregamos la
forma cartesiana, la forma polar y muestra el conjugado de nuestro primer numero.


 privatevoid jButton4ActionPerformed(java.awt.event.ActionEventevt) {//GEN-
 FIRST:event_jButton4ActionPerformed
 resultadosop = "";
         r1=Double.parseDouble(jTextField1.getText());
         im1=Double.parseDouble(jTextField2.getText());
 doubler,teta;
         r=Math.sqrt(r1*r1+im1*im1);
         teta =Math.atan2(im1,r1);
         teta = teta/Math.PI;
 resultadosop+="Forma Cartesiana : Z1="+r1+" + "+im1+" j n";
 resultadosop+="Forma Polar(Trigonometrica) : Z1=" +r+" [ cos (" + teta+" pi) + j
 sen ( "+teta+" pi ) ]n";
 resultadosop+="Forma Exponencial : Z1=" +r+" exp { j " + teta+" pi }n";
 resultadosop+="Conjugado : Z1="+r1+" + "+im1*(-1)+" jn";
         jTextArea1.setText(resultadosop);
 }//GEN-LAST:event_jButton4ActionPerformed
Ahora haremos un método de potenciación para nuestro segundo numero.

 privatevoid jButton5ActionPerformed(java.awt.event.ActionEventevt) {//GEN-
 FIRST:event_jButton5ActionPerformed
 resultadosop = "";
         r2=Double.parseDouble(jTextField3.getText());
         im2=Double.parseDouble(jTextField4.getText());
         n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la potencia :
 "));
 double rr,teta2;
 rr=Math.sqrt(r2*r2+im2*im2);
         teta2 =Math.atan2(im2,r2);
 rr=Math.pow(rr, n);
         teta2 = teta2/Math.PI;
         teta2 = teta2*n;
 resultadosop+="nEl resultado Z2^"+n+"es: nn" +rr+" [ cos (" + teta2+" pi ) +
 j sen ( "+teta2+" pi ) ]n";
         jTextArea1.setText(resultadosop);
 }//GEN-LAST:event_jButton5ActionPerformed




Aquí mostramos el método para nuestra raíz de nuestro segundo numero.

 privatevoid jButton6ActionPerformed(java.awt.event.ActionEventevt) {//GEN-
 FIRST:event_jButton6ActionPerformed
 resultadosop = "";
         r1=Double.parseDouble(jTextField3.getText());
         im1=Double.parseDouble(jTextField4.getText());
         n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la raiz(4 =
 1/4) : "));
 doublenn= 1/n;
 double r,teta,teta2;
         r=Math.sqrt(r1*r1+im1*im1);
         teta =Math.atan2(im1,r1);
         r=Math.pow(r, nn);
         teta = teta/Math.PI;
 resultadosop = "Z1^(1/"+n+")";
 for(int i=0;i<n;i++){
             teta2 = ((2*Math.PI*i)+teta)/n;
 resultadosop+="n W "+i+" : "+r+" [ cos (" + teta2+" pi ) + j sen ( "+teta2+" pi
 ) ]";
         }
         jTextArea1.setText(resultadosop);
 }//GEN-LAST:event_jButton6ActionPerformed
Este es nuestro método para sacar la suma de números complejos.
 privatevoidsuma(double r1, double im1, double r2, double im2) {
 doubler,i;
         r=r1+r2;
 i=im1+im2;
 resultadosop+="nLasumaes: " +r+" + " + i+" j ";
     }




Aquí encontramos como realizar nuestro método de resta de números complejos.

 privatevoidresta(double r1, double im1, double r2, double im2) {
 doubler,i;
         r=r1-r2;
 i=im1-im2;
 resultadosop+="nLarestaes: " +r+" + " + i+" j ";
     }




Después realizamos un método para la multiplicación de números complejos.

 privatevoidmult(double r1, double im1, double r2, double im2) {
 doubler,i;
         r=r1*r2 - im1*im2;
 i=r1*im2 + im1*r2;
 resultadosop+="nLamultiplicaciones: " +r+" + " + i+" j ";
     }




Por ultimo de nuestra clase nComplejos realizamos un método para la división de
números complejos.

 privatevoid div(double r1, double im1, double r2, double im2) {
 doubler,i,divi;
 divi=r2*r2+im2*im2;
         r=(r1*r2 + im1*im2)/divi;
 i=(im1*r2-r1*im2)/divi;
 resultadosop+="nLa division es: " +r+" + " + i+" j n";
     }
RESULTADOS
Aquí se muestra como realiza las operaciones básicas de la operación insertada
de números complejos.




Cuando seleccionamos la opción de potencias, nos muestra el siguiente cuadro
donde nos muestra o nos pide la potencia a la cual lo elevaremos.
Después nos muestra el resultado en potencia.




Después si le ponemos raíz de z1 nos manda el siguiente cuadro:




Después si le ponemos la opción de potencia de z2 nos aparece:
Si le damos la opción de raíz de z2 le insertamos a la potencia que queremos
elevarlo:




Si le damos la opción de polar, exponenciación, conjugado nos muestra lo
siguiente:
CONCLUSIÓN
     Pues puedo decir que con la elaboración de este programa aprendimos
mucho mas aparte de los conceptos dados en clase.

     Porque los conceptos los pudimos llevar a la practica, con un poco de
esfuerzo y estudio pudimos realizar este programa que no estuvo nada fácil,
porque si hubo varias dudas y había cosas que no terminábamos de
comprender.

     Pero con la ayuda del docente y de algunos libros, internet, incluso
preguntando a otros docentes pudimos lograr una elaboración buena, no
tanto como hubiéramos querido pero logramos hacer un buen trabajo.

     La calificación hacia este programa no fue como nosotros la
esperábamos pero nos entretuvimos un buen rato para lograrlo.
RECOMENDACIONES


Como recomendación podemos sugerir lo siguiente:



      Practicar los temas que se incluyen en el software



      Consultar más fuentes de información con diferentes autores



      Estudiar los principios de programación para comprender de mejor manera
      el programa.

Más contenido relacionado

DOCX
Programacion ii
DOCX
Visual basic
PDF
calculadora en c sharp
DOCX
Funciones propias de visual basic
DOCX
Programas en netbeans
PDF
Programación Java
Programacion ii
Visual basic
calculadora en c sharp
Funciones propias de visual basic
Programas en netbeans
Programación Java

La actualidad más candente (20)

PDF
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
PDF
Elemento 4
PDF
Funciones con arrays y vectores en c
PDF
Proyecto tres en_raya_f_inal_mathias_y_grupo
PPT
Acciones funciones
PDF
Funciones con vectores y matrices
PDF
Ejemplo de aplicación cliente-servidor en C#
PDF
Ejercicios en Netbeans
PDF
Arreglos C#
PPTX
Clase8popu
PDF
ESTRUCTURAS ARRAYS Y DATOS C++
DOCX
Estructura de datos
PPT
Misael
PDF
Elemento n3
PPT
visual Basic silverio y misael
PDF
Funciones con vectores y matrices
DOCX
Programas Propuestos Capítulo IV
PDF
SCJP, Clase 7: Generics
DOCX
Algoritmos condicionales..
Tap u2-componentes y librerias-programa para cifrar y descifrar cadenas
Elemento 4
Funciones con arrays y vectores en c
Proyecto tres en_raya_f_inal_mathias_y_grupo
Acciones funciones
Funciones con vectores y matrices
Ejemplo de aplicación cliente-servidor en C#
Ejercicios en Netbeans
Arreglos C#
Clase8popu
ESTRUCTURAS ARRAYS Y DATOS C++
Estructura de datos
Misael
Elemento n3
visual Basic silverio y misael
Funciones con vectores y matrices
Programas Propuestos Capítulo IV
SCJP, Clase 7: Generics
Algoritmos condicionales..
Publicidad

Similar a Primer programa documentado de algebra (20)

DOCX
Gestion de la Memoria Final!!!!!.docx
DOCX
Codigo ejercicios
PDF
Unidad temática v
PDF
Introduccion a JAVA
PDF
PPT
Temaswing
PPTX
Programa arreglos 2
PDF
PPTX
Manejo de eventos en java
DOCX
DOCX
Resolución de problemas con java
DOCX
Programa calculadora
PDF
Taller de repaso de metodos y arreglos
PDF
PPTX
Programa arreglos 1
PPTX
Interfaz gráfica de usuario
DOCX
Java problems
PDF
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
PDF
PPT
Funciones en C
Gestion de la Memoria Final!!!!!.docx
Codigo ejercicios
Unidad temática v
Introduccion a JAVA
Temaswing
Programa arreglos 2
Manejo de eventos en java
Resolución de problemas con java
Programa calculadora
Taller de repaso de metodos y arreglos
Programa arreglos 1
Interfaz gráfica de usuario
Java problems
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
Funciones en C
Publicidad

Primer programa documentado de algebra

  • 1. INSTITUTO TECNOLÓGICO SUPERIOR DE MISANTLA INGENIERÍA EN TECNOLOGIAS DE LA INFORMACION Y COMUNICACIONES ALGEBRA LINEAL UNIDAD I NUMEROS COMPLEJOS Reporte del tema: DOCUMENTACION DE PROGRAMA Alumnos: RITA IBETT TRUJILLO ORTIZ OSCAR SANCHEZ MOLINA FRANCISCO ADOLFO AGUILAR GOMEZ Docente: DR. SIMON PEDRO ARGUIJO HERNANDEZ Fecha de entrega: 9 DE ENERODE 2012
  • 2. DOCUMENTACION DEL PROGRAMA DE NUMEROS COMPLEJOS INTRODUCCIÓN ................................................................................................................................... 3 MARCO TEORICO ................................................................................................................................ 4 DESARROLLO ....................................................................................................................................... 6 RESULTADOS ..................................................................................................................................... 12 CONCLUSIÓN..................................................................................................................................... 15 RECOMENDACIONES ........................................................................................................................ 16
  • 3. INTRODUCCIÓN En esta primera unidad de Algebra Lineal estuvimos viendo Numero Complejos el manejo de suma, resta, multiplicación, división, potenciación y raíz.Y para facilitar la realización de estas operaciones el docente nos puso a hacer un programa que nos ayudara, aparte de que contaba para nuestra calificación. Pues para empezar tuvimos que investigar sobre el tema, para eso el docente durante las clases nos estuvo explicando cada paso de como realizar cada operación y para pasarlo a java tuvimos que buscar en internet información para poder implementar nuestro código. El término número complejo describe la suma de un número real y un número imaginario. Los números complejos se utilizan en todos los campos de las matemáticas, en muchos de la física (y notoriamente en la mecánica cuántica) y en ingeniería, especialmente en la electrónica y las telecomunicaciones, por su utilidad para representar las ondas electromagnéticas y la corriente eléctrica. Los números complejos representan todas las raíces de los polinomios, a diferencia de los reales.Los números complejos son la herramienta de trabajo del álgebra ordinaria, llamada álgebra de los números complejos, así como de ramas de las matemáticas puras y aplicadas como variable compleja, aerodinámica y electromagnetismo entre otras de gran importancia.Contienen a los números reales y los imaginarios puros y constituyen una de las construcciones teóricas más importantes de la inteligencia humana. Los Números Complejos surgen al resolver ecuaciones algebraicas en las que hay que calcular raíces cuadradas de números negativos.
  • 4. MARCO TEORICO Los Números Complejos surgen al resolver ecuaciones algebraicas en las que hay que calcular raíces cuadradas de números negativos. Algo parecido les ocurrió a los pitagóricos al intentar medir la diagonal de un cuadrado de lado 1, se dieron cuenta que no había ningún número (sólo conocían los números naturales y fraccionarios) que midiese la diagonal. Esto dio origen a los números reales. Los números naturales, enteros, fraccionarios y reales se pueden representar comopuntos de una recta (la recta de los números reales). Los Números Complejos podemos imaginarlos como puntos de un plano (el plano de los números complejos). En ese plano podemos trazar unos ejes perpendiculares que nos sirvan de referencia para localizar los puntos del plano. Lo habitual es utilizar las coordenadas del punto (x,y). Cuando representamos un número complejo de esta forma decimos que está en forma cartesiana.Esta interpretación de los números complejos (considerarlos puntos en un plano) se debe a Gauss y a Hamilton. También se suele utilizar un vector para localizar el punto.En un vector con principio en el origen de coordenadas y fin en el punto, identifica el punto de una manera inequívoca. Al extremo del vector se le llama Afijo del complejo.Ese vector lo podemos descomponer en dos vectores: un vector con principio en el origen de coordenadas y fin el valor de la abscisa del punto (x,y), y otro vector con principio el origen de coordenadas y fin la ordenada del punto (x,y). Entonces el punto se representaría como una suma de vectores a + b. Si definimos unos vectores unitarios sobre el Eje X o Real, ya que en el representamos la Parte Real del número complejo y sobre el eje Y o Eje
  • 5. Imaginario, representamos la parte Imaginaria. Entonces podemos representar el número de esta forma xr + yi. Los vectores r e i tienen módulo 1, además el vector i se define cumpliendo esta condición: i2 = -1. Cómo r tiene módulo 1 y sus potencias también son 1, no se escribe, quedando por lo tanto el número en la forma x + yi. Esta forma de representar un número complejo se llama Forma Binaria.
  • 6. DESARROLLO El programa se desarrollo en netBeans para resolver todas las operaciones que efectúa el programa de Numeros Complejos este programa lo logramos elaborar mediante pseudocódigos y algoritmos. Primero declaramos nuestras variables generales, las que ocuparemos durante todo nuestro desarrollo de código. publicclassNComplejosextendsjavax.swin g.JFrame { double r1, r2,im1,im2,n; String resultadosop=""; publicNComplejos() { initComponents(); } Les asignamos valores a nuestros botones cada uno tendrá un valor k utilizaremos para resolver las operaciones. jLabel1.setText("Real"); jLabel2.setText("Imaginario"); jLabel3.setText("+"); jLabel4.setText("Z1 = "); jLabel5.setText("Z2 = "); jLabel6.setText("+"); jLabel7.setText("i"); jLabel8.setText("i");
  • 7. Les asignamos valores a los botones, a cada uno le toca diferente operación. jButton1.setText("Operaciones + - / *"); jButton1.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton1ActionPerformed(evt); } }); jButton2.setText("Potencia Z1"); jButton2.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton2ActionPerformed(evt); } }); jButton3.setText("Raiz Z1"); jButton3.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton3ActionPerformed(evt); } }); jButton4.setText("Polar, Exp"); jButton4.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton4ActionPerformed(evt); } }); jTextArea1.setColumns(20); jTextArea1.setRows(5); jScrollPane1.setViewportView(jTextArea1); jButton5.setText("Potencia Z2"); jButton5.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton5ActionPerformed(evt); } }); jButton6.setText("Raiz Z2"); jButton6.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton6ActionPerformed(evt); } }); jButton7.setText("raiz"); jButton7.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton7ActionPerformed(evt); } }); jButton8.setText("raiz"); jButton8.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton8ActionPerformed(evt); } }); jButton9.setText("raiz"); jButton9.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton9ActionPerformed(evt); } }); jButton10.setText("raiz"); jButton10.addActionListener(newjava.awt.event.ActionListener() { publicvoidactionPerformed(java.awt.event.ActionEventevt) { jButton10ActionPerformed(evt); } });
  • 8. Nuestro método para determinar la potencia de nuestro primer numero de los números complejos. privatevoid jButton2ActionPerformed(java.awt.event.ActionEventevt) {//GEN-FIRST:event_jButton2ActionPerformed resultadosop = ""; r1=Double.parseDouble(jTextField1.getText()); im1=Double.parseDouble(jTextField2.getText()); n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la potencia : ")); doubler,teta; r=Math.sqrt(r1*r1+im1*im1); teta =Math.atan2(im1,r1); teta = teta/Math.PI; r=Math.pow(r, n); teta = teta*n; resultadosop+="El resultado Z1^"+n+" es: nn" +r+" [ cos (" + teta+" pi ) + j sen ( "+teta+" pi) ]n"; jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton2ActionPerformed Creamos nuestro método el que realizara las operaciones básicas como suma, resta, multiplicación y división. privatevoid jButton1ActionPerformed(java.awt.event.ActionEventevt) {//GEN- FIRST:event_jButton1ActionPerformed resultadosop = ""; r1=Double.parseDouble(jTextField1.getText()); im1=Double.parseDouble(jTextField2.getText()); r2=Double.parseDouble(jTextField3.getText()); im2=Double.parseDouble(jTextField4.getText()); resultadosop+="Z1="+r1+" + "+im1+" j , Z2="+r2+" + "+im2+" jnn"; suma(r1,im1,r2,im2); resta(r1,im1,r2,im2); mult(r1,im1,r2,im2); div(r1,im1,r2,im2); jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton1ActionPerformed
  • 9. De ahí nuestro método para sacar la raíz de nuestro primer numero de los números complejos. privatevoid jButton3ActionPerformed(java.awt.event.ActionEventevt) {//GEN- FIRST:event_jButton3ActionPerformed resultadosop = ""; r1=Double.parseDouble(jTextField1.getText()); im1=Double.parseDouble(jTextField2.getText()); n=Float.parseFloat(JOptionPane.showInputDialog("Elevado ala raiz(4 = 1/4) : ")); doublenn= 1/n; double r,teta,teta2; r=Math.sqrt(r1*r1+im1*im1); teta =Math.atan2(im1,r1); teta = teta/Math.PI; r=Math.pow(r, nn); resultadosop = "Z1^(1/"+n+")"; for(int i=0;i<n;i++){ teta2 = ((2*Math.PI*i)+teta)/n; resultadosop+="n W "+i+" = "+r+" [ cos (" + teta2+" pi ) + j sen ( "+teta2+" pi ) ]"; } jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton3ActionPerformed Realizamos nuestro código para sacar la exponenciación, también agregamos la forma cartesiana, la forma polar y muestra el conjugado de nuestro primer numero. privatevoid jButton4ActionPerformed(java.awt.event.ActionEventevt) {//GEN- FIRST:event_jButton4ActionPerformed resultadosop = ""; r1=Double.parseDouble(jTextField1.getText()); im1=Double.parseDouble(jTextField2.getText()); doubler,teta; r=Math.sqrt(r1*r1+im1*im1); teta =Math.atan2(im1,r1); teta = teta/Math.PI; resultadosop+="Forma Cartesiana : Z1="+r1+" + "+im1+" j n"; resultadosop+="Forma Polar(Trigonometrica) : Z1=" +r+" [ cos (" + teta+" pi) + j sen ( "+teta+" pi ) ]n"; resultadosop+="Forma Exponencial : Z1=" +r+" exp { j " + teta+" pi }n"; resultadosop+="Conjugado : Z1="+r1+" + "+im1*(-1)+" jn"; jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton4ActionPerformed
  • 10. Ahora haremos un método de potenciación para nuestro segundo numero. privatevoid jButton5ActionPerformed(java.awt.event.ActionEventevt) {//GEN- FIRST:event_jButton5ActionPerformed resultadosop = ""; r2=Double.parseDouble(jTextField3.getText()); im2=Double.parseDouble(jTextField4.getText()); n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la potencia : ")); double rr,teta2; rr=Math.sqrt(r2*r2+im2*im2); teta2 =Math.atan2(im2,r2); rr=Math.pow(rr, n); teta2 = teta2/Math.PI; teta2 = teta2*n; resultadosop+="nEl resultado Z2^"+n+"es: nn" +rr+" [ cos (" + teta2+" pi ) + j sen ( "+teta2+" pi ) ]n"; jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton5ActionPerformed Aquí mostramos el método para nuestra raíz de nuestro segundo numero. privatevoid jButton6ActionPerformed(java.awt.event.ActionEventevt) {//GEN- FIRST:event_jButton6ActionPerformed resultadosop = ""; r1=Double.parseDouble(jTextField3.getText()); im1=Double.parseDouble(jTextField4.getText()); n=Float.parseFloat(JOptionPane.showInputDialog("Elevado a la raiz(4 = 1/4) : ")); doublenn= 1/n; double r,teta,teta2; r=Math.sqrt(r1*r1+im1*im1); teta =Math.atan2(im1,r1); r=Math.pow(r, nn); teta = teta/Math.PI; resultadosop = "Z1^(1/"+n+")"; for(int i=0;i<n;i++){ teta2 = ((2*Math.PI*i)+teta)/n; resultadosop+="n W "+i+" : "+r+" [ cos (" + teta2+" pi ) + j sen ( "+teta2+" pi ) ]"; } jTextArea1.setText(resultadosop); }//GEN-LAST:event_jButton6ActionPerformed
  • 11. Este es nuestro método para sacar la suma de números complejos. privatevoidsuma(double r1, double im1, double r2, double im2) { doubler,i; r=r1+r2; i=im1+im2; resultadosop+="nLasumaes: " +r+" + " + i+" j "; } Aquí encontramos como realizar nuestro método de resta de números complejos. privatevoidresta(double r1, double im1, double r2, double im2) { doubler,i; r=r1-r2; i=im1-im2; resultadosop+="nLarestaes: " +r+" + " + i+" j "; } Después realizamos un método para la multiplicación de números complejos. privatevoidmult(double r1, double im1, double r2, double im2) { doubler,i; r=r1*r2 - im1*im2; i=r1*im2 + im1*r2; resultadosop+="nLamultiplicaciones: " +r+" + " + i+" j "; } Por ultimo de nuestra clase nComplejos realizamos un método para la división de números complejos. privatevoid div(double r1, double im1, double r2, double im2) { doubler,i,divi; divi=r2*r2+im2*im2; r=(r1*r2 + im1*im2)/divi; i=(im1*r2-r1*im2)/divi; resultadosop+="nLa division es: " +r+" + " + i+" j n"; }
  • 12. RESULTADOS Aquí se muestra como realiza las operaciones básicas de la operación insertada de números complejos. Cuando seleccionamos la opción de potencias, nos muestra el siguiente cuadro donde nos muestra o nos pide la potencia a la cual lo elevaremos.
  • 13. Después nos muestra el resultado en potencia. Después si le ponemos raíz de z1 nos manda el siguiente cuadro: Después si le ponemos la opción de potencia de z2 nos aparece:
  • 14. Si le damos la opción de raíz de z2 le insertamos a la potencia que queremos elevarlo: Si le damos la opción de polar, exponenciación, conjugado nos muestra lo siguiente:
  • 15. CONCLUSIÓN Pues puedo decir que con la elaboración de este programa aprendimos mucho mas aparte de los conceptos dados en clase. Porque los conceptos los pudimos llevar a la practica, con un poco de esfuerzo y estudio pudimos realizar este programa que no estuvo nada fácil, porque si hubo varias dudas y había cosas que no terminábamos de comprender. Pero con la ayuda del docente y de algunos libros, internet, incluso preguntando a otros docentes pudimos lograr una elaboración buena, no tanto como hubiéramos querido pero logramos hacer un buen trabajo. La calificación hacia este programa no fue como nosotros la esperábamos pero nos entretuvimos un buen rato para lograrlo.
  • 16. RECOMENDACIONES Como recomendación podemos sugerir lo siguiente: Practicar los temas que se incluyen en el software Consultar más fuentes de información con diferentes autores Estudiar los principios de programación para comprender de mejor manera el programa.