viernes, 2 de abril de 2010

Programa #7

Diseñe un programa que permita establecer si el conjunto de vectores es linealmente independiente:



import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Programa7 extends Applet implements ActionListener {
    
    private Image fondo;
    private TextField V1i,V1j,V1k;
    private TextField V2i,V2j,V2k;
    private TextField V3i,V3j,V3k;
 
    private int[][] arreglo  = new int[3][4];
    private int[][] arreglo2 = new int[3][4];
    private int[][] arreglo3 = new int[3][4];
 
    public void init() {

        fondo = getImage(getCodeBase(),"fondoPrograma7.png");
  
 Label vector1 = new Label("Vector 1 =");
 add(vector1);
 V1i = new TextField(2);
 add(V1i);
 V1i.addActionListener(this);
  
 Label V1i = new Label("i    +");
 add(V1i);
  
 V1j = new TextField(2);
 add(V1j);
 V1j.addActionListener(this);
  
 Label V1j = new Label("j    +");
 add(V1j);
  
 V1k = new TextField(2);
 add(V1k);
 V1k.addActionListener(this);
  
 Label V1k = new Label("k");
 add(V1k);
 
        ////////////////////////////////////////////////////
 
 Label vector2 = new Label("Vector 2 =");
 add(vector2);
 V2i = new TextField(2);
 add(V2i);
 V2i.addActionListener(this);
  
 Label V2i = new Label("i    +");
 add(V2i);
  
 V2j = new TextField(2);
 add(V2j);
 V2j.addActionListener(this);
  
 Label V2j = new Label("j    +");
 add(V2j);
  
 V2k = new TextField(2);
 add(V2k);
 V2k.addActionListener(this);
  
 Label V2k = new Label("k");
 add(V2k);
     
        ////////////////////////////////////////////////////
        
        Label vector3 = new Label("Vector 3 =");
 add(vector3);
 V3i = new TextField(2);
 add(V3i);
 V3i.addActionListener(this);
  
 Label V3i = new Label("i    +");
 add(V3i);
  
 V3j = new TextField(2);
 add(V3j);
 V3j.addActionListener(this);
  
 Label V3j = new Label("j    +");
 add(V3j);
  
 V3k = new TextField(2);
 add(V3k);
 V3k.addActionListener(this);
  
 Label V3k = new Label("k");
 add(V3k); 
    }
 
    public void actionPerformed(ActionEvent event) {
        arreglo[0][0] = Integer.parseInt(V1i.getText());
 arreglo[0][1] = Integer.parseInt(V2i.getText());  
 arreglo[0][2] = Integer.parseInt(V3i.getText());
 arreglo[0][3] = 0; 
  
 arreglo[1][0] = Integer.parseInt(V1j.getText());
 arreglo[1][1] = Integer.parseInt(V2j.getText());
 arreglo[1][2] = Integer.parseInt(V3j.getText());
 arreglo[1][3] = 0;
  
 arreglo[2][0] = Integer.parseInt(V1k.getText());
 arreglo[2][1] = Integer.parseInt(V2k.getText());
 arreglo[2][2] = Integer.parseInt(V3k.getText());
 arreglo[2][3] = 0;
 repaint();
    }
 
    public void paint(Graphics g) {
 
 boolean b = g.drawImage(fondo, 0, 0, 320, 300, this);
 
 int y = 100, x =5;  //DIBUJA EL ARREGLO UNO
        for(int renglon = 0 ; renglon < 3 ; renglon++) {
         for(int col = 0 ; col < 4 ; col++) {
       g.setColor(Color.white);
             g.drawString(Integer.toString(arreglo[renglon][col]), x, y);
          x = x + 30;
         }
         y = y + 20;
   x = 5;
        }
 
    for(int i=0 ; i<=3 ; i++){ //CREA EL ARREGLO DOS
     arreglo2[0][i] = arreglo[0][i];
  arreglo2[1][i] = (-arreglo[1][0]* arreglo[0][i]) + (arreglo[0][0] * arreglo[1][i]) ;
     arreglo2[2][i] = (-arreglo[2][0]* arreglo[0][i]) + (arreglo[0][0] * arreglo[2][i]) ;
 }
 
 int y2 = 170, x2 =5;  //DIBUJA EL ARREGLO DOS
        for(int renglon = 0 ; renglon < 3 ; renglon++) {
         for(int col = 0 ; col < 4 ; col++) {
             g.drawString(Integer.toString(arreglo2[renglon][col]), x2, y2);
          x2 = x2 + 30;
         }
         y2 = y2 + 20;
   x2 = 5;
        }
  
 for(int i=0 ; i<=3 ; i++){ //CREA EL ARREGLO TRES
     arreglo3[0][i] = arreglo2[0][i];
  arreglo3[1][i] = arreglo2[1][i];
     arreglo3[2][i] = (-arreglo2[2][1]* arreglo2[1][i]) + (arreglo2[1][1] * arreglo2[2][i]) ;
 }    
 
 int y3 = 240, x3 =5;  //DIBUJA EL ARREGLO TRES
        for(int renglon = 0 ; renglon < 3 ; renglon++) {
         for(int col = 0 ; col < 4 ; col++) {
             g.drawString(Integer.toString(arreglo3[renglon][col]), x3, y3);
          x3 = x3 + 30;
         }
         y3= y3 + 20;
   x3 = 5;
        }
 int C1,C2,C3;
 if(arreglo3[2][2] == 0) {
     C3 = -1;
  C2 = (-arreglo3[1][2] * C3) / arreglo3[1][1];
  C1 = ((-arreglo3[0][1] * C2) + (- arreglo[0][2] *C3))/arreglo[0][0] ;
  g.setColor(Color.black);
        g.drawString("Este conjunto de vectores son:",110,110);
  g.setColor(Color.blue);
     g.drawString("Linealmente dependientes",110,125);
  g.setColor(Color.black);
  g.drawString("y una de sus infinitas soluciones",110,140);
  g.setColor(Color.red);
  g.drawString("puede ser: C1= "+C1+" C2= "+C2+" C3= "+C3,110,155);
 }
 else {
     C3 = 0;
  C2 = 0;
  C1 = 0;
  g.setColor(Color.black);
        g.drawString("Este conjunto de vectores son:",110,110);
  g.setColor(Color.blue);
     g.drawString("Linealmente independientes",110,125);
  g.setColor(Color.black);
  g.drawString("y su unica solucion es:",110,140);
  g.setColor(Color.red);
  g.drawString("C1= "+C1+" C2= "+C2+" C3= "+C3,110,155);
 }
    }   
}

Comentarios