martes, 10 de marzo de 2009

Taller#2 ejemplo3

  • Simplificando, supóngase que el importe del seguro obligatorio de un automovil depende del modelo del auto, del color y de la edad del conductor. Sean dos modelos de auto A y B y lo precios del seguro según el color.
  • Si el conductor tiene menos de 26 años, el precio se incrementa un 25%; si tiene entre 26 y 30 años se incrementa un 10%; si tiene entre 31 y 65 años el precio no se modifica; si tiene mas de 65 años el precio se incrementa 10%. ademas, en cualquier caso, hay que considerar que si el conductor tiene menos de 2 años el permiso de conducir, el precio se incrementa un 25% adicional. Elaborar un programa que calcule el precio del seguro para un determinado modeo y un determinado conductor.

//Declaracion de variables
String txt1 = "", txt2 = "", txt3 = "", txt4 = "";
String modelo[] = {"A","B"};
String color[] = {"Blanco","Metalizado","Otros"};
DecimalFormat miformato = new DecimalFormat("###,###,###.##");
int edad = 0, pase = 0;
double incremE = 0.0, incremP = 0.0, precpase = 0, veuroapeso = 3225.86, total = 0.0, subtotal = 0.0;

//Captura de datos
txt1 = (String)JOptionPane.showInputDialog(null, "Modelo", "Seguro Obligatorio",
JOptionPane.QUESTION_MESSAGE, null, modelo, modelo[modelo.length-1]);
txt2 = (String)JOptionPane.showInputDialog(null, "Color", "Seguro Obligatorio",
JOptionPane.QUESTION_MESSAGE, null, color, color[color.length-1]);
txt3 = JOptionPane.showInputDialog(null, "Ingrese la edad",
"Seguro Obligatorio", JOptionPane.INFORMATION_MESSAGE);
txt4 = JOptionPane.showInputDialog(null, "Hace cuanto tiempo saco el pase",
"Seguro Obligatorio", JOptionPane.INFORMATION_MESSAGE);

//Convertir datos de String a Integer(Entero)
edad = Integer.parseInt(txt3);
pase = Integer.parseInt(txt4);

//Verificamos datos
if(pase < incremp =" 0.25;" increme =" 0.25;">= 26 && edad <= 30){
incremE = 0.25;
}else if(edad > 65){
incremE = 0.10;
}

if(txt1 == "A"){
if(txt2 == "Blanco"){
precpase = 240.41;
}
if(txt2 == "Metalizado"){
precpase = 330.00;
}
if(txt2 == "Otros"){
precpase = 270.50;
}
}else if(txt1 == "B"){
if(txt2 == "Blanco"){
precpase = 300.00;
}
if(txt2 == "Metalizado"){
precpase = 360.50;
}
if(txt2 == "Otros"){
precpase = 330.00;
}
}

//Realizamos las operaciones
subtotal = (precpase * veuroapeso) * incremP;
total = (precpase * veuroapeso) * incremE;
total = (precpase * veuroapeso) + total + subtotal;

//Imprimimos los resultados
JOptionPane.showMessageDialog(null, "Total a pagar por el Seguro Obligatorio: $ " + miformato.format(total),
"Seguro Obligatorio", JOptionPane.INFORMATION_MESSAGE);


Taller#2 ejemplo2

  • El cuadrante de un punto (x,y) se puede determinar a partir del signo de x e y, Escribir una función tal que dadas las coordenadas x e y, indique a qué cuadrante pertenece el punto.
//Declaramos las variables
String txt1 = "", txt2 = "", txt = "";
int x = 0, y = 0;

//Capturamos los datos
txt1 = JOptionPane.showInputDialog(null, "Ingrese la coordenada X",
"Plano Cartesiano", JOptionPane.INFORMATION_MESSAGE);
txt2 = JOptionPane.showInputDialog(null, "Ingrese la coordenada Y",
"Plano Cartesiano", JOptionPane.INFORMATION_MESSAGE);

//Convertimos de String a Integer (Entero)
x = Integer.parseInt(txt1);
y = Integer.parseInt(txt2);

