miércoles, 24 de junio de 2009
Examen
import java.awt.*;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
public class Prueba extends Applet {
public void init(){
}
public void paint(Graphics g){
String aux=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DEL RADIO","TITULO",JOptionPane.DEFAULT_OPTION);
double radio=Double.parseDouble(aux);
String aux2=JOptionPane.showInputDialog(null,"INGRESE EL ANGULO FINAL","TITULO",JOptionPane.DEFAULT_OPTION);
double teta=Double.parseDouble(aux2);
String aux3=JOptionPane.showInputDialog(null,"INGRESE Vx","TITULO",JOptionPane.DEFAULT_OPTION);
double vx=Double.parseDouble(aux3);
String aux4=JOptionPane.showInputDialog(null,"INGRESE Vy","TITULO",JOptionPane.DEFAULT_OPTION);
double vy=Double.parseDouble(aux4);
String aux5=JOptionPane.showInputDialog(null,"INGRESE ax","TITULO",JOptionPane.DEFAULT_OPTION);
double ax=Double.parseDouble(aux5);
String aux6=JOptionPane.showInputDialog(null,"INGRESE ay","TITULO",JOptionPane.DEFAULT_OPTION);
double ay=Double.parseDouble(aux6);
String aux7=JOptionPane.showInputDialog(null,"INGRESE EL TIEMPO","TITULO",JOptionPane.DEFAULT_OPTION);
double tiempo=Double.parseDouble(aux7);
g.drawOval(50, 50,(int) radio*10,(int) radio*10);
double wf=teta/tiempo;
double alfa=wf/tiempo;
double modvo=Math.sqrt((vx*vx)+(vy*vy));
double vfinal=(radio*wf)+modvo;
double yf=10*radio*Math.sin((180-teta)*Math.PI/180);
double xf=10*radio*Math.cos((180-teta)*Math.PI/180);
g.drawOval((int)(10*radio+50-xf-2*radio),(int)(10*radio+50-yf-2*radio),(int)radio,(int)radio);
g.setColor(Color.BLACK);
g.drawString("VELOCIDAD ANGULAR FINAL", 202,44);
g.drawString(""+wf, 322,44);
g.drawString("VELOCIDAD FINAL", 202,59);
g.drawString(""+(int)vfinal, 322,59);
g.drawString("A ANGULAR", 202,74);
g.drawString(""+alfa, 322,74);
g.drawString("TIEMPO", 202,89);
g.drawString(""+tiempo, 322,89);
g.drawString("ANGULO", 202,104);
g.drawString(""+teta, 322,104);
Dinamica - Fuerzas

import javax.swing.JApplet;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JOptionPane;
/**
*
* @author program
*/
public class Dinamica extends JApplet {
/**
* Initialization method that will be called after the applet is loaded
* into the browser.
*/
public void init() {
// TODO start asynchronous download of heavy resources
}
public void paint(Graphics g){
String aux=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA BASE","BASE",JOptionPane.PLAIN_MESSAGE);
double x= Double.parseDouble(aux);
g.drawLine(30,150,(int)x+30,150 );
String aux2=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA ALTURA","ALTURA",JOptionPane.DEFAULT_OPTION);
double y =Double.parseDouble(aux2);
g.drawLine((int)x+30, 150,(int)x+30,150-(int)y);
g.drawLine(30, 150, (int)x+30, 150-(int)y);
double angulo;
double tan=y/x;
angulo=Math.atan(tan);
angulo=Math.toDegrees(angulo);
String aux8=JOptionPane.showInputDialog(null,"INGRESE LA DISTANCIA a DE LA MASA","INGRESE DISTANCIA a",JOptionPane.DEFAULT_OPTION);
double ab=Double.parseDouble(aux8);
double c=ab*Math.cos(angulo*Math.PI/180);
double xo=30+c;
double l=ab*Math.sin(angulo*Math.PI/180);
double yo=150-l;
double d=20*Math.cos(angulo*Math.PI/180);
double xo1=xo+d;
double m=(c+d)*Math.tan(angulo*Math.PI/180);
double yo1=150-m;
g.setColor(Color.RED);
g.drawLine((int)xo,(int)yo,(int)xo1,(int)yo1);
double dx=10*Math.sin(angulo*Math.PI/180);
double dy=10*Math.cos(angulo*Math.PI/180);
double xo2=xo1-dx;
double yo2=yo1-dy;
g.drawLine((int)xo1,(int)yo1,(int)xo2,(int)yo2);
g.drawLine((int)xo2,(int)yo2,(int)(xo-dx),(int)(yo-dy));
g.drawLine((int)(xo-dx),(int)(yo-dy),(int)xo,(int)yo);
String aux3=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA FUERZA","FUERZA EN NEWTONS",JOptionPane.DEFAULT_OPTION);
double fuerza=Double.parseDouble(aux3);
String aux4=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA MASA","MASA EN KILOGRAMOS",JOptionPane.DEFAULT_OPTION);
double masa=Double.parseDouble(aux4);
String aux5=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DEL COEFICIENTE DE ROZAMIENTO","COEFICIENTE DE ROZAMIENTO",JOptionPane.DEFAULT_OPTION);
double miu=Double.parseDouble(aux5);
String aux6=JOptionPane.showInputDialog(null,"INGRESE EL TIEMPO","TIEMPO EN SEGUNDOS",JOptionPane.DEFAULT_OPTION);
double tiempo=Double.parseDouble(aux6);
double gravedad=9.8;
double aceleracion;
aceleracion=(fuerza/masa)-(gravedad*((miu*Math.cos(angulo*Math.PI/180))+Math.sin(angulo*Math.PI/180)));
double desplazamiento= aceleracion*0.5*tiempo*tiempo;
double xn=desplazamiento*Math.cos(angulo*Math.PI/180);
double yn=desplazamiento*Math.sin(angulo*Math.PI/180);
g.setColor(Color.BLACK);
g.drawLine((int)(xo+xn),(int)(yo-yn), (int)(xo1+xn), (int)(yo1-yn));
g.drawLine((int)(xo1+xn),(int)(yo1-yn),(int)(xo2+xn),(int)(yo2-yn) );
g.drawLine((int)(xo2+xn),(int)(yo2-yn),(int)(xo+xn-dx),(int)(yo-yn-dy) );
g.drawLine((int)(xo+xn-dx),(int)(yo-yn-dy),(int)(xo+xn),(int)(yo-yn) );
g.setColor(Color.RED);
g.drawString("FUERZA = ", 260,44);
g.drawString("MASA =", 270,59);
g.drawString("TIEMPO =", 260,74);
g.drawString("MIU =", 280,89);
g.drawString("ACEL =", 270,104);
g.drawString("DESPLA =", 260,119);
g.drawString("LA NORMAL =", 230,134);
g.drawString("ANG PLANO =", 230,149);
g.drawString("b =",30+(int)x/2,170);
g.drawString("h =",(int)x+40,160-(int)y/2);
g.setColor(Color.BLACK);
g.drawString(""+(int)x,50+(int)x/2,170);
g.drawString(""+(int)y,(int)x+60,160-(int)y/2);
g.drawString(""+(short)angulo, 322,149);
g.drawString(""+fuerza, 322,44);
g.drawString(""+(short)masa, 322,59);
g.drawString(""+tiempo, 322,74);
g.drawString(""+miu, 322,89);
g.drawString(""+miu, 322,89);
g.drawString(""+(short)aceleracion, 322,104);
g.drawString(""+(short)desplazamiento, 322,119);
g.drawString(""+(short)(miu*masa*gravedad*Math.cos(angulo*Math.PI/180)), 322,134);
}
}
Dinamica

import javax.swing.JApplet;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JOptionPane;
/**
*
* @author program
*/
public class Dinamica extends JApplet {
/**
* Initialization method that will be called after the applet is loaded
* into the browser.
*/
public void init() {
// TODO start asynchronous download of heavy resources
}
public void paint(Graphics g){
String aux=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA BASE","BASE",JOptionPane.PLAIN_MESSAGE);
double x= Double.parseDouble(aux);
g.drawLine(30,150,(int)x+30,150 );
String aux2=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA ALTURA","ALTURA",JOptionPane.DEFAULT_OPTION);
double y =Double.parseDouble(aux2);
g.drawLine((int)x+30, 150,(int)x+30,150-(int)y);
g.drawLine(30, 150, (int)x+30, 150-(int)y);
double angulo;
double tan=y/x;
angulo=Math.atan(tan);
angulo=Math.toDegrees(angulo);
String aux8=JOptionPane.showInputDialog(null,"INGRESE LA DISTANCIA a DE LA MASA","INGRESE DISTANCIA a",JOptionPane.DEFAULT_OPTION);
double ab=Double.parseDouble(aux8);
double c=ab*Math.cos(angulo*Math.PI/180);
double xo=30+c;
double l=ab*Math.sin(angulo*Math.PI/180);
double yo=150-l;
double d=20*Math.cos(angulo*Math.PI/180);
double xo1=xo+d;
double m=(c+d)*Math.tan(angulo*Math.PI/180);
double yo1=150-m;
g.setColor(Color.RED);
g.drawLine((int)xo,(int)yo,(int)xo1,(int)yo1);
double dx=10*Math.sin(angulo*Math.PI/180);
double dy=10*Math.cos(angulo*Math.PI/180);
double xo2=xo1-dx;
double yo2=yo1-dy;
g.drawLine((int)xo1,(int)yo1,(int)xo2,(int)yo2);
g.drawLine((int)xo2,(int)yo2,(int)(xo-dx),(int)(yo-dy));
g.drawLine((int)(xo-dx),(int)(yo-dy),(int)xo,(int)yo);
String aux3=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA FUERZA","FUERZA EN NEWTONS",JOptionPane.DEFAULT_OPTION);
double fuerza=Double.parseDouble(aux3);
String aux4=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA MASA","MASA EN KILOGRAMOS",JOptionPane.DEFAULT_OPTION);
double masa=Double.parseDouble(aux4);
String aux5=JOptionPane.showInputDialog(null,"INGRESE EL VALOR DEL COEFICIENTE DE ROZAMIENTO","COEFICIENTE DE ROZAMIENTO",JOptionPane.DEFAULT_OPTION);
double miu=Double.parseDouble(aux5);
String aux6=JOptionPane.showInputDialog(null,"INGRESE EL TIEMPO","TIEMPO EN SEGUNDOS",JOptionPane.DEFAULT_OPTION);
double tiempo=Double.parseDouble(aux6);
double gravedad=9.8;
double aceleracion;
aceleracion=(fuerza/masa)-(gravedad*((miu*Math.cos(angulo*Math.PI/180))+Math.sin(angulo*Math.PI/180)));
double desplazamiento= aceleracion*0.5*tiempo*tiempo;
double xn=desplazamiento*Math.cos(angulo*Math.PI/180);
double yn=desplazamiento*Math.sin(angulo*Math.PI/180);
g.setColor(Color.BLACK);
g.drawLine((int)(xo+xn),(int)(yo-yn), (int)(xo1+xn), (int)(yo1-yn));
g.drawLine((int)(xo1+xn),(int)(yo1-yn),(int)(xo2+xn),(int)(yo2-yn) );
g.drawLine((int)(xo2+xn),(int)(yo2-yn),(int)(xo+xn-dx),(int)(yo-yn-dy) );
g.drawLine((int)(xo+xn-dx),(int)(yo-yn-dy),(int)(xo+xn),(int)(yo-yn) );
g.setColor(Color.RED);
g.drawString("FUERZA = ", 260,44);
g.drawString("MASA =", 270,59);
g.drawString("TIEMPO =", 260,74);
g.drawString("MIU =", 280,89);
g.drawString("ACEL =", 270,104);
g.drawString("DESPLA =", 260,119);
g.drawString("LA NORMAL =", 230,134);
g.drawString("ANG PLANO =", 230,149);
g.drawString("b =",30+(int)x/2,170);
g.drawString("h =",(int)x+40,160-(int)y/2);
g.setColor(Color.BLACK);
g.drawString(""+(int)x,50+(int)x/2,170);
g.drawString(""+(int)y,(int)x+60,160-(int)y/2);
g.drawString(""+(short)angulo, 322,149);
g.drawString(""+fuerza, 322,44);
g.drawString(""+(short)masa, 322,59);
g.drawString(""+tiempo, 322,74);
g.drawString(""+miu, 322,89);
g.drawString(""+miu, 322,89);
g.drawString(""+(short)aceleracion, 322,104);
g.drawString(""+(short)desplazamiento, 322,119);
g.drawString(""+(short)(miu*masa*gravedad*Math.cos(angulo*Math.PI/180)), 322,134);
}
}
Temperatura - Circulo

import javax.swing.JApplet;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JOptionPane;
public class Circulo extends JApplet {
/**
* Initialization method that will be called after the applet is loaded
* into the browser.
*/
public void init() {
// TODO start asynchronous download of heavy resources
}
public void paint(Graphics g){
g.drawString("TEMPERATURA", 120, 30);
g.drawOval(100, 50, 100,100 );
String aux = JOptionPane.showInputDialog(null,"INGRESE EL VALOR DE LA TEMPERATURA","titulo",JOptionPane.DEFAULT_OPTION);
int temp = Integer.parseInt(aux);
g.drawString("+"+temp+" C", 230, 200-temp);
g.setColor(Color.BLUE);
if(temp >80){
g.setColor(Color.RED);
g.drawString("ALERTA", 230 , 90);
g.fillArc(100, 50,100 ,100 ,0, (temp*360)/100);
}
g.fillArc(100, 50,100 ,100 ,0,(temp*360)/100);
}
}
Temperatura

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JApplet;
import java.awt.*;
import javax.swing.JOptionPane;
public class Temperatura extends javax.swing.JApplet {
public void init(){}
public void paint(Graphics g){
g.drawRect(200, 50, 20, 100);
g.drawOval(20,30,50,50);
g.drawString("-10 ºc", 230, 150);
g.drawString("+100 ºc", 230, 50);
String aux = JOptionPane.showInputDialog(null,"Ingrese el valor", "Titulo",JOptionPane.DEFAULT_OPTION);
int temp= Integer.parseInt(aux);
g.drawString("+"+temp+"ºc",230,150-temp);
g.setColor(Color.BLUE);
g.fillRect(200, 50, 20, 100-temp);
if (temp>80){
g.setColor(Color.RED);
g.fillOval(20, 30, 50, 50);
g.drawString("Alerta", 30, 10);
}
g.fillOval(20, 30, 50, 50);
}
}
sábado, 20 de junio de 2009
Panel

import java.awt.*;
import javax.swing.*;
public class Panel extends JFrame {
//Bordes o Contenedor
Container contenedor;
private JPanel panelInicio;
private JPanel panelFin;
private JPanel panelEste;
private JButton [][] botones;
private JLabel [][]texto;
private JTextField[][] cuadros;
//Constructor
public Panel(){
botones=new JButton[3][3];
contenedor= getContentPane();
panelInicio=new JPanel(new GridLayout(3,3, 10, 10));
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
botones[i][j]=new JButton("boton"+i+" "+j);
panelInicio.add(botones[i][j]);
}
}
contenedor.add(panelInicio, BorderLayout.NORTH);
texto = new JLabel[5][5];
panelFin= new JPanel(new GridLayout(5,5,10,10));
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
texto[i][j]=new JLabel("texto "+i+" " +j);
panelFin.add(texto[i][j]);
}
}
contenedor.add(panelFin, BorderLayout.SOUTH);
cuadros= new JTextField[4][3];
panelEste= new JPanel(new GridLayout(4,3,10,10));
for(int i=0; i<4; i++){
for(int j=0; j<3; j++){
cuadros[i][j]=new JTextField("Cuadros "+i+" "+j);
panelEste.add(cuadros[i][j]);
}
}
contenedor.add(panelEste, BorderLayout.EAST);
setSize(600,600);
setVisible(true);
}
public static void main(String args[]){
Panel aplicacion= new Panel();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Funciones

import java.applet.Applet;
import java.awt.*;
public class Funciones extends Applet {
public void paint(Graphics g){
double m=1;
int a=1,b=1;
this.setSize(800, 450);
g.setColor(Color.DARK_GRAY);
g.drawString("Y = f(x)",100,80);
g.drawString("-Y = f(x)",100,420);
g.drawString("0",90,252);
g.drawString("X = Rad",620,250);
g.drawString("π/2",180,265);
g.drawString("π",290,245);
g.drawString("3π/2",360,245);
g.drawString("2π",450,245);
g.setColor(Color.BLACK);
g.drawLine(100, 100, 100, 400);
g.drawLine(100, 250, 600, 250);
g.drawLine(590, 120, 590, 50);
g.drawLine(700, 120, 700, 50);
g.drawLine(590, 120, 700, 120);
g.drawLine(590, 50, 700, 50);
g.setColor(Color.red);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(245 - 100*m*(Math.cos((a*i+b)*3.141516/180))),5,5);
}
g.drawString("y = cos (ax + b)", 600, 90);
g.setColor(Color.blue);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(245 - 100*m*(Math.sin((a*i+b)*3.141516/180))),5,5);
}
g.drawString("y = Sen (ax + b)", 600, 70);
g.setColor(Color.MAGENTA);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(m*(a*i+b)),5,5);
}
g.drawString("y = (ax + b)", 600, 110);
g.setColor(Color.BLUE);
//g.drawLine(100, 60, 200, 60);
for(int i=0; i<24; i++){
g.drawLine((i*15)+100, 145,(i*15)+110,145);
}
for(int i=0; i<24; i++){
g.drawLine((i*15)+100, 350,(i*15)+110,350);
}
for(int i=0; i<13; i++){
g.drawLine(370,(i*16)+145,370,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(195,(i*16)+145,195,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(283,(i*16)+145,283,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(460,(i*16)+145,460,(i*16)+155);
}
g.setColor(Color.GRAY);
g.drawString("1", 90, 148);
g.drawString("-1", 85, 353);
}
}
Funcion Seno
import java.awt.*;
public class Dibujo extends Applet {
public void paint(Graphics g){
g.setColor(Color.black);
g.drawString("y = Sen(x)", 20, 20);
g.drawString("y",100,80);
g.drawString("-y",100,420);
g.drawString("0",90,252);
g.drawString("x",620,250);
g.drawString("π/2",180,265);
g.drawString("π",290,245);
g.drawString("3π/2",360,265);
g.drawString("2π",450,245);
g.setColor(Color.red);
g.drawLine(100, 100, 100, 400);
g.drawLine(100, 250, 600, 250);
g.setColor(Color.BLUE);
for(int i=0;i<360; i="i+5){" i="0;" i="0;" i="0;" i="0;">
Ciclo de Vida de un Applet
Un applet no tiene un ciclo de vida tan "sencillo" como el de una aplicación, que simplemente se ejecuta hasta que finaliza su método main(). La siguiente figura modeliza el ciclo de vida de una applet:

Cada círculo representa una fase en el ciclo de vida de la applet. Las flechas representan transiciones y el texto representa la acción que causa la transición. Cada fase está marcada con una invocación a un método de la applet:
void init(); Es invocado cuando se carga la applet. Aquí se suelen introducir las iniciaciones que la applet necesite.
void start();Es invocado cuando la applet, después de haber sido cargada, ha sido parada (cambio de página Web, minimización del navegador,...), y de nuevo activada (vuelta a la página, restauración del navegador,...). Se informa a la applet de que tiene que empezar su funcionamiento.
void stop(); Es invocado para informar a la applet de que debe de parar su ejecución. Así una applet que utilice threads, debería detenerlos en el código de este método.
void destroy();Es invocado para informar a la applet de que su espacio está siendo solicitado por el sistema, es decir el usuario abandona el navegador. La applet debe de aprovechar este momento para liberar o destruir los recursos que está utilizando.
void paint(); Es invocado cada vez que hay que el navegador redibuja la applet.
Evaluacion Movimientos

public class Evaluacion extends javax.swing.JApplet {
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents(); } }); }
catch (Exception ex) {
ex.printStackTrace(); } }
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Matriz r = new Matriz(1,3); double aux = Double.parseDouble(jTextField1.getText()); //para almacenar lo que se escribe r.matriz[0][0]=aux; aux=Double.parseDouble(jTextField2.getText()); r.matriz[0][1]=aux; aux=Double.parseDouble(jTextField3.getText()); r.matriz[0][2]=aux; Matriz v = new Matriz(1,3); aux = Double.parseDouble(jTextField4.getText()); //para almacenar lo que se escribe v.matriz[0][0]=aux; aux=Double.parseDouble(jTextField5.getText()); v.matriz[0][1]=aux; aux=Double.parseDouble(jTextField6.getText()); v.matriz[0][2]=aux; double t= Double.parseDouble(jTextField7.getText()); jTextArea1.setText("La posicion final es: \n" + (r.suma(v.multiplicaEscalar(t))).imprimir() ); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
Matriz v = new Matriz(1,3);
double aux = Double.parseDouble(jTextField4.getText()); //para almacenar lo que se escribe v.matriz[0][0]=aux; aux=Double.parseDouble(jTextField5.getText()); v.matriz[0][1]=aux; aux=Double.parseDouble(jTextField6.getText()); v.matriz[0][2]=aux; jTextArea1.setText("La velocidad final es: \n" + v.imprimir() ); }
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Matriz r = new Matriz(1,3); double aux = Double.parseDouble(jTextField8.getText()); //para almacenar lo que se escribe r.matriz[0][0]=aux; aux=Double.parseDouble(jTextField9.getText()); r.matriz[0][1]=aux; aux=Double.parseDouble(jTextField10.getText()); r.matriz[0][2]=aux; Matriz v = new Matriz(1,3); aux = Double.parseDouble(jTextField11.getText()); //para almacenar lo que se escribe v.matriz[0][0]=aux; aux=Double.parseDouble(jTextField12.getText()); v.matriz[0][1]=aux; aux=Double.parseDouble(jTextField13.getText()); v.matriz[0][2]=aux; Matriz a = new Matriz(1,3); aux = Double.parseDouble(jTextField14.getText()); //para almacenar lo que se escribe a.matriz[0][0]=aux; aux=Double.parseDouble(jTextField15.getText()); a.matriz[0][1]=aux; aux=Double.parseDouble(jTextField16.getText()); a.matriz[0][2]=aux; double t= Double.parseDouble(jTextField17.getText()); jTextArea1.setText(((r.suma(v.multiplicaEscalar(t))).suma((a.multiplicaEscalar(t)).multiplicaEscalar(t).multiplicaEscalar(0.5)).imprimir())); //jTextArea1.setText("La velocidad final es: \n" + (r.suma(v.multiplicaEscalar(t)).suma(a.multiplicaEscalar(t)).multiplicaEscalar(t).multiplicaEscalar(0.5)).imprimir() ); } private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Matriz r = new Matriz(1,3); double aux = Double.parseDouble(jTextField8.getText()); //para almacenar lo que se escribe r.matriz[0][0]=aux; aux=Double.parseDouble(jTextField9.getText()); r.matriz[0][1]=aux; aux=Double.parseDouble(jTextField10.getText()); r.matriz[0][2]=aux; Matriz v = new Matriz(1,3); aux = Double.parseDouble(jTextField11.getText()); //para almacenar lo que se escribe v.matriz[0][0]=aux; aux=Double.parseDouble(jTextField12.getText()); v.matriz[0][1]=aux; aux=Double.parseDouble(jTextField13.getText()); v.matriz[0][2]=aux; Matriz a = new Matriz(1,3); aux = Double.parseDouble(jTextField14.getText()); //para almacenar lo que se escribe a.matriz[0][0]=aux; aux=Double.parseDouble(jTextField15.getText()); a.matriz[0][1]=aux; aux=Double.parseDouble(jTextField16.getText()); a.matriz[0][2]=aux; double t= Double.parseDouble(jTextField17.getText()); jTextArea1.setText("La velocidad final es: \n"+(v.suma(a.multiplicaEscalar(t))).imprimir()); } private void jTextField16ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } private void jTextField17ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }
lunes, 8 de junio de 2009
Swing & AWT
La libreria Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. Swing abarca componentes como botones, tablas, marcos, etc...
Las componentes Swing se identifican porque pertenecen al paquete javax.swing.
Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos. Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J").
Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el modelo de eventos AWT, el cual rige cómo una componente reacciona a eventos tales como, eventos de teclado, mouse, etc... Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*.
Libreria AWT
Es una librería de clases Java para desarrollar interfaces de usuario gráficas. Es la librería básica y se ha construido una posterior que es la Swing.
La librería AWT esta compuesta por:
• Los Componentes (java.awt.Component), como los Buttons, Labels,..
• Los Contenedores (java,awt.containers), contienen componentes.
• Los gestores de posición (java.awt.LayoutManager), que posiciona los componentes dentro de los contenedores.
• Los eventos (java.awt.AWTEvent), que nos indican las acciones del usuario.
Es una clase abstracta que representa todo lo que tiene una posición, un tamaño, puede ser pintado en pantalla y puede recibir eventos. Ademas es una clase abstracta derivada de Component, que representa a cualquier componente que pueda contener otros componentes.
Herencia
public Vector(){
}
public Vector(int numElementos){
numeroFilas = 1;
numeroColumnas = numElementos;
matriz = new double[numeroFilas][numeroColumnas];
}
public Vector(int nF, int nC){
super(nF,nC);
}
public double productoEscalar(Vector x){
double resultado = 0;
resultado=this.multiplica(x.transpueta()).matriz[0][0];
return resultado;
}
public static void main(String [] args){
Vector v = new Vector(3);
v.matriz[0][0]= 1;
v.matriz[0][1]= 0;
v.matriz[0][2]= 1;
//v.transpuesta();
System.out.println(v.imprimir());
Vector v1 = new Vector(1,3);
v1.matriz[0][0]= 1;
v1.matriz[0][1]= 2;
v1.matriz[0][2]= 3;
System.out.println(v1.imprimir());
System.out.println((v.suma(v1)).imprimir());
System.out.println("Producto escalar "+v.productoEscalar(v1));
}
}
domingo, 3 de mayo de 2009
Matriz MRUV
public MatrizParticula p;
public MatrizMRUV(){}
public MatrizMRUV(Matriz xo, Matriz vo, Matriz a){
p =new MatrizParticula();
p.setPosicionInicial(xo);
p.setVelocidadInicial(vo);
p.setAceleracion(a);
}
public Matriz calcularPosicionMRUV(double t){
Matriz posicion;
Matriz xo, vo, a;
//Acontinuacion almaceno mis variable
xo= this.p.getPosicionInicial();
posicion= new Matriz(xo.numeroFilas, xo.numeroColumnas);
vo= this.p.getVelocidadInicial();
a= this.p.getAceleracion();
posicion = xo.suma(vo.multiplicaEscalar(t).suma(a.multiplicaEscalar(t).multiplicaEscalar(t).multiplicaEscalar(0.5)));
return posicion;
}
public Matriz calcularVelocidadMRUV(double t){
Matriz velocidad;
Matriz vo, a;
//Acontinuacion almaceno mis variable
vo= this.p.getVelocidadInicial();
velocidad= new Matriz(vo.numeroFilas, vo.numeroColumnas);
a= this.p.getAceleracion();
velocidad = vo.suma(a.multiplicaEscalar(t));
return velocidad;
}
public Matriz calcularAceleracionMRUV(double t){
Matriz aceleracion= p.getAceleracion();
return aceleracion;
}
public static void main(String args[]){
Matriz xo= new Matriz(1,3);
xo.matriz[0][0]=5; xo.matriz[0][1]=0; xo.matriz[0][2]=-5;
Matriz vo= new Matriz(1,3);
vo.matriz[0][0]=2; vo.matriz[0][1]=0; vo.matriz[0][2]=0;
Matriz a= new Matriz(1,3);
a.matriz[0][0]=2; a.matriz[0][1]=0; a.matriz[0][2]=0;
MatrizMRUV m=new MatrizMRUV(xo,vo, a);
Matriz x;
x=m.calcularPosicionMRUV(2);
Matriz v;
v=m.calcularVelocidadMRUV(2);
Matriz ac;
ac=m.calcularAceleracionMRUV(2);
System.out.println("MRUV\n");
System.out.println("La posicion inicial es:\n" +xo.imprimir());
System.out.println("La velocidad inicial es:\n" +vo.imprimir());
System.out.println("La aceleracion es:\n" +a.imprimir());
System.out.println("La posicion a t=2\n" +x.imprimir());
System.out.println("La velocidad a t=2\n"+v.imprimir());
System.out.println("La aceleracion a t=2\n"+a.imprimir());
}
}
Matriz MRU
public MatrizParticula p;
public MatrizMRU(){}
public MatrizMRU(Matriz xo, Matriz vo, Matriz a){
p =new MatrizParticula();
p.setPosicionInicial(xo);
p.setVelocidadInicial(vo);
p.setAceleracion(a);
}
public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz xo, vo, a;
//Acontinuacion almaceno mis variable
xo= this.p.getPosicionInicial();
posicion= new Matriz(xo.numeroFilas, xo.numeroColumnas);
vo= this.p.getVelocidadInicial();
a= this.p.getAceleracion();
posicion = xo.suma(vo.multiplicaEscalar(t));
return posicion;
}
public Matriz calcularVelocidad(double t){
Matriz velocidad= p.getVelocidadInicial();
return velocidad;
}
public Matriz calcularAceleracion(double t){
Matriz aceleracion = new Matriz(1,this.p.getPosicionInicial().numeroColumnas); ;
for(int i=0;i
return aceleracion;
}
public static void main(String args[]){
Matriz xo= new Matriz(1,3);
xo.matriz[0][0]=5; xo.matriz[0][1]=0; xo.matriz[0][2]=-5;
Matriz vo= new Matriz(1,3);
vo.matriz[0][0]=2; vo.matriz[0][1]=0; vo.matriz[0][2]=0;
Matriz a= new Matriz(1,3);
a.matriz[0][0]=0; a.matriz[0][1]=0; a.matriz[0][2]=0;
MatrizMRU m=new MatrizMRU(xo,vo, a);
Matriz x;
x=m.calcularPosicion(2);
Matriz v;
v=m.calcularVelocidad(2);
Matriz ac;
ac=m.calcularAceleracion(2);
System.out.println("MRU\n");
System.out.println("La posicion inicial es:\n" +xo.imprimir());
System.out.println("La velocidad inicial es:\n" +vo.imprimir());
System.out.println("La aceleracion es:\n" +a.imprimir());
System.out.println("La posicion a t=2\n" +x.imprimir());
System.out.println("La velocidad a t=2\n"+v.imprimir());
System.out.println("La aceleracion a t=2\n"+a.imprimir());
}
}
Matriz Particula
private Matriz posicionInicial;
private Matriz velocidadInicial;
private Matriz aceleracion;
public MatrizParticula(){}
public MatrizParticula(Matriz pI, Matriz vI, Matriz a){
posicionInicial = pI;
velocidadInicial = vI;
aceleracion = a;
}
public Matriz getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(Matriz pI){
posicionInicial = pI;
}
public Matriz getAceleracion(){
return aceleracion;
}
public void setAceleracion(Matriz a){
aceleracion = a;
}
public void setVelocidadInicial(Matriz vI){
velocidadInicial = vI;
}
public Matriz getVelocidadInicial(){
return velocidadInicial;
}
}
Matriz Inversa
public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;
public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];
for(int i=0; i<>
for(int j=0; j<>
matriz[i][j]=0;
}
public String imprimir(){
String aux = "";
for(int i=0; i
for(int j=0; j
aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}
public Matriz inversa(){
Matriz result=new Matriz(this.numeroFilas,this.numeroColumnas);
double tmp;
Matriz I=new Matriz(this.numeroFilas,this.numeroColumnas*2);
for(int i=0;i
for(int j=0;j
I.matriz[i][j]=0.0;
for(int i=0;i
for(int j=0;j
I.matriz[i][j]=this.matriz[i][j];
if (i==j)
I.matriz[i][j+this.numeroFilas]=1.0;
}
}
for(int i=0;i
tmp=I.matriz[i][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k
if(k!=i){
tmp=I.matriz[k][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i
for(int j=0;j
result.matriz[i][j]=I.matriz[i][j+this.numeroColumnas];
return result;
}
}
public static void main(String args[]){
Matriz m= new Matriz(2, 2);
m.matriz[0][0]=1; m.matriz[0][1]=-1;
m.matriz[1][0]=2; m.matriz[1][1]=1;
System.out.println(m.imprimir());
System.out.println("La inversa de m es:\n");
System.out.println(m.inversa().imprimir());
}
}
miércoles, 29 de abril de 2009
MRUV
public Particula p;
public MRUV() {}
public MRUV(double xo, double vo, double a){
p.setPosicionInicial(xo);
p.setVelocidadInicial(vo);
p.setAceleracion(a);
}
public double calcularPosicionMRUV(double t){
double posicion;
posicion = p.getPosicionInicial()+p.getVelocidadInicial()*t + 0.5*p.getAceleracion()*t*t;
return posicion;
}
public double calcularVelocidadMRUV(double t){
double velocidad;
velocidad = p.getVelocidadInicial()+p.getAceleracion()*t;
return velocidad;
}
public double calcularAceleracionMRUV(double t){
double aceleracion ;
aceleracion = p.getAceleracion();
return aceleracion;
}
}
MRU
public Particula p;
public MRU(){}
public MRU(double xo, double vo, double a){
p.setPosicionInicial(xo);
p.setVelocidadInicial(vo);
p.setAceleracion(a);
}
public double calcularPosicion(double t){
double posicion;
posicion = p.getPosicionInicial()+p.getVelocidadInicial()*t;
return posicion;
}
public double calcularVelocidad(double t){
double velocidad;
velocidad = p.getVelocidadInicial();
return velocidad;
}
public double calcularAceleracion(double t){
double aceleracion = 0 ;
return aceleracion;
}
}
Clase Particula
private double posicionInicial;
private double velocidadInicial;
private double aceleracion;
public Particula(){}
public Particula(double pI, double vI, double a){
posicionInicial = pI;
velocidadInicial = vI;
aceleracion = a;
}
public double getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(double pI){
posicionInicial = pI;
}
public double getAceleracion(){
return aceleracion;
}
public void setAceleracion(double a){
aceleracion = a;
}
public void setVelocidadInicial(double vI){
velocidadInicial = vI;
}
public double getVelocidadInicial(){
return velocidadInicial;
}
}
Matriz Evaluacion implentando la Clase Matriz
public static void main(String args[]){
System.out.println("Resolver los siguientes sistemas de ecuaciones:\n");
System.out.println("Systema de Ecuaciones 1.\n");
System.out.println("x1 + 2x2 + x3 =0\n" + "x1 + x2 = 1 \n"+ "x1 - 2x2 = -3\n");
Matriz m= new Matriz(3, 3);
m.matriz[0][0]=1; m.matriz[0][1]=2; m.matriz[0][2]=1;
m.matriz[1][0]=1; m.matriz[1][1]=1; m.matriz[1][2]=0;
m.matriz[2][0]=-1; m.matriz[2][1]=-2; m.matriz[2][2]=0;
System.out.println("Expresado en forma de matrices:\n");
System.out.println("Matriz m");
System.out.println(m.imprimir());
Matriz a= new Matriz(3,1);
a.matriz[0][0]=0;
a.matriz[1][0]=1;
a.matriz[2][0]=-3;
System.out.println("Matriz a\n");
System.out.println(a.imprimir());
System.out.println("Los valores de x1 , x2 y x3 son:\n");
System.out.println((m.inversa().multiplica(a)).imprimir());
System.out.println("Systema de Ecuaciones 2.\n");
System.out.println("x1 + x2 = 1\n"+"x2 + x3 = 1\n"+"x3 + x4 = 1\n" + "x4 + x5 = 0\n"+ "x5 + x1 = 1\n");
Matriz n= new Matriz(5, 5);
n.matriz[0][0]=1; n.matriz[0][1]=1; n.matriz[0][2]=0; n.matriz[0][3]=0; n.matriz[0][4]=0;
n.matriz[1][0]=0; n.matriz[1][1]=1; n.matriz[1][2]=1; n.matriz[1][3]=0; n.matriz[1][4]=0;
n.matriz[2][0]=0; n.matriz[2][1]=0; n.matriz[2][2]=1; n.matriz[2][3]=1; n.matriz[2][4]=0;
n.matriz[3][0]=0; n.matriz[3][1]=0; n.matriz[3][2]=0; n.matriz[3][3]=1; n.matriz[3][4]=1;
n.matriz[4][0]=1; n.matriz[4][1]=0; n.matriz[4][2]=0; n.matriz[4][3]=0; n.matriz[4][4]=1;
System.out.println("Expresado en forma de matrices:\n");
System.out.println("Matriz n");
System.out.println(n.imprimir());
Matriz b= new Matriz(5,1);
b.matriz[0][0]=1;
b.matriz[1][0]=1;
b.matriz[2][0]=1;
b.matriz[3][0]=0;
b.matriz[4][0]=1;
System.out.println("Matriz b\n");
System.out.println(b.imprimir());
System.out.println("Los valores de x1, x2, x3, x4, x5 son:\n");
System.out.println((n.inversa().multiplica(b)).imprimir());
System.out.println("Realizar las siguientes operaciones: \n");
System.out.println("D = 2 3 4 \n");
System.out.println("E = 2 -1 0 \n");
Matriz d= new Matriz(1,3);
d.matriz[0][0]=2; d.matriz[0][1]=3; d.matriz[0][2]=4;
Matriz e= new Matriz(1,3);
e.matriz[0][0]=2; e.matriz[0][1]=-1; e.matriz[0][2]=0;
System.out.println("La suma entre D y E es:\n");
System.out.println(d.suma(e).imprimir());
System.out.println("La resta entre D y E es:\n");
System.out.println(d.resta(e).imprimir());
}
}
Matriz Ecuacion implentando la Clase Matriz
public static void main(String args[]){
System.out.println("Resolver el siguiente sistema de ecuaciones:\n");
System.out.println("x1 - 2x2 =3\n" + "2x1 + x2 = -4 \n");
Matriz m= new Matriz(2, 2);
m.matriz[0][0]=1; m.matriz[0][1]=-1;
m.matriz[1][0]=2; m.matriz[1][1]=1;
System.out.println("Expresado en forma de matrices:\n");
System.out.println("Matriz m");
System.out.println(m.imprimir());
Matriz a= new Matriz(2,1);
a.matriz[0][0]=3;
a.matriz[1][0]=-4;
System.out.println("Matriz a\n");
System.out.println(a.imprimir());
System.out.println("La mutiplicaion de m*a es:\n");
System.out.println(m.multiplica(a).imprimir());
System.out.println("La inversa de m es:\n");
System.out.println(m.inversa().imprimir());
System.out.println("Los valores de x1 y x2 son:\n");
System.out.println((m.inversa().multiplica(a)).imprimir());
}
}
Clase Matriz
int numeroFilas;
int numeroColumnas;
double [][] matriz;
public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];
for(int i=0; i< numeroFilas; i++)
for(int j=0; j< numeroColumnas; j++)
matriz[i][j]=0;
}
public String imprimir(){
String aux = "";
for(int i=0; i
}
aux = aux + "\n";
}
return aux;
}
public Matriz suma(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden sumar las matrices");
return r;
}
}
public Matriz resta(Matriz B){
if ((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden sumar las matrices");
return r;
}
}
public Matriz multiplica(Matriz B){
Matriz r = new Matriz(this.numeroFilas,B.numeroColumnas);
int j;
int k;
for(int i = 0; i < this.numeroFilas; i++)
for(j = 0; j
return r;
}
public Matriz multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
int j;
for(int i=0; i< numeroFilas; i++)
for(j=0; j< numeroColumnas; j++)
r.matriz[i][j]=this.matriz[i][j]*a;
return r;
}
public Matriz inversa(){
Matriz result=new Matriz(this.numeroFilas,this.numeroColumnas);
double tmp;
Matriz I=new Matriz(this.numeroFilas,this.numeroColumnas*2);
for(int i=0;i
for(int i=0;i
if (i==j)
I.matriz[i][j+this.numeroFilas]=1.0;
}
}
for(int i=0;i
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k
tmp=I.matriz[k][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i
return result;
}
}
lunes, 6 de abril de 2009
Evaluacion
1. x1 = -1; x2=2; x3=-3
2. x1= 1; x2=0; x3=1; x4=0; x5=0;
3. a+b= 4i+2j+4k;
a-b= 4i+4k
a`b= 4 -2 0
6 -3 0
8 -4 0
miércoles, 25 de marzo de 2009
Clase, Objeto, Metodo, Atributo
Podemos definir a una clase como la agrupación de datos (variables o campos) y de funciones (métodos) los cuales operan sobre esos datos. La definición de una clase se realiza en la siguiente manera:
[public] class Classname {
// definición de variables y métodos
...
}
Donde la palabra public es opcional: si no se pone, la clase tiene la visibilidad por defecto, esto es,sólo es visible para las demás clases del package. Todos los métodos y variables deben ser definidos dentro del bloque {...} de la clase.
Objeto.
Podemos decir que un objeto es la representación virtual de algo real o un ejemplar concreto de una clase. Las clases son como tipos de variables, mientras que los objetos son como variables concretas de un tipo determinado.
Classname unObjeto;
Classname otroObjeto;
Método.
Se llama métodos a las funciones definidas dentro de una clase. Salvo los métodos static o de clase, se aplican siempre a un objeto de la clase por medio del operador punto (.). Dicho objeto es su argumento implícito. Los métodos pueden además tener otros argumentos explícitos que van entre paréntesis, a continuación del nombre del método.
Atributo.
Las variables que almacenan la informacion de un objeto se denominan los atributos del mismo. El acceso a estos atributos se realiza siempre atrves de los metodos del objeto.
Bibliografia:
Datos Obtenidos de: Libro. Aprenda Java como si estuviera en primero
miércoles, 18 de marzo de 2009
Arreglos
- Vectores
Son llamados arreglos.
Es un tipo de dato especial al que se hace referencia por un nombre.
Está compuesto por una colección de elementos del mismo tipo de datos que se almacenan consecutivamente en memoria.
Pueden ser creados de cualquier tipo.
Se utilizan para agrupar información relacionada
Pueden tener una dimensión igual a uno o mayor
Para accesar un elemento particular del arreglo, se utilizan índices
Declaración:
tipoDato[ ] nombreVariable;
tipoDato nombreVariable[ ];
Para declarar un vector de número enteros, al cual se le dá el nombre de miVector se puede hacer de la siguiente manera:
int[ ] miVector;
// o también
int miVector[ ];
Creación:
nombreVector = new tipoDato[tamano];
Cuando se declara una variable vector, esta no tiene ningún valor. Antes de asignar cualquier valor, se debe reservar un espacio en memoria, utilizando el operador new y asignarlo a la variable.
Continuando con el ejemplo anterior
miVector = new int[7];
Al reservar espacio para los elementos de un vector, mediante new, se inicializa automáticamente en cero su contenido.
Cuando se ejecuta esta sentencia de creación , la varianle miVector, hará referencia a un vector de 7 elementos enteros.
New: operador especial que reserva espacio en memoria
Utilización:
nombreVector [índice]
Para accesar un elemento de un vector, se coloca el nombre del vector y entre corchetes el índice del elemento que se desea.
Los índices en un vector, van desde 0 hasta el tamaño – 1.
El tamaño de un vector se obtiene con el método length, con la siguiente sintaxis:
nombreVector.length
En nuestro ejemplo:
miVector.length
Ejemplo: crear un vector de 5 posiciones, rellenarlo y luego mostrar su contenido.
class EjemploVec
{
static int miVector[ ];
public static void main (String arg[ ])
{
miVector = new int[5];
llenarVector();
mostrarVector();
System.out.print("El tamano de mi vector es ");
System.out.println(miVector.length);
}
static void llenarVector()
{
for (int i=0; i <= 4; i++)
{
System.out.println("Intro. numero de posicion " + i + " ");
miVector[i] = CTeclado.ReadInt();
}
}
static void mostrarVector()
{
for (int i=0; i <= 4; i++)
System.out.print(miVector[i] + " ");
}
}// fin de clase
- Matrices
Son llamados arreglos bidireccionales
La información es dispuesta en filas y columnas
Para accesar un elemento se deben especificar dos subíndices: fila y columna.
Pueden ser creadas de cualquier tipo
Son vectores de vectores
Declaración
tipoDato nombreVariable[ ][ ];
Para declarar una matriz de números enteros, llamada miMatriz, se puede hacer de la siguiente manera:
int miMatriz[ ][ ];
Creación:
nombreMatriz = new tipoDato[filas][columnas];
Para crear una matriz de 2 filas y 3 columnas de números enteros, llamada miMatriz, se escribe
miMatriz = new int [2][3];
Ejemplo: Crear una matriz de 2 filas y 3 columnas, llenarla y luego mostrar su contenido.
class EjemploMat
{
public static void main (String arg[ ])
{
int miMatriz[ ][ ];
miMatriz = new int[2][3];
llenarMatriz(miMatriz);
mostrarMatriz(miMatriz);
}
static void llenarMatriz(int m[ ][ ])
{
for (int i=0; i < 2; ++i)
{
for (int j=0; j< 3; ++j)
{
System.out.println("Intro. Elem. " + i + " " + j);
m[i][j] = CTeclado.ReadInt();
}
}
}
static void mostrarMatriz(int m[ ][ ])
{
for (int i=0; i < 2; i++)
{
for (int j=0; j< 3; j++)
{
System.out.print(m[i][j] + " ");
}
System.out.println();
}
}
}
Bibliografia: Datos obtenidos del Departamento de Programación
Y Tecnología Educativa
domingo, 15 de marzo de 2009
Ejercicio con Vectores
Aplicación.
* @author Andres Villavicencio
*/
public class Deber1 {
/* Se tiene los vectores v = [2 3 4] y w = [1 -2 3], Calcular:
La suma, resta, producto escalar, producto cruz, magnitudes, unitarios y el ángulo entre v y w*/
/** Creates a new instance of Deber1 */
public static void main(String args[]){
int [] v;
int [] w;
int [] suma;
int [] resta;
int escalar;
int x;
int y;
int z;
double Mv;
double Mw;
double [] Uv;
double [] Uw;
double angulo;
v= new int[3];
w= new int[3];
suma= new int[3];
resta= new int[3];
Uv= new double[3];
Uw= new double[3];
v[0]=2;
v[1]=3;
v[2]=4;
w[0]=1;
w[1]=-2;
w[2]=3;
//Suma
System.out.print("La suma de los vectores v,w es: " + "\n");
for(int i=0; i<3;>
suma[i]= v[i] + w[i];
for(int i=0; i<3;>
System.out.println(suma[i] + "\n");
//Resta
System.out.print("La resta de los vectores v,w es: " + "\n");
for(int i=0; i<3;>
resta[i]= v[i] - w[i];
for(int i=0; i<3;>
System.out.println(resta[i] + "\n");
//Producto escalar
escalar=0;
for(int i=0; i<3;>
escalar += v[i]*w[i];
}
System.out.println("El producto escalar entre los vectores v, w es: " + escalar + "\n");
//Producto cruz
x = ((v[1]*w[2])-(w[1]*v[2]));
y = -((v[0]*w[2])-(w[0]*v[2]));
z= ((v[0]*w[1])-(w[0]*v[1]));
System.out.println("El producto cruz entre los vectores v, w es: " + "\n");
System.out.println(x + "\n");
System.out.println(y + "\n");
System.out.println(z + "\n");
//Magnitudes
Mv= Math.sqrt((v[0]*v[0]) + (v[1]*v[1]) +(v[2]*v[2]));
System.out.println("La magnitud del vector v es " + Mv + "\n");
Mw= Math.sqrt((w[0]*w[0]) + (w[1]*w[1]) +(w[2]*w[2]));
System.out.println("La magnitud del vector w es " + Mw + "\n");
//Unitarios
System.out.println("El unitario del vector v es: " + "\n");
for(int i=0; i<3;i++)
Uv[i]= v[i]/Mv;
for(int i=0; i<3;>
System.out.println(Uv[i] + "\n");
System.out.println("El unitario del vector w es: " + "\n");
for(int i=0; i<3;i++)
Uw[i]= w[i]/Mw;
for(int i=0; i<3;>
System.out.println(Uw[i] + "\n");
// Angulo entre v y w
angulo= Math.acos((escalar)/(Mv*Mw));
System.out.print("El ángulo entre el vector v y w en radianes es: " + angulo + "\n");
}
}
Aplicación Compilada.
init:
deps-jar:
compile-single:
run-single:
La suma de los vectores v,w es:
3
1
7
La resta de los vectores v,w es:
1
5
1
El producto escalar entre los vectores v, w es: 8
El producto cruz entre los vectores v, w es:
17
-2
-7
La magnitud del vector v es 5.385164807134504
La magnitud del vector w es 3.7416573867739413
El unitario del vector v es:
0.3713906763541037
0.5570860145311556
0.7427813527082074
El unitario del vector w es:
0.2672612419124244
-0.5345224838248488
0.8017837257372732
El ángulo entre el vector v y w en radianes es: 1.1625141016326912
BUILD SUCCESSFUL (total time: 0 seconds)
martes, 10 de marzo de 2009
JAVA

JAVA.
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
Filosofía.
El lenguaje Java se creó con cinco objetivos principales:
Debería usar la metodología de la programación orientada a objetos.
Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
Debería incluir por defecto soporte para trabajo en red.
Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.
Orientado a Objetos.
La primera característica, orientado a objetos (“OO”), se refiere a un método de programación y al diseño del lenguaje. Aunque hay muchas interpretaciones para OO, una primera idea es diseñar el software de forma que los distintos tipos de datos que usen estén unidos a sus operaciones. Así, los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos. Un objeto puede verse como un paquete que contiene el “comportamiento” (el código) y el “estado” (datos). El principio es separar aquello que cambia de las cosas que permanecen inalterables. Frecuentemente, cambiar una estructura de datos implica un cambio en el código que opera sobre los mismos, o viceversa. Esta separación en objetos coherentes e independientes ofrece una base más estable para el diseño de un sistema software. El objetivo es hacer que grandes proyectos sean fáciles de gestionar y manejar, mejorando como consecuencia su calidad y reduciendo el número de proyectos fallidos.
Independencia de la plataforma.
La segunda característica, la independencia de la plataforma, significa que programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. Es lo que significa ser capaz de escribir un programa una vez y que pueda ejecutarse en cualquier dispositivo, tal como reza el axioma de Java, ‘’’write once, run everywhere’’’.
Para ello, se compila el código fuente escrito en lenguaje Java, para generar un código conocido como “bytecode” (específicamente Java bytecode)—instrucciones máquina simplificadas específicas de la plataforma Java. Esta pieza está “a medio camino” entre el código fuente y el código máquina que entiende el dispositivo destino.
El bytecode es ejecutado entonces en la máquina virtual (JVM), un programa escrito en código nativo de la plataforma destino (que es el que entiende su hardware), que interpreta y ejecuta el código. Además, se suministran bibliotecas adicionales para acceder a las características de cada dispositivo (como los gráficos, ejecución mediante hebras o threads, la interfaz de red) de forma unificada. Se debe tener presente que, aunque hay una etapa explícita de compilación, el bytecode generado es interpretado o convertido a instrucciones máquina del código nativo por el compilador JIT (Just In Time).
Sintaxis.
La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos. Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna clase (recordemos que una clase es un molde a partir del cual pueden crearse varios objetos).
Entornos de funcionamiento.
El diseño de Java, su robustez, el respaldo de la industria y su fácil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintos ámbitos de la industria de la informática.
Recursos.
El JRE (Java Runtime Environment, o Entorno en Tiempo de Ejecución de Java) es el software necesario para ejecutar cualquier aplicación desarrollada para la plataforma Java. El usuario final usa el JRE como parte de paquetes software o plugins (o conectores) en un navegador Web. Sun ofrece también el SDK de Java 2, o JDK (Java Development Kit) en cuyo seno reside el JRE, e incluye herramientas como el compilador de Java, Javadoc para generar documentación o el depurador. Puede también obtenerse como un paquete independiente, y puede considerarse como el entorno necesario para ejecutar una aplicación Java, mientras que un desarrollador debe además contar con otras facilidades que ofrece el JDK.
API.
Sun define tres plataformas en un intento por cubrir distintos entornos de aplicación. Así, ha distribuido muchas de sus APIs (Application Program Interface) de forma que pertenezcan a cada una de las plataformas:
Java ME (Java Platform, Micro Edition) o J2ME — orientada a entornos de limitados recursos, como teléfonos móviles, PDAs (Personal Digital Assistant), etc.
Java SE (Java Platform, Standard Edition) o J2SE — para entornos de gama media y estaciones de trabajo. Aquí se sitúa al usuario medio en un PC de escritorio.
Java EE (Java Platform, Enterprise Edition) o J2EE — orientada a entornos distribuidos empresariales o de Internet.
Java Development Kit (JDK).
Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creación de programas en java. Puede instalarse en una computadora local o en una unidad de red.
En la unidad de red se puede tener la aplicación distribuida en varias computadoras y trabajar como una sola aplicación.
Java Runtime Environment (JRE).
JRE es el acrónimo de Java Runtime Environment (entorno en tiempo de ejecución Java) y se corresponde con un conjunto de utilidades que permite la ejecución de programas java sobre todas las plataformas soportadas.
JVM (máquina virtual Java) es una instancia de JRE en tiempo de ejecución, este es el programa que interpreta el código Java y además por las librerías de clases estándar que implementan el API de Java. Ambas JVM y API deben ser consistentes entre sí, de ahí que sean distribuidas de modo conjunto.
Un usuario sólo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java, mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesario un entorno de desarrollo, denominado JDK, que además del JRE (mínimo imprescindible) incluye, entre otros, un compilador para Java.
Java Micro Edition (J2ME).
La plataforma Java Micro Edition, o anteriormente Java 2 Micro Edition(J2ME), es una especificación de un subconjunto de la plataforma Java orientada a proveer una colección certificada de APIs de desarrollo de software para dispositivos con recursos restringidos. Está orientado a productos de consumo como PDAs, teléfonos móviles o electrodomésticos.
Bibliografía.
Estos datos fueron obtenidos en www.wikipedia.org.