Lab Oratorio Ssss

22
ALGORITMICA II LABORATORIOS 01-02-03 5 EJERCICIOS COMANDO JAVA: BORRAR PANTALLA - ALVA BALTAZAR STEPHANIE 11200046 - CHUMAN MARICARMEN - SUASNABAR HUAPAYA JOSHUA 2013

Transcript of Lab Oratorio Ssss

Page 1: Lab Oratorio Ssss

ALGORITMICA II

LABORATORIOS 01-02-03

5 EJERCICIOS

COMANDO JAVA: BORRAR PANTALLA

- ALVA BALTAZAR STEPHANIE 11200046

- CHUMAN MARICARMEN

- SUASNABAR HUAPAYA JOSHUA

2013

Page 2: Lab Oratorio Ssss

RESOLUCION DEL LABORATORIO 01

I. Programación con salida en la ventana de comandos.

1. Edite, compile y corra el siguiente programa.

// HolaFecha.javaimport java.util.*;

public class HolaFecha {public static void main(String[] args) {

System.out.println (“Hola, hoy es: “);System.out.println (new Date());

}}

¿Tuvo errores de compilación? ¿Cuáles? ¿Cómo los solucionó?

No aparecieron errores de compilación.

¿Cuál es la salida del programa?

Page 3: Lab Oratorio Ssss

2. Edite, compile y corra el siguiente programa.

// Muestra el costo de la venta de un producto.import java.util.*;import java.util.Scanner;

public class Venta{public static void main(String[] args) {

Double precio, costo;int cantidad;Scanner stdin = new Scanner(System.in);System.out.println ("Digite el precio:");precio = stdin.nextDouble();System.out.println ("Digite la cantidad:");cantidad = stdin.nextInt();costo = precio * cantidad;System.out.println ("La venta es:$" + costo);

}//main}//clase

¿Qué elementos identifica en el programa?

Precio Costo Cantidad

3. Edite, compile y corra el siguiente programa.

import java.util.*;import java.util.Scanner;public class Grados{

public static void main(String[] args) {final Double PUNTO_CONGELACION = 32.0;final Double FACTOR_CONVERSION = 9.0/5.0;Double farenheit, celcius;Scanner stdin = new Scanner(System.in);System.out.println ("Digite los grados celcius:");celcius = stdin.nextDouble();farenheit = celcius*FACTOR_CONVERSION+PUNTO_CONGELACION;System.out.println ("Los grados farenheit son:" + farenheit);

}}

¿Qué elementos identifica en el programa? Punto Congelación Factor conversión Farenheit Celsius

Page 4: Lab Oratorio Ssss

II. Programación mostrando la salida usando ventanas.

4. Edite, compile y corra el siguiente programa.

//programa que muestra la suma de dos números

//paquetes de JAVAimport javax.swing.JOptionPane;public class Suma {

public static void main ( String args[]){String primerNumero; //primera cadena introducida por el

// usuarioString segundoNumero; //segunda cadena introducida por el

// usuarioint numero1; //primer numero a sumarint numero2; //segundo numero a sumarint suma; // suma de numero1 y numero2

//leer el primer numero del usuario como una cadenaprimerNumero = JOptionPane.showInputDialog( "Escriba elprimer entero" );

//leer el segundo numero del usuario como una cadenasegundoNumero = JOptionPane.showInputDialog( "Escriba elsegundo entero");

//convertir los numeros de tipo String a tipo intnumero1 = Integer.parseInt( primerNumero );numero2 = Integer.parseInt ( segundoNumero );

//sumar los numerossuma = numero1 + numero2;

//mostrar el resultadoJOptionPane.showMessageDialog ( null, "La suma es "+ suma,"Resultados", JOptionPane.PLAIN_MESSAGE );

System.exit (0);// terminar aplicación con la ventana

} // fin de main

} //fin de la clase suma

Page 5: Lab Oratorio Ssss

¿Cómo luce el programa en ejecución? ¿cuáles son las diferencias en cuanto al  primer tipo de aplicaciones de Java (ejercicio 1)?

La diferencia es que en el primer tipo (ejercicio 1) la información se mostraba en la ventana de comandos, en cambio en este caso (ejercicio 4) la información se muestra a través de ventanas.

III. EJERCICIOS

5. Escribir un programa que imprima valores de 1 a 5.

package lab01.Pregunta5;public class Pregunta5 { public static void main(String[] args){ int num=(int)(Math.random()*4)+1; System.out.println(num); }}

Page 6: Lab Oratorio Ssss

6. Si un código fuente Java tiene varias clases, lo habitual es que sólo una de ellascuente con método main(aunque en códigos posteriores podríamos ver que seusaran dos métodos main). Si hubiera varios definidos en clases del mismo códigofuente, sólo se ejecuta uno de ellos; el resto no se ejecuta.

La pregunta es: ¿qué método main va a ejecutarse?

La respuesta es:el asociado a la clase principal; esta clase principal la define el programador cuando ejecuta el código con: java <clase_principal>.

E

El fichero donde se guarda el código Java debe llamarse "Primera.java" pues es la clasepública del código. El programador puede controlar qué clase va a ser la principal, es decr,

Page 7: Lab Oratorio Ssss

qué clase va a contener el método main, desde la consola del DOS. El resto de métodosmain no se tendrán en cuenta.

Si desde la consola, y después de compilar con "javac Primera.java" se ejecuta con:

java Primera =>Por consola: Esta es la clase PrimeraSi java Segunda => Por consola: Esta es la clase SegundaSi java Tercera => Por consola: Esta es la clase Tercera

El método main que se ejecuta es el que esta con acceso public.

Page 8: Lab Oratorio Ssss

7. Escriba una aplicación que reciba del usuario el radio de un círculo como un entero, y que imprima el diámetro, circunferencia y área de ese círculo. Utilice el  valor de 3.14159 para π. También puede utilizar la constante predefinida Math.PI  para el valor de π. Esta constante es mas precisa que 3.14159. La clase Math se  define en el paquete java.lang por lo que no es necesario importarla. Use las  siguientes formulas:Diámetro = 2rCircunferencia = 2πrÁrea = πr2

package lab01.Pregunta7;import java.util.Scanner;

public class Circulo { public static void main(String[] args){ int radio; System.out.println("Ingrese el radio"); Scanner sc=new Scanner(System.in); radio=sc.nextInt(); System.out.println("El diametro es "+2*radio);

System.out.println("La longitud de circunferencia es" +2*Math.PI*radio);System.out.println("El area es "+Math.PI*Math.pow(radio, 2));

} }

8. Escriba un programa que lea el primer nombre y el apellido del usuario, como   dos entradas separadas, y que concatene el primer nombre y el apellido,   separándolos por un espacio. Muestre el nombre concatenado en un cuadro de  dialogo de mensaje.

package lab01.Pregunta8;import javax.swing.JOptionPane;

public class Concatenar { public static void main(String[] args){ String nom,ape; nom=JOptionPane.showInputDialog("Ingrese primer nombre"); ape=JOptionPane.showInputDialog("Ingrese el apellido");

JOptionPane.showMessageDialog(null, nom+" "+ape, "CONCATENADOS", JOptionPane.PLAIN_MESSAGE);

System.exit(0); }}

Page 9: Lab Oratorio Ssss

IV. EJERCICIOS DE INVESTIGACION

Conteste a las siguientes preguntas:

9. ¿Qué es un GUI?

Interfaz Gráfica de Usuario). Conjunto de formas y métodos que posibilitan la interacción de un sistema con los usuarios utilizando formas gráficas e imágenes. Con formas gráficas se refiere a botones, íconos, ventanas, fuentes, etc. los cuales representan funciones, acciones e información.

10. ¿De la clase JOptionPane, qué hacen los métodos: showMessageDialog, yshowInputDialog? ¿Cuáles son los argumentos que necesitan?.

showMessageDialog: Este metodo se encarga de mostrar la informacion a través de ventanas. Usa los siguientes parametros:.

Componentepadre: El objeto que indica de qué componente es hijo. Objetomensaje: Un String que corresponde al texto a mostrarse como mensaje. Titulo: String que se establecerá como titulo de la ventana. Tipodemensaje: Entero que determina el tipo de mensaje (ERROR_MESSAGE,

por ejemplo).

showInputDialog: Gracias a este metodo el usuario ingresa la informacion. Puede usar los mismos parametros que MessageDialog.

11. JOptionPane tiene 5 constantes para los cuadros de dialogo de mensajes, que son: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE,QUESTION_MESSAGE y PLAIN_MESSAGE. Investigue lo que hacen.

JOptionPane.ERROR_MESSAGE: Muestra un cuadro de dialogo que indica un error al usuario.

JOptionPane.INFORMATION_MESSAGE: Muestra un cuadro de dialogo con un mensaje informativo para el usuario.

Page 10: Lab Oratorio Ssss

JOptionPane.WARNING_MESSAGE: Muestra un cuadro de dialogo que advierte al usuario de un problema potencial.

JOptionPane. QUESTION_MESSAGE: Muestra un cuadro de dialogo con una pregunta para el usuario.

JOptionPane. PLAIN_MESSAGE: Muestra un cuadro de dialogo con un mensaje de plano.

12. ¿Qué hace el método exit de System? ¿cuál es la diferencia al usar 0 o 1 comoargumento de este método?

Esto sirve para aplicaciones desde la linea de comandos donde System. Exit(0) se interpreta como que ha finalizado correctamente y System. Exit(1) se interpreta como un código de error.

Page 11: Lab Oratorio Ssss

RESOLUCION DEL LABORATORIO 02

I. EJERCICIOS

Concatenación y comparación de cadenas.

1. Usando el método CONCAT de la clase String implemente una clase que:

//Declare los Strings:String cadena1 = "estaba”;String cadena2 = "desperto,";String cadena3 = "alli";String cadena4 = "todavía";String cadena5 = "el dinosaurio";String cadena6 = "Cuando";//Construya la oración "Cuando desperto, el dinosaurio todavía 

estaba alli".

package lab02.Pregunta01;

import javax.swing.JOptionPane;

public class Concatenar { public static void main(String[] args){ String cadena1 = "estaba"; String cadena2 = "desperto,"; String cadena3 = "alli"; String cadena4 = "todavía"; String cadena5 = "el dinosaurio"; String cadena6 = "Cuando"; String oracion= "cadena1= "+cadena1+"\ncadena2= "+cadena2+"\ncadena3= "+cadena3+"\ncadena4= "+cadena4+"\ncadena5= "+cadena5+"\ncadena6= "+cadena6; JOptionPane.showMessageDialog(null, oracion, "CADENAS A CONCATENAR",JOptionPane.INFORMATION_MESSAGE); oracion= cadena6.concat(" "+cadena2).concat(" "+cadena5).concat(" "+cadena4).concat(" "+cadena1).concat(" "+cadena3);

JOptionPane.showMessageDialog(null, oracion,"ORACION CONCATENADA",JOptionPane.PLAIN_MESSAGE); } }

Page 12: Lab Oratorio Ssss

2. Compare los nombres usando el método compareTo de la clase String.

//Declare los Strings:

String nombre1 = "Maria";String nombre2 = "Isabel";String nombre3 = "Luis";String nombre4 = "Victor";String nombre5 = "Isabel";

//Compare los nombres de:

//Victor e Isabel//Luis y Maria//Maria y Victor//Isabel con Isabel

//Describa como es que sabe si un nombre difiere o es igual a otro

Page 13: Lab Oratorio Ssss

package lab02.Pregunta02;

import javax.swing.JOptionPane;

public class CompararCadenas {

public static void main(String[] args){

String nombre1 = "Maria";

String nombre2 = "Isabel";

String nombre3 = "Luis";

String nombre4 = "Victor";

String nombre5 = "Isabel";

JOptionPane.showMessageDialog(null, "Victor e Isabel", "COMPARACION 1", JOptionPane.PLAIN_MESSAGE);

if(nombre4.compareTo(nombre5)==0){

JOptionPane.showMessageDialog(null, "iguales", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

else{

JOptionPane.showMessageDialog(null, "diferentes", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

JOptionPane.showMessageDialog(null, "Luis y Maria", "COMPARACION 2", JOptionPane.PLAIN_MESSAGE);

if(nombre3.compareTo(nombre1)==0){

JOptionPane.showMessageDialog(null, "iguales", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

else{

JOptionPane.showMessageDialog(null, "diferentes", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

Page 14: Lab Oratorio Ssss

JOptionPane.showMessageDialog(null, "Maria y Victor", "OMPARACION 3", JOptionPane.PLAIN_MESSAGE);

if(nombre1.compareTo(nombre4)==0){

JOptionPane.showMessageDialog(null, "iguales", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

else{

JOptionPane.showMessageDialog(null, "diferentes", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

JOptionPane.showMessageDialog(null, "Isabel e Isabel", "COMPARACION 4", JOptionPane.PLAIN_MESSAGE);

if(nombre5.compareTo(nombre5)==0){

JOptionPane.showMessageDialog(null, "iguales", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

else{

JOptionPane.showMessageDialog(null, "diferentes", "RESULTADO", JOptionPane.PLAIN_MESSAGE);

}

}

}

Page 15: Lab Oratorio Ssss

El metodo compareTo: Lo que realmente hace este método, es observar una cadena con respecto a otra y devolverá un número entero int. Este número determinará cuál de las dos cadenas va antes o después. El entero valdrá menos que 0 si la cadena argumento es lexicográficamente mayor que la cadena a comparar, 0 si son iguales y será mayor que 0 si es menor.

3. Escriba un programa que dados los String: a1 = "3" y a2 = "2". Luego almacene  los valores en int num1 e int num2 respectivamente. Halle el cociente num1/num2  y verifique su resultado. Ahora haga las correcciones necesarias para que el  resultado salga con  sus cifras decimales.

package lab02.Pregunta03;

import javax.swing.JOptionPane;

public class Coeficiente { public static void main(String[] args){ String a1="3",a2="2"; int num1,num2; float cociente;

num1=Integer.parseInt(a1); num2=Integer.parseInt(a2); JOptionPane.showMessageDialog(null,"primer numero : "+num1+"\nsegundo

numero : "+num2, "NUMEROS", JOptionPane.PLAIN_MESSAGE);

cociente=num1/num2;

JOptionPane.showMessageDialog(null, "3/2= "+cociente+"\ncociente= "+cociente, "COCIENTE",JOptionPane.PLAIN_MESSAGE);

Page 16: Lab Oratorio Ssss

if(cociente*num2==3){ JOptionPane.showMessageDialog(null, cociente+"*2= 3\nCORRECTO\

n"+cociente*num2+"= 3","VERIFICANDO RESULTADO",JOptionPane.PLAIN_MESSAGE);

}

else{ JOptionPane.showMessageDialog(null, cociente+"*2= 3\nINCORRECTO\

n"+cociente*num2+"<> 3", "VERIFICANDO RESULTADO",JOptionPane.PLAIN_MESSAGE);

cociente=(float)num1/num2;

JOptionPane.showMessageDialog(null, "3/2= "+cociente+"\ncociente= "+cociente, "CORRIGIENDO",JOptionPane.PLAIN_MESSAGE);

JOptionPane.showMessageDialog(null, cociente+"*2= 3\nCORRECTO\n"+cociente*num2+"= 3", "VERIFICANDO RESULTADO",JOptionPane.PLAIN_MESSAGE);

} }}

Page 17: Lab Oratorio Ssss

4. Cree una clase Complex que represente números en coordenadas rectangulares  (a+bi) y realice las operaciones de: Suma, Resta y Conjugado Complejo.  Recomendación:Resta → C1 + C2*. C1 = a + bi; C2 = c + di. C1 + C2 = (a + c) + (b + d)i.

Page 18: Lab Oratorio Ssss

RESOLUCION DEL LABORATORIO 03

I. EJERCICIOS

1. Crear un método que sume todos los números dentro de un arreglo. Iterar los  elementos utilizando el foreach.

public static double Sum(double[] data){

}

2.Crear un método que halle el promedio todos los números dentro de un arreglo. Iterar los elementos utilizando el foreach.

public static double Avg(double[] data){

}

3. Crear un método que halle el mínimo de todos los números dentro de un arreglo.  Iterar los elementos utilizando el foreach y la selección con la instrucción ?.

public static double Min(double[] data){double min = Double.MAX_VALUE;

}

4. Crear un método que halle el máximo de todos los números dentro de un arreglo. Iterar los elementos utilizando el foreach y la selección con la instrucción ?.

public static double Max(double[] data){double max = Double.MIN_VALUE;

}

5. Crear una función main en un archivo aparte y utilizar las funciones de  MathExtend para hallar el mínimo, máximo y promedio de los valores {1, 2, 3, 4, 5}.  Utilice un ciclo do{ … } while(input != letter); para entrar la data ({1, 2, 3, 4, 5})  desde el  teclado y escriba una letra para salir del ciclo. Luego halle los mismos datos esta vez  creando y declarando el  arreglo en la misma linea.

Page 19: Lab Oratorio Ssss

5 EJERCICIOS

Page 20: Lab Oratorio Ssss

COMANDO JAVA: BORRAR PANTALLA