//Realizamos la comparacion para ver en que cuadrante del plano pertenece
if (x > 0){
if (y > 0){
txt = "Cuadrante I";
}else if(y < txt = "Cuadrante IV" style="color: rgb(153, 0, 0);">else if
(x < style="color: rgb(153, 0, 0);">if (y > 0){
txt = "Cuadrante II";
}else if(y < txt = "Cuadrante III" style="color: rgb(153, 0, 0);">if (x == 0){ if (y > 0){
txt = "Cuadrante I y II";
}else if(y < txt = "Cuadrante III y IV" style="color: rgb(153, 0, 0);">else if (y == 0){
if (x > 0){
txt = "Cuadrante I y IV";
}else if(x < txt = "Cuadrante II y III" style="color: rgb(153, 0, 0);">if (x == 0 && y == 0){
txt="Neutro";
}

//Imprimimos el resultado
JOptionPane.showMessageDialog(null, txt,
"Plano Cartesiano", JOptionPane.INFORMATION_MESSAGE);

Taller#2 ejemplo1

  • Dados dos números, num1 y num2, realizar un programa que escriba uno de los dos mensajes: "el producto de los dos números es positivo o nulo" o bien "el producto de los dos números es negativo". No hay que calcular el producto.
//Declaramos las variables
String txt1 = "", txt2 = "", txt = "";
int n1 = 0, n2 = 0;

//Capturamos los datos
txt1 = JOptionPane.showInputDialog(null, "Ingrese el primer numero",
"Producto", JOptionPane.INFORMATION_MESSAGE);
txt2 = JOptionPane.showInputDialog(null, "Ingrese el segundo numero",
"Producto", JOptionPane.INFORMATION_MESSAGE);

//Realizamos la conversion de datos
n1 = Integer.parseInt(txt1);
n2 = Integer.parseInt(txt2);

//Realizamos la comparacion de datos
if (n1 > 0){
if(n2 >= 0){
txt = "El producto de los dos numeros es positivo o nulo";
}else if(n2 < txt = "El producto de los dos numeros es negativo" style="color: rgb(153, 0, 0);">else if
(n2 > 0){
if(n1 >= 0){
txt = "El producto de los dos numeros es positivo o nulo";
}else if(n1 < txt = "El producto de los dos numeros es negativo" style="color: rgb(153, 0, 0);">else{
txt = "El producto de los dos numeros es positivo o nulo";
}

//Imprimimos el resultado
JOptionPane.showMessageDialog(null, txt,
"Producto", JOptionPane.INFORMATION_MESSAGE);

lunes, 9 de marzo de 2009

Laboratorio3 ejemplo8

  • Una empresa desea conocer el monto de comisión correspondiente a una venta realizada por un vendedor bajo las siguientes condiciones. Si la venta es menor a $1,000.00, se le otorga el 3% de comisión. Si la venta es de $1,000.00 o más, el vendedor recibe el 5% de comisión.

//Declaracion de variables
String txt = "";
double vventa = 0, com = 0.0;

//Captura de datos
txt = JOptionPane.showInputDialog(null, "Ingrese el valor de la venta",
"Comision del vendedor", JOptionPane.INFORMATION_MESSAGE);

//Convertimos de String a Double
vventa = Double.parseDouble(txt);

//Realizamos la comparacion del valor de la venta para la comision
if (vventa < com =" vventa" style="color: rgb(153, 0, 0);">else if
(vventa >= 1000000){
com = vventa * 0.05;
}

//Imprimir resultado
JOptionPane.showMessageDialog(null, "Comision otorgada " + com,
"Comision del vendedor", JOptionPane.INFORMATION_MESSAGE);

Laboratorio3 ejemplo7

  • Se ingresan 3 lados de un triangulo al computador para determinar si el triangulo existe.
Triangulo


//Declaracion de variables
String txt1 = "", txt2 = "", txt3 = "", txt = "";
int n1 = 0, n2 = 0, n3 = 0;

//Captura de datos
txt1 = JOptionPane.showInputDialog(null, "Ingrese el primer dato",
"Triangulo", JOptionPane.INFORMATION_MESSAGE);
txt2 = JOptionPane.showInputDialog(null, "Ingrese el segundo dato",
"Triangulo", JOptionPane.INFORMATION_MESSAGE);
txt3 = JOptionPane.showInputDialog(null, "Ingrese el tercer dato",
"Triangulo", JOptionPane.INFORMATION_MESSAGE);

//Convertir datos a Integer(Entero)
n1 = Integer.parseInt(txt1);
n2 = Integer.parseInt(txt2);
n3 = Integer.parseInt(txt3);

//Verificamos a que tipo de triangulo corresponde
if(n1 == n2){
if(n1 == n3){
txt = "Triangulo Equilatero";
}else if(n1 != n3){
txt = "Triangulo Isosceles";
}
}else if(n1 == n3){
if(n1 != n2){
txt = "Triangulo Isosceles";
}
}else if(n2 == n3){
if(n2 != n1){
txt = "Triangulo Isosceles";
}
}
if(n1 != n2 && n2 != n3 && n1 != n3){
txt = "Triangulo Escaleno";
}

//Imprimimos los resultados
JOptionPane.showMessageDialog(null, "" + txt,
"Triangulo", JOptionPane.INFORMATION_MESSAGE);

Laboratorio3 ejemplo6

  • Se ingresan 3 edades al computador, determinar el promedio de las edades que son mayores a 18.

//Declaracion de variables
String txt1 = "";
double n1 = 0, sum = 0, con = 0, prom = 0;
DecimalFormat miFormato = new DecimalFormat("##.#");

//Captura de datos suma de mayores y cantidad mayores de 18 años
for (int n = 1; n <=3; n++ ){ txt1 = JOptionPane.showInputDialog(null, "Ingrese la " + n +" edad",
"Programa de promedio de edades", JOptionPane.INFORMATION_MESSAGE);
n1 = Double.parseDouble(txt1);
if (n1 > 18){
sum = sum + n1;
con = con + 1;
}
}

//Promedio de edades mayores a 18 años
prom = sum / con;

//Imprimir resultados
JOptionPane.showMessageDialog(null, "El promedio de edades mayores a 18 es: " + miFormato.format(prom),
"Programa de promedio de edades", JOptionPane.INFORMATION_MESSAGE);

Laboratorio3 ejemplo5

  • Hacer un programa que lea tres notas de un alumno, que muestre su promedio y si está aprobado o desaprobado. Además si su promedio es superior a 4.0 que sea excelente y si es igual o inferior a 2.9 que sea pésimo.



  • //Declaramos las variables
    String Txt1 = "", Txt2 = "", Txt3 = "", a = "";
    double nota1 = 0.0, nota2 = 0.0, nota3 = 0.0, prom = 0.0;
    DecimalFormat miFormato = new DecimalFormat("#.##");


    //Capturamos los datos desde teclado
    Txt1 = JOptionPane.showInputDialog(null, "Primera Nota",
    "Notas del alumno", JOptionPane.INFORMATION_MESSAGE);
    Txt2 = JOptionPane.showInputDialog(null, "Segunda Nota",
    "Notas del alumno", JOptionPane.INFORMATION_MESSAGE);
    Txt3 = JOptionPane.showInputDialog(null, "Tercera Nota",
    "Notas del alumno", JOptionPane.INFORMATION_MESSAGE);


    //Convertimos de String a Integer(Entero)
    nota1 = Double.parseDouble(Txt1);
    nota2 = Double.parseDouble(Txt2);
    nota3 = Double.parseDouble(Txt3);


    //Sacamos el promedio
    prom = (nota1+nota2+nota3)/3;


    //Realizamos la comparacion del resultado
    if(prom > 4.0){
    a = "Excelente";
    }else if(prom <= 2.9){ a = "Pesimo"; } //Imprimos el resultado con formateo de promedion (#.##) para imprimir 2 decimales
    JOptionPane.showMessageDialog(null, "Promedio: " + miFormato.format(prom) + " " + a,
    "Notas del alumno", JOptionPane.INFORMATION_MESSAGE);

    Laboratorio3 ejemplo4

  • Diseñar un programa que lea tres número enteros y muestre el mayor de ellos.


  • //Declaramos las variables
    String Txt1 = "", Txt2 = "", Txt3 = "";
    int num1 = 0, num2 = 0, num3 = 0, a = 0;

    //Capturamos los datos
    Txt1 = JOptionPane.showInputDialog(null, "Digite el Primer Numero",
    "Numero Entero Mayor", JOptionPane.INFORMATION_MESSAGE);
    Txt2 = JOptionPane.showInputDialog(null, "Digite el Segundo Numero",
    "Numero Entero Mayor", JOptionPane.INFORMATION_MESSAGE);
    Txt3 = JOptionPane.showInputDialog(null, "Digite el Tercer Numero",
    "Numero Entero Mayor", JOptionPane.INFORMATION_MESSAGE);

    //Convertimos los datos de String a Integer (Entero)
    num1 = Integer.parseInt(Txt1);
    num2 = Integer.parseInt(Txt2);
    num3 = Integer.parseInt(Txt3);

    //Comparamos los datos ingresados por el usuario
    if (num1 >= num2 && num1 >= num3){
    a = num1;
    }else if(num2 >= num1 && num2 >= num3){
    a = num2;
    }else{
    a = num3;
    }

    //Imprimos el resultado
    JOptionPane.showMessageDialog(null, a,
    "Numero Entero Mayor", JOptionPane.INFORMATION_MESSAGE);

    Laboratorio3 ejemplo3

  • Crear un programa capaz de leer un valor entero y de determinar si se trata de un número par o impar.


  • //Declaramos las variables
    String Txt = "", a = "";
    int num = 0;

    //Capturamos los datos desde teclado
    Txt = JOptionPane.showInputDialog(null, "Digite un numero",
    "Numero Par o Impar", JOptionPane.INFORMATION_MESSAGE);

    //Convertimos los datos de String a Integer (Entero)
    num = Integer.parseInt(Txt);

    //Para saber si es par o impar necesitamos el modulo
    num = (num % 2);

    //Verificamos si el modulo es cero es para si es diferente es impar
    if (num != 0){
    a = "Impar";
    }else{
    a = "Par";
    }

    //Imprimimos el resultado
    JOptionPane.showMessageDialog(null, a,
    "Numero Par o Impar", JOptionPane.INFORMATION_MESSAGE);

    Laboratorio3 ejemplo2

  • Necesitamos un programa que ordene 3 números de mayor a menor.



  • //Declaramos las variables
    String Txt1 = "", Txt2 = "", Txt3 = "";
    intnum1 = 0, num2 = 0, num3 = 0;
    int a = 0, b = 0, c = 0;

    //Capturamos los datos desde teclado
    Txt1 = JOptionPane.showInputDialog(null, "Ingrese el primer valor",
    "Ordenar Valores", JOptionPane.INFORMATION_MESSAGE);


    Txt2 = JOptionPane.showInputDialog(null, "Ingrese el segundo valor",
    "Ordenar Valores", JOptionPane.INFORMATION_MESSAGE);


    Txt3 = JOptionPane.showInputDialog(null, "Ingrese el tercer valor",
    "Ordenar Valores", JOptionPane.INFORMATION_MESSAGE);


    //Convertimos los datos en Integer(Enteros)
    num1 = Integer.parseInt(Txt1);
    num2 = Integer.parseInt(Txt2);
    num3 = Integer.parseInt(Txt3);


    //Realizamos la comparacion de datos
    if (num1 >= num2 && num1 >= num3){
    a = num1;
    if (num2 >= num3){
    b = num2;
    c = num3;
    }else{
    c = num3;
    c = num2;
    }
    }
    if (num2 >= num1 && num2 >= num3){
    a = num2;
    if (num1 >= num3){
    b = num1;
    c = num3;
    }else{
    b = num3;
    c = num1;
    }
    }
    if (num3 >= num1 && num3 >= num2){
    a = num3;
    if (num1 >= num2){
    b = num1;
    c = num2;
    }else{
    b = num2;
    c = num1;
    }
    }


    //Imprimos el resultado
    JOptionPane.showMessageDialog(null, a + " " + b + " " + c,
    "Ordenar Valores", JOptionPane.INFORMATION_MESSAGE);

    Laboratorio3 ejemplo1

    1. Desarrolle un programa que le pregunte al usuario por el valor de una hora en segundos y la devuelva en horas, minutos y segundos. Si el usuario digita un valor de segundos negativo, el programa debe convertirlo en positivo.


    2. //Definimos las variables
      String Txt = " ";
      int numing = 0, s = 0, m = 60, h = 3600, f = 0, g = 0;

      //Realizamos la capturas de datos
      Txt = JOptionPane.showInputDialog(null, "Ingrese una hora en segundos",
      "Calcular Hora, Minutos y Segundos", JOptionPane.INFORMATION_MESSAGE);

      //Cambiamos la variable de tipo String a Integer (Entero)
      numing = Integer.parseInt(Txt);

      //Si el numero es negativo lo cambiamos a positivo
      if(numing < numing =" numing">
      //Realizamos las respectivas operaciones
      f = numing / h;
      g = numing / m;
      s = numing % m;



      //Imprimimos los resultados
      JOptionPane.showMessageDialog(null, "Hora: " + f + " Minuto: " + g + " Segundo: " + s, "Calcular Hora, Minutos y Segundos", JOptionPane.INFORMATION_MESSAGE);

    domingo, 8 de marzo de 2009

    Primeros pasos

    En este primer ejemplo multiplicaremos dos numeros en el cual utilizaremos la libreria import java.util.*; para capturar datos desde el teclado.

    Cosas que debes saber

    Librerías de Java

    En la mayoría de los sistemas operativos actuales, se ofrece una cantidad de código para simplificar la tarea de programación. Este código toma la forma, normalmente, de un conjunto de librerías dinámicas que las aplicaciones pueden llamar cuando lo necesiten. Pero la Plataforma Java está pensada para ser independiente del sistema operativo subyacente, por lo que las aplicaciones no pueden apoyarse en funciones dependientes de cada sistema en concreto. Lo que hace la Plataforma Java, es ofrecer un conjunto de libererías estándar, que contiene mucha de las funciones reutilizables disponibles en los sistemas operativos actuales.

    Las librerías de Java tienen tres propósitos dentro de la Plataforma Java. Al igual que otras librerías estándar, ofrecen al programador un conjunto bien definido de funciones para realizar tareas comunes, como manejar listas de elementos u operar de forma sofisticada sobre cadenas de caracteres. Además, las librerías proporcionan una interfaz abstracta para tareas que son altamente dependientes del hardware de la plataforma destino y de su sistema operativo. Tareas tales como manejo de las funciones de red o acceso a ficheros, suelen depender fuertemente de la funcionalidad nativa de la plataforma destino. En el caso concreto anterior, las librerías java.net y java.io implementan el código nativo internamente, y ofrecen una interfaz estándar para que aplicaciones Java puedan ejecutar tales funciones. Finalmente, no todas las plataformas soportan todas las funciones que una aplicación Java espera. En estos casos, las librerías bien pueden emular esas funciones usando lo que esté disponible, o bien ofrecer un mecanismo para comprobar si una funcionalidad concreta está presente.

    Variables

    Tipos Primitivos:


    Como tipos primitivos entendemos aquellos tipos de información mas usuales y básicos. Son los habituales de otros lenguajes de programación. Te describo algún dato a tener en cuenta en cada tipo.


    * Boolean: No es un valor numérico, solo admite los valores true o false.

    * Char: Usa el código UNICODE y ocupa cada carácter 16 bits.

    * Enteros: Difieren en las precisiones y pueden ser positivos o negativos.

    o Byte: 1 byte.

    o Short: 2 bytes.

    o Int: 4 bytes.

    o Long: 8 bytes.

    * Reales en punto flotante: igual que los enteros también difieren en las precisiones y pueden ser positivos o negativos.

    o Float: 4 bytes.

    o Double: 8 bytes.

    Declaracion de la variable

    Ahora que tenemos las piezas necesarias ( identificadores y tipos ) podemos definir variables en Java. Una variable referenciará siempre a un tipo primitivo de Java o a cualquier otro objeto creado en nuestro programa. Veamos algunas declaraciones:


    Int a ; // declaración de una variable 'a'

    //inicializada a 0 (valor por defecto).


    Int b = 8; // declaración de una variable 'b' inicializada a 8.

    Mi primer programa

    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).



    Este ejemplo necesita una pequeña explicación.


    * Todo en Java está dentro de una clase, incluyendo programas autónomos.

    * El código fuente se guarda en archivos con el mismo nombre que la clase que contienen y con extensión “.java”. Una clase (class) declarada pública (public) debe seguir este convenio. En el ejemplo anterior, la clase es Hola, por lo que el código fuente debe guardarse en el fichero “Hola.java”

    * El compilador genera un archivo de clase (con extensión “.class”) por cada una de las clases definidas en el archivo fuente. Una clase anónima se trata como si su nombre fuera la concatenación del nombre de la clase que la encierra, el símbolo “$”, y un número entero.

    * Los programas que se ejecutan de forma independiente y autónoma, deben contener el método ”main()”.

    * La palabra reservada ”void” indica que el método main no devuelve nada.

    * El método main debe aceptar un array de objetos tipo String. Por acuerdo se referencia como ”args”, aunque puede emplearse cualquier otro identificador.

    * La palabra reservada ”static” indica que el método es un método de clase, asociado a la clase en vez de a instancias de la misma. El método main debe ser estático o ’’de clase’’.

    * La palabra reservada public significa que un método puede ser llamado desde otras clases, o que la clase puede ser usada por clases fuera de la jerarquía de la propia clase. Otros tipos de acceso son ”private” o ”protected”.

    * La utilidad de impresión (en pantalla por ejemplo) forma parte de la biblioteca estándar de Java: la clase ‘’’System’’’ define un campo público estático llamado ‘’’out’’’. El objeto out es una instancia de ‘’’PrintStream’’’, que ofrece el método ‘’’println (String)’’’ para volcar datos en la pantalla (la salida estándar).

    * Las aplicaciones autónomas se ejecutan dando al entorno de ejecución de Java el nombre de la clase cuyo método main debe invocarse. Por ejemplo, una línea de comando (en Unix o Windows) de la forma java –cp . Hola ejecutará el programa del ejemplo (previamente compilado y generado “Hola.class”) . El nombre de la clase cuyo método main se llama puede especificarse también en el fichero “MANIFEST” del archivo de empaquetamiento de Java (.jar).

    Que es 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.

    La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.

    Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java todavía no es software libre).