martes, 15 de diciembre de 2009
OPERACIONES BINARIAS
import java.text.DecimalFormat;
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){//arreglo de filas y columnas
}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz=new double[numeroFilas][numeroColumnas];//construyo un sitio para almacenar ceros
for(int i=0;i for(int j=0; j < numeroColumnas; j++)
matriz [i][j]=0;
}
public Matriz suma(Matriz b){
Matriz resultado;
//probar q el numero de fila y columnas de la primera matriz sea = al numero de
//filas y columnas de la segunda
//this referencia a un objeto que aun no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("DIMENSIONES DE LAS MATRICES INCORRECTAS");
resultado=null;
return resultado;
}
public Matriz resta(Matriz b){
Matriz resultado;
if ((this.numeroFilas == b.numeroFilas)&(this.numeroFilas == b.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroColumnas);//construyo la caja donde almaceno el resultado
for(int i = 0;i for(int j=0;j resultado.matriz[i][j] = this.matriz[i][j]-b.matriz[i][j]; return resultado;
}
else{
System.out.println("DIMENSIONES DE LAS MATRICES INCORRECTAS");
resultado=null;
return resultado;
}
}
public Matriz Transpuesta(){
Matriz resultado;
resultado=new Matriz(this.numeroColumnas,this.numeroFilas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[j][i]=this.matriz[i][j];
return resultado;
}
public Matriz Inversa(){
Matriz r;
r=new Matriz(this.numeroColumnas,this.numeroFilas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
r=new Matriz(this.numeroColumnas,this.numeroFilas);
r.matriz[0][0]=((this.matriz[1][1]*this.matriz[2][2])-(this.matriz[2][1]*this.matriz[1][2])); r.matriz[0][1]=((this.matriz[1][0]*this.matriz[2][2])-(this.matriz[2][0]*this.matriz[1][2])); r.matriz[0][2]=((this.matriz[1][0]*this.matriz[2][1])-(this.matriz[2][0]*this.matriz[1][1])); r.matriz[1][0]=((this.matriz[0][1]*this.matriz[2][2])-(this.matriz[2][1]*this.matriz[0][2])); r.matriz[1][1]=((this.matriz[1][0]*this.matriz[2][2])-(this.matriz[2][0]*this.matriz[1][2])); r.matriz[1][2]=((this.matriz[0][0]*this.matriz[2][1])-(this.matriz[2][0]*this.matriz[0][1])); r.matriz[2][0]=((this.matriz[0][1]*this.matriz[1][2])-(this.matriz[1][1]*this.matriz[0][2])); r.matriz[2][1]=((this.matriz[0][0]*this.matriz[1][2])-(this.matriz[1][0]*this.matriz[0][2])); r.matriz[2][2]=((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[1][0]*this.matriz[0][1])); return r;
}
public Matriz Multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroColumnas==b.numeroFilas){
resultado=new Matriz(this.numeroFilas, b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroColumnas; k++)
resultado.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];
}
}
return resultado;
}
else
System.out.println("DIMENSIONES DE LAS MATRICES INCORRECTAS");
resultado=null;
return resultado;
}
public void leerMatriz(){
int i; for(i=0;i for(int j=0;j String aux;
aux=JOptionPane.showInputDialog(null,"Ingreso de valores", "Ingreseel Valor "+"["+(i+1)+","+(j+1)+"]",JOptionPane.DEFAULT_OPTION);
this.matriz[i][j]=Double.parseDouble(aux);
}
}
}
public String toString(){
String aux="\n\n";
DecimalFormat df = new DecimalFormat("0.0000");//# enteros y # decimales
for(int i=0; i for(int j=0; j aux+=df.format(matriz[i][j])+" ";
}
aux+="\n";
}
aux+=" ";
return aux;
}
}
sábado, 12 de diciembre de 2009
OPERACIONES DE MATRICES
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jSeparator1 = new javax.swing.JSeparator();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jTextField6 = new javax.swing.JTextField();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea2 = new javax.swing.JTextArea();
jLabel1.setForeground(new java.awt.Color(255, 51, 153)); jLabel1.setText("OPERACIONES DE MATRICES");
jLabel2.setText("Operaciones Binarias:");
jLabel3.setText("Matriz 1");
jLabel4.setText("Matriz 2");
jLabel5.setText("Numero de Filas");
jLabel6.setText("Numero de Columnas");
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jLabel7.setText("Numero de Filas");
jLabel8.setText("Numero de Columnas");
jTextField3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField3ActionPerformed(evt);
}
});
jButton1.setText("Suma");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Resta");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Multiplicacion");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jLabel9.setText("Operaciones Unitarias:");
jLabel10.setText("Numero de Filas:");
jLabel11.setText("Numero de Columnas:");
jTextField6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField6ActionPerformed(evt);
}
});
jButton4.setText("Transpuesta");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5.setText("Inversa");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jTextArea2.setColumns(20);
jTextArea2.setRows(5);
jScrollPane2.setViewportView(jTextArea2);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(335, Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(243, 243, 243))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(123, 123, 123)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel3)
.addComponent(jLabel2))
.addGap(211, 211, 211)
.addComponent(jLabel4)
.addContainerGap(244, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(161, 161, 161)
.addComponent(jButton1)
.addGap(69, 69, 69)
.addComponent(jButton2)
.addGap(56, 56, 56)
.addComponent(jButton3)
.addContainerGap(219, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 374, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(105, 105, 105)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel5)
.addGap(34, 34, 34)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(64, 64, 64)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7) .addComponent(jLabel8))
.addGap(31, 31, 31)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(184, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE) .addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(104, 104, 104)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(44, 44, 44)
.addComponent(jLabel10)
.addGap(18, 18, 18)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(jLabel11)
.addGap(29, 29, 29)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel9))
.addContainerGap(197, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(192, 192, 192)
.addComponent(jButton4)
.addGap(115, 115, 115)
.addComponent(jButton5)
.addContainerGap(251, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(256, 256, 256)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(276, Short.MAX_VALUE)) );
jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jLabel1)
.addGap(28, 28, 28)
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addGap(16, 16, 16)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel6)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(34, 34, 34)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel9)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10)
.addComponent(jLabel11)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(28, 28, 28)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton4) .addComponent(jButton5))
.addGap(27, 27, 27)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 75, Short.MAX_VALUE) .addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) );
}//
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1=" ";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leerMatriz();
//aux1+= m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC=Integer.parseInt(aux);
m2 = new Matriz (nF,nC);
m2.leerMatriz();
//aux1 += m2.toString();
jTextArea1.setText("\nMATRIZ 1: \n"+(m1.toString())+"\nMATRIZ 2: \n"+(m2.toString())+"\nMULTIPLICACION DE MATRICES: \n"+(m1.Multiplicacion(m2)).toString());
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1=" ";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leerMatriz();
//aux1+= m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC=Integer.parseInt(aux);
m2 = new Matriz (nF,nC);
m2.leerMatriz();
//aux1 += m2.toString();
jTextArea1.setText("\nMATRIZ 1: \n"+(m1.toString())+"\nMATRIZ 2: \n"+(m2.toString())+"\nSUMA DE MATRICES: \n"+(m1.suma(m2)).toString());
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1=" ";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leerMatriz();
//aux1+= m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC=Integer.parseInt(aux);
m2 = new Matriz (nF,nC);
m2.leerMatriz();
//aux1 += m2.toString();
jTextArea1.setText("\nMATRIZ 1: \n"+(m1.toString())+"\nMATRIZ 2: \n"+(m2.toString())+"\nRESTA DE MATRICES: \n"+(m1.resta(m2)).toString());
}
private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
String aux = jTextField5.getText();
int nF = Integer.parseInt(aux);aux = jTextField6.getText();
int nC = Integer.parseInt(aux);
m3= new Matriz(nF,nC);
m3.leerMatriz();
jTextArea2.setText("\nMATRIZ: \n"+(m3.toString())+"INVERSA DE MATRICES: \n"+(m3.Inversa().toString()));
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
String aux = jTextField5.getText();
int nF = Integer.parseInt(aux);
aux = jTextField6.getText();
int nC = Integer.parseInt(aux);
m3= new Matriz(nF,nC);
m3.leerMatriz();
jTextArea2.setText("\nMATRIZ: \n"+(m3.toString())+"TRANSPUESTA DE MATRIZ: \n"+(m3.Transpuesta().toString()));
}
public Matriz m1;
public Matriz m2;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextArea jTextArea2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
}
martes, 8 de diciembre de 2009
DEFINA APPLET
A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. El término fue introducido en AppleScript en 1993.
Ejemplos comunes de applets son las Java applets y las animaciones Flash. Otro ejemplo es el Windows Media Player utilizado para desplegar archivos de video incrustados en los navegadores como el Internet Explorer. Otros plugins permiten mostrar modelos 3D que funcionan con una applet.
Un Java applet es un código JAVA que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta.
Por otra parte, la diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan. Para cargar una aplicación JAVA se utiliza el intérprete de JAVA (pcGRASP de Auburn University, Visual J++ de Microsoft, Forte de Sun de Visual Café). En cambio, un applet se puede cargar y ejecutar desde cualquier explorador que soporte JAVA
viernes, 20 de noviembre de 2009
MATRIZ
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){}//nF es el numero de filas//nc es el numero de columnas
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;}//metodo de suma de matricespublic Matriz suma(Matriz b){Matriz resultado;//primero revisamos que las filas y las columnas sean iguales//
this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i<= this.numeroFilas; i++)
for(int j=0; j<= b.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;return resultado;}//metodo de multiplicacion de matrices//retorna una matriz resultado resta
public Matriz multiplicacion(Matriz b) {
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i<= this.numeroFilas; i++)
for(int j=0; j<= b.numeroColumnas; j++)
for(int k=0; k <= this.numeroColumnas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
return resultado;
}
else {
System.out.println("error en dimensiones de las matrices");
resultado = null;return resultado;
}//devuelve el objeto matriz en texto para poderlo imprimir
}
public String toString(){
String aux="\n[\n";
for(int i=0; i<= this.numeroFilas; i++)
for(int j=0; j<= this.numeroColumnas; j++)
aux += matriz[i][j]+" ";
aux +="\n";aux+= "]";return aux;}
}
jueves, 19 de noviembre de 2009
MRUV - Movimiento Rectilineo Uniformamente Variado - Rapidez Lugar Velocidad
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;
public MRUV(){
}
public MRUV(Vector3D pos, Vector3D velo, Vector3D ace)
{
posicion = pos;
velocidad = velo;
aceleracion = ace;
}
public void calcularPosicion(Vector3D r0, Vector3D vel, double t)
{
posicion = r0.suma(vel.productoVectorEscalar(t));
}
public void calcularVelocidad(Vector3D vel, double t)
{
velocidad = vel;
}
public void calcularAceleracion(Vector3D vel, double t)
{
aceleracion = vel.divicionVectorEscalar(t);
}
public static void main(String args[])
{
MRU = new MRU();
Vector3D r0 = new Vector3D(1,0,-1);
Vector3D v = new Vector3D(0,5,0);
Vector3D ace = new Vector3D(2,3,0);
double t = 2;
m.calculaPosición(r0, v, t);
m.calculaVelocidad(v, t);
m.calculaAceleracion(v,t);
}
}
domingo, 15 de noviembre de 2009
Vector 3 dimensiones
double coordenadaX;
double coordenadaY;
double coordenadaZ;
public Vector3D(){
super(1,3);
}
public Vector3D(double x, double y, double z){
super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coordenadaX = x;
coordenadaY = y;
coordenadaZ = z;
}
public double magnitud(){
double resultado = 0;
for(int i=0; i<3; i++)
{
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);return resultado;
}
public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i=0; i<3; i++)unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();
return unitario;}
public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i=0; i<3; i++)resultado += this.matriz[0][i]*v.matriz[0][i];
return resultado;
}
public Vector3D productoCruz(Vector3D v){
Vector3D resultado;
resultado = new Vector3D();
resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];
resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return resultado;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-3,6,0);
Vector3D v2 = new Vector3D(0,4,5);
System.out.println(v1+"\n"+v2);
System.out.println(" La coordenada X es : "+v1.coordenadaX);
System.out.println("\n Suma de vectores: "+(v1.suma(v2)));
System.out.println("\n Vector magnitud es: "+v1.magnitud());
System.out.println("\n Vector unitario: "+v1.unitario());
System.out.println("\n Producto escalar es: "+v1.productoEscalar(v2));
System.out.println("\n Producto cruz es: "+v1.productoCruz(v2));
}
}
lunes, 9 de noviembre de 2009
prueba progra
public int numeroFilas;
public int numeroColumnas;
public double [][] matriz;
public Matriz (){
}
public Mmatriz (int nF, int nC){
numeroFila= nF;
numeroColumna=nC;
matriz=new double [numeroFila][numeroColumna];
for (int i=0; i< numeroFila; i++)
for (int j=i; j
matriz [i][j]=0 ;
}
public Mmatriz suma (Matriz B){
Mmatriz resultado;
if((this.numeroFila==B.numeroFila)&
(this.numeroColumna==B.numeroColumna)){
resultado =new Mmatriz(this.numeroFila,this.numeroColumna);
for (int i=0; i< this.numeroFila;i++)
for(int j=0;j)
resultado.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println("dimensiones ERROR");
resultado = null;
return resultado;
}
}
public Mmatriz resta (Mmatriz B){
Mmatriz resultado;
if((this.numeroFila==B.numeroFila)&
(this.numeroColumna==B.numeroColumna)){
resultado =new Mmatriz(this.numeroFila,this.numeroColumna);
for (int i=0; i< this.numeroFila;i++)
for(int j=0;j)
resultado.matriz[i][j]=this.matriz[i][j]-B.matriz[i][j];
return resultado;
}
else{
System.out.println("dimensiones ERROR");
resultado = null;
return resultado;
}
}
public Mmatriz multiplicacion (Mmatriz B){
Mmatriz resultado;
if((this.numeroColumna==B.numeroFila)&(this.numeroColumna ==B.numeroColumna)){
resultado = new Mmatriz (this.numeroFila,this.numeroFila);
for(int i =0; i< this.numeroFila; i++ )
for(int j = 0; j< this.numeroColumna; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else
System.out.println("dimensiones ERROR");
resultado = null;
return resultado;
}
public Mmatriz transpuesta() {
Mmatriz resultado;
resultado = new Mmatriz(this.numeroColumna,this.numeroFila);
for (int i=0;i < this.numeroFila; i++)
for(int j=0 ; j< this.numeroColumna; j++)
resultado.matriz[j][i]= this.matriz[i][j];
return resultado;
}
public String toString(){
String aux ="[";
for (int i=0; i< numeroFila; i++)
for (int j=0;j)
aux += matriz [i][j]+" ";
}
aux += "\n";
aux += "]";
return aux;
}
}
public class ExamenMmatriz {
public static void main(String args[]){
Mmatriz c = new Mmatriz(2,3);
c.matriz[0][0]=2;c.matriz[0][1]=2; c.matriz[0][2]=1;
c.matriz[1][0]=3; c.matriz[1][1]=-1;c.matriz[1][2]=0;
System.out.println(c.toString());
Mmatriz b = new Mmatriz(5,3);
b.matriz[0][0]=6; b.matriz[0][1]=-2; b.matriz[0][2]=5;
b.matriz[1][0]=4; b.matriz[1][1]=2; b.matriz[1][2]=-1;
b.matriz[2][0]=0; b.matriz[2][1]=1; b.matriz[2][2]=1;
b.matriz[3][0]=-2; b.matriz[3][1]=-2; b.matriz[3][2]=0;
b.matriz[4][0]=1; b.matriz[4][1]=0; b.matriz[4][2]=-1;
System.out.println(b.toString());
Mmatriz a = new Mmatriz(1,5);
a.matriz[0][0]=1;a.matriz[0][1]=-1; a.matriz[0][2]=0;
a.matriz[0][3]=1; a.matriz[0][4]=1;
System.out.println(a.toString());
Mmatriz e = new Mmatriz(3,3);
e.matriz[0][0]=-1; e.matriz[0][1]=0; e.matriz[0][2]=-1;
e.matriz[1][0]=1; e.matriz[1][1]=0; e.matriz[1][2]=1;
e.matriz[2][0]=-1; e.matriz[2][1]=1; e.matriz[2][2]=-1;
System.out.println(e.toString());
Mmatriz r1;
r1=c.multiplicacion(e);
Mmatriz bt;
bt=b.transpuesta ();
Mmatriz rt1;
rt1=r1.multiplicacion(bt);
System.out.println(rt1.toString());
}
}
lunes, 19 de octubre de 2009
matrices
{
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){
}
//
param nF numero de filas
param nC numero de columnas
//
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< numeroColumnas; j++ )
matriz[i][j]=0;
}
// param B primer sumando
return Matriz resultado de suma //
public Matriz suma(Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i< this.numeroFilas; i++ )
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println(" ""ERROR matriz(dimensión)"" ");
resultado = null;
return resultado;
}
}
public String toString(){
String aux ="[ ";
for(int i =0; i
for(int j = 0; j< numeroColumnas; j++ ){
aux+=matriz[i][j]+" ";
}
aux+= "\n";
}
aux+="]";
return aux ;
}
}
*/
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public 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< numeroColumnas; j++ )
matriz[i][j]=0;
}
---------------------------------------------------------------------------------------
public Matriz suma(Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i< this.numeroFilas; i++ )
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;
} // this hace referencia al objeto futuro no creado
}
-------------------------------------------------------------------------------------
public Matriz multiplicacion(Matriz B){
Matriz resultado;
if(this.numeroColumnas==B.numeroFilas){
resultado = new Matriz (this.numeroFilas,B.numeroColumnas);
for (int i = 0; i< numeroFilas; i++)
for (int j = 0; j< numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]*B.matriz[j][i];
return resultado;
}
else{
System.out.println(" ""ERROR matriz(dimensión)="" " +
"la matriz A = al numero de filas de la matriz B");
resultado=null;
return resultado;
}
}
-------------------------------------------------------------------------------------
public Matriz transpuesta(){
Matriz resultado;
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [j][i] = this.matriz[i][j];
return resultado;
}
public String toString(){
String aux ="[ ";
for(int i =0; i
for(int j = 0; j< numeroColumnas; j++ ){
aux+=matriz[i][j]+" ";
}
aux+= "\n";
}
aux+="]";
return aux ;
}
}
martes, 13 de octubre de 2009
cuadrado
private double lado;
public Square (){
setLado (0);
}
public Square (double x,double y, double r){
super(x,y);
setLado(r);
}
public void setLado(double r){
lado = r;
}
public double getLado(){
return lado;
}
public String toString(){
return super.toString()+"lado ="+lado;
}
public static void main (String args []){
Square c1 = new Square (3,2,5);
Figura p1 = new Figura (3,2);
System.out.println(c1.toString());
System.out.println("lado =:"+c1.getLado());
System.out.println("coordenada x:"+c1.getCoordenadaX());
System.out.println(p1.toString());
}
}
triangulo
private double altura;
public Triangle (){
setAltura (0);
}
public Triangle (double x,double y, double r){
super(x,y);
setAltura(r);
}
public void setAltura(double r){
altura = r;
}
public double getAltura(){
return altura;
}
public String toString(){
return super.toString()+"altura ="+altura;
}
public static void main (String args []){
Triangle t1 = new Triangle (3,2,5);
Figura p1 = new Figura (3,2);
System.out.println(t1.toString());
System.out.println("altura=:"+t1.getAltura());
System.out.println("coordenada x:"+t1.getCoordenadaX());
System.out.println(p1.toString());
}
}
herencias
private double coordenadaX;
private double coordenadaY;
public Figurag(){
setFigura(0,0);
}
public Figurag(double x, double y){
setFigura (x,y);
}
public void setFigurag(double x,double y){
coordenadaX = x;
coordenadaY = y;
}
public double getCoordenadaX(){
return coordenadaX;
}
public double getCoordenadaY(){
return coordenadaY;
}
public String toString(){
return "Punto coordenada: "+"["+coordenadaX+","+ coordenadaY+"]";
}
public static void main(String args[]){
Figurag f1 = new Figurag (3,2);
System.out.println("coordenada x="" "+f1.getCoordenadaX());
System.out.println("coordenada y="" "+f1.getCoordenadaY());
Sytem.out.println(f1.toString());
f1.setFigurag(f1.getCoordenadaX(),f1.getCoordenadaY() );
System.out.println(f1.toString());
}
}
viernes, 9 de octubre de 2009
clasificaciones
public class Autos{
private int placa; //private=nadie mas la pueda ver
public String nombre; //public=todos lo pueden ver
public String marca;
public Autos(){
}
public Autos(String nom, String mar, int nP){ //sobre carga
nombre= nom;
marca= marc;
placa= nP;
}
public Autos(int nC){
}
public void asignarPlaca(int nP){
placa=nP;
}
}
USO AUTO
public class UsoAuto {
public static void main(String arga[]){
Auto p1= new Auto();
p1.marca= "chevrolet";
p1.nombre= "Jairo Sánchez";
p1.asignarPlaca(opc-698);
System.out.println("Marca: "+p1.marca+"\nNombre:"+p1.Nombre/*+"\nPlaca: "+p1.devolverPlaca()*/);
Auto p2= new Universidad("Kia", "Alvaro Recoba", opn-698);
System.out.println("Marca: "+p2.marca+"\nNombre:"+p2.nombre);
Auto p3= new Auto(plk-854);
System.out.println("Marca: "+p3.marca+"\nNombre:"+p3.nombre);//no esta asignado marca ni nombre
p3.marca= "Suzuki";
p3.Nombre= "Alex Serrano";
System.out.println("Marca: "+p3.marca+"\nNombre:"+p3.nombre);
}
}
lunes, 5 de octubre de 2009
clase
public class Universidad {
private int numeroCedula; //private=nadie mas la pueda ver
public String nombre; //public=todos lo pueden ver
public String carrera;
public Universidad(){
}
public Universidad(String nom, String carre, int nC){ //sobre carga
nombre= nom;
carrera= carre;
numeroCedula= nC;
}
public Universidad(int nC){
}
public void asignarNumeroCedula(int nC){ //asignar=poner un #a la ci, ()=para poner el #
numeroCedula=nC;
}
}
USO UNIVERSIDAD
public class UsoUniversidad {
public static void main(String arga[]){
Universidad p1= new Universidad();
p1.carrera= "Ing. mecatrónica";
p1.nombre= "Jairo Sánchez";
p1.asignarNumeroCedula(1721993804);
System.out.println("Carrera: "+p1.carrera+"\nNombre:"+p1.Nombre/*+"\nNumero de cedula: "+p1.devolverNumeroCedula()*/);
Universidad p2= new Universidad("Ing. Sistemas", "Alvaro Recoba", 1780994050);
System.out.println("Carrera: "+p2.carrera+"\nNombre:"+p2.nombre);
Universidad p3= new Universidad(1721993806);
System.out.println("Carrera: "+p3.carrera+"\nNombre:"+p3.nombre);//no esta asignado nombre ni apellido
p3.Carrera= "Ing. Automotriz";
p3.Nombre= "Alex Serrano";
System.out.println("Carrera: "+p3.carrera+"\nNombre:"+p3.nombre);
}
Programacion orientada a objetos
Si nos fijamos en la vida real, podremos apreciar que casi todo se compone de objetos (coche, lapicero, casa y, por qué no, personas). Todos entendemos que tanto un BMW verde, como un SEAT rojo son coches, pero son distintos en su aspecto físico. Pero a pesar de esa diferencia de aspecto entendemos que ambos tienen unas características comunes como son poseer ruedas, un volante, asientos,... Esas características comunes son las que hacen pensar en el concepto coche en ambos casos. A partir de ahora podemos interpretar que el BMW y el SEAT son objetos, y el tipo o clase, de esos objetos es coche.
Además, podemos suponer que la clase de un objeto describe como es dicho objeto.
Por ejemplo:
clase Coche: 4 ruedas, 1 volante, 5 asientos, acelerar, frenar, girar
Como podemos ver, esta clase no sólo describe qué cosas posee un coche, sino que también describe qué acciones puede realizar un coche (acelerar, frenar y girar). Es decir, una clase define los atributos y las acciones (o métodos) que puede realizar un objeto de la clase.
Además podemos comprobar que un objeto puede estar formado por otros objetos, por ejemplo el coche posee 4 objetos de la clase Rueda.
En el mundo real los objetos se relacionan entre sí, un objeto puede pedir a otro que realice alguna acción por él. En la vida real una persona acelera, pero lo hace pidiéndoselo al coche, que es quien realmente sabe acelerar, no la persona. El hecho de que un objeto llame a un método de otro objeto, se indica diciendo que el primer objeto ha enviado un mensaje al segundo objeto, el nombre del mensaje es el nombre de la función llamada.
Conceptos fundamentales
La programación orientada a objetos es una nueva forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:
* Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.
* Herencia: (por ejemplo, herencia de la clase D a la clase C) Es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables publicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de OOP.
* Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.
* Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
* Evento: Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.
* Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
* Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
* Estado interno: es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
* Componentes de un objeto:atributos, identidad, relaciones y métodos.
* Representación de un objeto: un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable", no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.
Características de la POO
Hay un cierto acuerdo sobre exactamente qué características de un método de programación o lenguaje le definen como "orientado a objetos", pero hay un consenso general en que las características siguientes son las más importantes:
* Abstracción: Denota las características esenciales de un objeto, donde se capturan sus comportamientos.Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
* Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
* Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
* Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
* Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.
* Recolección de basura: la Recolección de basura o Garbage Collection es la técnica por la cual el ambiente de Objetos se encarga de destruir automáticamente, y por tanto desasignar de la memoria, los Objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo Objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse manualmente.
Entre los lenguajes orientados a objetos se destacan los siguientes:
* ABAP
* ABL Lenguaje de programación de OpenEdge de Progress Software
* ActionScript
* ActionScript 3
* Ada
* C++
* C#
* Clarion
* D
* Object Pascal (Delphi)
* Flex builder (adobe)
* Gambas
* Harbour
* Eiffel
* Java
* JavaScript (la herencia se realiza por medio de la programación basada en prototipos)
* Lexico (en castellano)
* Objective-C
* Ocaml
* Oz
* R
* Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al algoritmo C3 por medio del módulo Class::C3 en CPAN)
* PHP (en su versión 5)
* Python
* Ruby
* Smalltalk (Proyecto investigativo. Influenció a Java.)
* Magik (SmallWorld)
* Vala
* VB.NET
* Visual FoxPro (en su versión 6)
* Visual Basic 6.0
* XBase++
* Lenguaje DRP
Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino que son híbridos que combinan la POO con otros paradigmas.
Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object REXX, han sido creados añadiendo extensiones orientadas a objetos a un lenguaje de programación clásico.
Un nuevo paso en la abstracción de paradigmas de programación es la Programación Orientada a Aspectos (POA). Aunque es todavía una metodología en estado de maduración, cada vez atrae a más investigadores e incluso proyectos comerciales en todo el mundo.
Deber 3
public class Funciones {public static void main(String args[]){
double t;
double y;
for(t=0;t<=10;t=t+0.1)
System.out.println("Sen "+t+" = " +Math.sen(t));
for(t=0;t<=10;t=t+0.1)
System.out.println("Cos "+t+" = " +Math.cos(t));
e=2.718;
System.out.println("y = 2.718");
for(t=0;t<=10;t=t+0.1)
System.out.println("y ^ "+t+" = " +(Math.pow(t,y)));
for(t=0;t<=10;t=t+0.1)
System.out.println("t”^ "+y+" * cos "+t+ " = " +(Math.pow(e,t))*(Math.cos(t)));
}
}
Deber 2
public class Funciones {
public long factorial (int s, int y){
int resultado=1;
int D =4;
int M = 13;
s=1;
y=1;
if (D>M)
resultado=1;
else{
for (int i=1; i<= D; i++)
s=resultado * i;
for (int j=1; j<= (M-D); j++)
y=resultado *j;
}
return resultado;
}
public static void main (String args []){
Funciones fun = new Funciones();
System.out.println(fun.factorial (s/y));
domingo, 27 de septiembre de 2009
Deber 1
public static void main(String args []) {
int a;
double b;
double c;
a=5;
if (a<0){
System.out.println("Resultado de la potencia "+(a*a));
c= (double) a*a;
}
else{
System.out.println("El valor debe de a debe ser mayor a cero ");
}
if (a<=0){
c = Math.sqrt(x);
System.out.println("La raíz es igual a" +(z));
}
else{
System.out.println("El valor debe ser menor o igual a cero ");
}
if (a>=1){
c = Math.sqrt(a);
y = (double) a;
System.out.println("Resultado de la ecuación "+(c+b));
}
else{
System.out.println("El valor debe ser mayor o igual que uno");
}
}
}
martes, 22 de septiembre de 2009
JAVA
UNIVERSIDAD TECNOLOGICA EQUINOCCIAL
DIEGO TONELLO
PROGRAMACIÓN II
15 AGOSTO 2009
CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIÓN
LENGUAJE MÁQUINA:
El lenguaje máquina es el único que entiende directamente la computadora, ya que esta escrito en lenguajes directamente inteligibles por la máquina (computadora), utiliza el alfabeto binario, que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). Sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y, las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código maquina. Fue el primer lenguaje utilizado en la programación de computadoras, pero dejo de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. El lenguaje máquina es el conocido código binario. Generalmente, en la codificación de los programas se empleaba el sistema hexadecimal para simplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier lenguaje máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a las computadoras cual es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de las funciones. La segunda parte de la instrucción es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular, el número de operándoos de una instrucción varia en distintas computadoras.
LENGUAJES DE BAJO NIVEL:
Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es el primer intento de sustituir el lenguaje maquina por otro más similar a los utilizados por las personas. Este intenta desflexibilizar la representación de los diferentes campos. Esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje. A principios de la década de los 50 y con el fin de facilitar la labor de los programadores, se desarrollaron códigos mnemotécnicos para las operaciones y direcciones simbólicas. Los códigos mnemotécnicas son los símbolos alfabéticos del lenguaje maquina. La computadora sigue utilizando el lenguaje maquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en el lenguaje maquina. En la actualidad los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican donde quieren que se coloque la primera localidad del programa y el programa ensamblador se encarga de lo demás, asigna localidades tanto para las instrucciones como los datos. Estos programas de ensamble o ensambladores también permiten a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio código maquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Después de que el ensamblador convierte el programa fuente en código maquina a este se le denomina programa objeto. Para los programadores es más fácil escribir instrucciones en un lenguaje ensamblador que en código de lenguaje maquina pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas.
LENGUAJES DE ALTO NIVEL:
Estos lenguajes son los mas utilizado por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho mas fácil que los lenguajes máquina y ensamblador. Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño del hardware o de una computadora en particular), por lo que estos programas son portables o transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de computadoras. Son lenguajes de programación en los que las instrucciones enviadas para que el ordenador ejecute ciertas órdenes son similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas ordenes, es necesario el uso de un intérprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.
Por lo general se piensa que los ordenadores son máquinas que realizan tareas de cálculos o procesamiento de texto. La descripción anterior es sólo una forma muy esquemática de ver una computadora. Hay un alto nivel de abstracción entre lo que se pide a la computadora y lo que realmente comprende. Existe también una relación compleja entre los lenguajes de alto nivel y el código máquina.
Lograr independencia de la maquina, pudiendo utilizar un mismo programa en diferentes equipos con la única condición de disponer de un programa traductor o compilador, que es suministrado por el fabricante, para obtener el programa ejecutable en lenguaje binario de la maquina que se trate. Además, no se necesita conocer el hardware especifico de dicha maquina.
¿QUÉ ES JAVA?
Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras.
Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente.
La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier cosa que se le ocurra a la industria.
Java fue pensado originalmente para utilizarse en cualquier tipo de electrodoméstico pero la idea fracasó. Uno de los fundadores de Sun rescató la idea para utilizarla en el ámbito de Internet y convirtieron a Java en un lenguaje potente, seguro y universal gracias a que lo puede utilizar todo el mundo y es gratuito. Una de los primeros triunfos de Java fue que se integró en el navegador Netscape y permitía ejecutar programas dentro de una página web, hasta entonces impensable con el HTML.
Actualmente Java se utiliza en un amplio abanico de posibilidades y casi cualquier cosa que se puede hacer en cualquier lenguaje se puede hacer también en Java y muchas veces con grandes ventajas. Para lo que nos interesa a nosotros, con Java podemos programar páginas web dinámicas, con accesos a bases de datos, utilizando XML, con cualquier tipo de conexión de red entre cualquier sistema. En general, cualquier aplicación que deseemos hacer con acceso a través web se puede hacer utilizando Java.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Los objetos son entidades que combinan estado, comportamiento e identidad:
· El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
· El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.
· La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
De aquella forma, un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interacción llamados métodos que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan ni deben separarse el estado y el comportamiento.
Esto difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean éste nuevo paradigma, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
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.
JRE
En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y otros componentes necesarios para que una aplicación escrita en lenguaje Java pueda ser ejecutada. El JRE actua como un "intermediario" entre el sistema operativo y Java.
La JVM es el programa que interpreta el código Java mientras que las librerias de clases estándar son las 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.
MAQUINA VIRTUAL DE JAVA
JVM
Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java.
El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun Microsystems.
La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.
La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas y así un programa .class escrito en un Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java, "escríbelo una vez, ejecútalo en cualquier parte", o "Write once, run anywhere"
BIBLIOGRAFIA:
· http://www.desarrolloweb.com/articulos/497.php
· http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos