Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorios de computación
salas A y B
Profesor: M.I .Ernesto Alcántara Concepción
Grupo: 02
Semestre: 2021-1
Observaciones:
CALIFICACIÓN:______
ÍNDICE
pág.
Objetivo…………………………………………..…………………………………...…......(3)
Introdución…………………………………………………………….……..……………...(3)
Actividades…………………………………………………………………………...……...(4)
Ejercicio 1………………………………………………………………………..…..(4)
Ejercicio 2……………………………………………………………………...…….(5)
Ejercicio 3………………………………………………………………………...….(6)
Ejercicio 4…………………………………………………………………………....(8)
Ejercicio 5…………………………………………………………………………..(10)
Ejercicio 7…………………………………………………………………………..(15)
Conclusion………………………………………………...…………………………..........(17)
Referencias…………………………………………………………………..……………. (18)
2
OBJETIVO.
Utilizar bibliotecas propias del lenguaje para realizar algunas tareas comunes y recurrentes.
INTRODUCCIÓN.
Ivar Jacobson sostenía que la reutilización del software es una de las mejores aproximaciones
para detener la tan afamada crisis del software, especialmente como compañera inseparable
del paradigma orientado a objetos. La reutilización es considerada como una posible solución
para dar respuesta a un mercado que exige productos y servicios cada vez más fiables, baratos
y entregados a tiempo.
La plataforma Java proporciona un conjunto de clases, interfaces y paquetes predefinidos
para facilitar el desarrollo de clases y aplicaciones. Abarcan temas como comunicaciones,
web, diseño gráfico, utilidades matemáticas, contenedores genéricos y muchas más.
Para utilizar algunas de ellas es necesario importar el paquete en el que se encuentran,
indicandolo con la sentencia import seguida del nombre del paquete y de la clase a importar.
Puede encontrarse información de todas las clases, junto con sus métodos, en la API de Java:
http://java.sun.com/javase/6/docs/api/
Las siglas API tienen su origen en Application Programming Interface y consiste en un
conjunto de librerías de código Java.
Arreglos.
Un arreglo es un objeto en el que se puede almacenar un conjunto de datos de un mismo tipo.
Cada uno de los elementos del arreglo tiene asignado un índice numérico según su posición,
siendo 0 el primer índice.
Wrapper.
El API de Java incorpora las clases envoltorio (wrapper class), que no son más que dotar a los
datos primitivos con un envoltorio que permite tratarlos como objetos.
Colecciones.
Una colección representa un grupo de objetos. Estos objetos son conocidos como elementos.
Cuando queremos trabajar con un conjunto de elementos, necesitamos un almacén donde
poder guardarlos. En Java, se emplea la interfaz genérica Collection para este propósito.
Gracias a esta interfaz, podemos almacenar cualquier tipo de objeto y podemos usar una serie
de métodos comunes, como pueden ser: añadir, eliminar, obtener el tamaño de la colección.
Partiendo de la interfaz genérica Collection extienden otra serie de interfaces genéricas, estas
subinterfaces aportan distintas funcionalidades sobre la interfaz anterior.
3
ACTIVIDADES.
❖ - Conocer las bibliotecas del lenguaje.
❖ - Utilizar algunas clases propias de la biblioteca del lenguaje
Ejercicio 1. Escriba una aplicación que pruebe si los ejemplos de las llamadas a los
métodos de la clase Math que se muestran a continuación:
Mariana Rojas. Se creó una clase pública ClaseM en la cual se le pide al usuario ingresar
dos valores (X y Y) los cuales se usarán para comprobar las funciones de la clase Math en
java, al final se imprimen los resultados llamando a la Clase Math en el método que vamos a
comprobar evaluado en X y el último en X y Y.
import java.util.Scanner;
float x,y;
4
System.out.printf("El valor absoluto de x es:
%.2f\n",Math.abs(x));
System.out.printf("El numero redondeado al entero mas pequeño y
mayor x es: %.3f\n",Math.ceil(x));
System.out.printf("El coseno trigonometrico de x EN RADIANES es:
%f\n",Math.cos(x));
System.out.printf("El resultado de la funcion exponencial
elevada a x es: %f\n",Math.exp(x));
System.out.printf("El numero redondeado al entero mas grande
menor que x es: %.2f\n",Math.floor(x));
System.out.printf("El logaritmo natural de x en base e es:
%.2f\n",Math.log(x));
System.out.printf("El valor mas grande de 'x' y 'y' es:
%.4f\n",Math.max(x,y));
}
}
Ejercicio 2. Escriba una aplicación completa en Java que pida al usuario el radio de tipo
double de una esfera, y que llame al método volumenEsfera para calcular y mostrar el
volumen de esa esfera. Utilice la siguiente asignación para calcular el volumen:
Carlos De los Cobos. Se utilizó la sentencia “Math.PI” para calcular el volumen, en un
método que recibe el radio como parámetro.
import java.lang.Math;
public class Esfera{
private double radio;
public void asignarRadio(double radio){
this.radio=radio;
}
public double obtenerRadio(){
return radio;
}
5
public double volumenEsfera(double radio){
return (4.0/3.0) * Math.PI * Math.pow(radio,3);
}
}
import java.util.Scanner;
public class Ej_2{
public static void main(String[] args) {
System.out.println("\tVolumen de una esfera\n");
Scanner entrada = new Scanner(System.in);
Esfera esfera1 = new Esfera();
System.out.println("Ingrese el radio de la esfera\n");
esfera1.asignarRadio(entrada.nextDouble());
System.out.printf("Radio=%.2f
Volumen=%.4f\n",esfera1.obtenerRadio(),esfera1.volumenEsfera(esfera1.obtenerR
adio()));
System.out.println("\n\tFin de ejercicio");
}
}
Ejercicio 3. Una aplicación del método Math.floor es redondear un valor al siguiente
entero. La instrucción
y = Math.floor( x + 0.5 );
redondea el número x al entero más cercano y asigna el resultado a y. Escriba una aplicación
que lea valores double y que utilice la instrucción anterior para redondear cada uno de los
números a su entero más cercano y conviértelo a un tipo de dato entero. Para cada número
procesado, muestre tanto el número original como el redondeado.
Said Dominguez. Se generó una clase Redondear en donde usamos el metodo Math.floor( x
+ 0.5 ) para poder redondear el número entero más cercano al número decimal ingresado. En
la clase Redondeo se llama a un objeto para poder obtener el valor deseado.
6
import java.util.Scanner;
double x, y;
Scanner entrada = new Scanner(System.in);
System.out.print("\nIntroduzca un numero decimal: ");
x = entrada.nextDouble();
y = Math.floor( x + 0.5 );
Luis Zuñiga. Para resolverlo se uso un casteo directo sobre la variable double y se almacenó
en una variable tipo int.
import java.util.Scanner;
class Rendondear{
public static void main(String[] a) {
Scanner scan = new Scanner(System.in);
int i;
double num;
System.out.println("Ingrese un numero decimal: ");
num= scan.nextDouble();
num=Math.floor(num+0.5);
i= (int)num;
System.out.printf("\nEl numero final es: %d", i);
}
}
7
Ejercicio 4. Escriba un método llamado minimoTres que devuelva el menor de tres
números de punto flotante. Use el método Math.min para implementar minimo3. Incorpore el
método en una aplicación que reciba como entrada tres valores por parte del usuario,
determine el valor menor y muestre el resultado.
Said Dominguez. Se generó la clase Minimo que nos pide ingresar tres números double,
luego se definió minimoTres que llama al método Math.min para llamar al objeto que nos
regresa el valor mínimo de los tres números ingresados
import java.util.Scanner;
public class Minimo{
8
Luis Zuñiga. Un pequeño método que llame a Math.min dentro de sí mismo para realizar las
comparaciones entre si una vez que estas hayan sido realizadas por primera vez.
import java.util.Scanner;
class Minimo3{
public static void main(String[] ber) {
float a,b,c,d;
Scanner scan= new Scanner(System.in);
System.out.println("Indique el 1er numero: ");
a= scan.nextFloat();
System.out.println("Indique el 2do numero: ");
b= scan.nextFloat();
System.out.println("Indique el 3er numero: ");
c= scan.nextFloat();
d=Math.min(Math.min(a, b),Math.min(c, b));
System.out.printf("%f",d);
}
}
9
Ejercicio 5. Del ejemplo visto en clase modifícalo para que pueda recibir los datos de
temperatura como parámetros desde la línea de comando.
Mariana Rojas. El código que modifiqué fue PruebaEstacion en el cual declare el arreglo
temperatura2 al cual se le asignó un tamaño de 10, y por último con ayuda de un ciclo four le
pedí al usuario que ingresará las diez temperaturas a analizar.
10
double minimo = temperatura[0];
for (int i = 0; i < 10; i++){
minimo=Math.min(minimo,temperatura[i]);
}
return minimo;
}
public void guardarTemperatura(String[] temperatura2){
for (int i = 0; i < 10; i++){
double datoNumerico1 =
Double.parseDouble(temperatura2[i]);
System.out.printf("\n%f", datoNumerico1);
this.temperatura[i]=datoNumerico1;
}
}
}
import java.util.Scanner;
estacion.guardarTemperatura(temperatura2);
System.out.printf("\nLa temperatura Maxima es; %f \n",
estacion.tempMax());
System.out.printf("\nLa temperatura Minima es; %f \n",
estacion.tempMin());
}
}
11
Carlos De los Cobos. Solamente se modificó el arreglo de temperaturas, de modo que, con
ayuda de Scanner, se pudiera introducir cada una de las temperaturas en el arreglo y
posteriormente utilizar el método para encontrar la temperatura máxima entre todas.
import java.util.Scanner;
public class PuebaEstacion{
public static void main(String[] agrs){
System.out.println("\tEstacion Clima\n");
Scanner entrada = new Scanner(System.in);
EstacionClima estacion= new EstacionClima();
double [] temperatura2 = new double[10];
System.out.println("Introduzca 10 temperaturas: \n");
for(short i=0;i<10;i++){
temperatura2[i] = entrada.nextFloat();
}
estacion.GuardarTemperatura(temperatura2);
12
System.out.printf("\nLa temperatura Maxima es; %.2f \n",
estacion.TempMax());
Ejercicio 6. Realice las siguientes tareas para un arreglo llamado fracciones:
Carlos De los Cobos. Se declaró un arreglo de 10 elementos para el ejercicio, el cual se
inicializa en 0 en cada una de sus posiciones. Posteriormente, se realizaron los movimientos
solicitados por el ejercicio y por último, con un método para sumar los elementos, se obtiene
el resultado mostrado.
13
arr[8] = 1.667;
arr[7] = 3.333;
double suma = 0;
for(int x=0;x<TAMANIO_ARREGLO;x++){
System.out.printf("Elemento %d=%.3f\n",x+1,arr[x]);
suma+=arr[x];
}
System.out.printf("La suma de los elementos del arreglo es:
%.3f",suma);
}
}
Mariana Rojas. Se hizo una clase ArregloFraciones en la cual se siguieron los pasos
indicados y al final se imprimieron los elementos del arreglo y el resultado de la suma.
double suma = 0;
final int tamanio_arreglo = 10;
double [] fracciones = new double[tamanio_arreglo];
fracciones[8] = 1.667;
fracciones[5] = 3.333;
14
Ejercicio 7. Se supone que el siguiente programa invierte el orden de los elementos en el
arreglo simpsons. Compila y ejecuta, pero no funciona correctamente.
Said Dominguez.
15
b) Para corregir este problema se uso el método System.arraycopy(temp, 0, list, 0, 3);
Este método copia n datos del array de origen a un array de destino en la posición que
le asignemos
Luis Zuñiga.
16
System.out.println(simpsons[0]+ " "+simpsons[1]+ "
"+simpsons[2]);
}//End of main
public static void reverse(String[] list) {
String[] temp= new String[list.length];
for (int i=0; i<list.length;i++) {
temp[i] = list[list.length-i-1];
}
System.arraycopy(temp, 0, list, 0, 3);
}
CONCLUSIÓN.
Se utilizaron las bibliotecas propias del lenguaje de manera satisfactoria, la clase Math es de
gran utilidad para poder realizar las operaciones matemáticas más habituales mediante
métodos bastante simples con lo cual se puede ahorrar tiempo y reducir las líneas de código.
Mediante arreglos y manejo de cadenas también pudimos notar una gran eficiencia al
momento de programar, ya que podemos almacenar un conjunto de datos de un mismo tipo y
trabajar con ellos de una forma más cómoda. Los wrappers tienen la utilidad de permitirnos
castear un tipo de dato a otro. Se diferencian de los datos primitivos en que estos tienen
métodos incluidos que facilitan su uso y casi todos tienen algún método para devolver el dato
que contienen como otro dato primitivo; la principal ventaja es que podemos tratar estos
nuevos datos convertidos como objetos y así poder aplicar métodos de manera eficiente.
Por lo tanto, con el uso de las bibliotecas propias o clases pre-construidas podemos mejorar la
calidad de los programas, ya que han sido probadas íntegramente, depuradas y sometidas a un
proceso de recuento para asegurar su funcionamiento y eficiencia.
17
REFERENCIAS.
● https://javiergarciaescobedo.es/programacion-en-java/2-clases-y-objetos/15-clases-pre
definidas
● http://www.lcc.uma.es/~vicente/docencia/poo/teoria/poo_4_cbasic.pdf
● Tema 5 Reutilización: Clases predefinidas ... - UniNEAwww.uninea.com.ar ›
descargas › download_file
● https://formatalent.com/que-son-las-apis-de-java/
● https://www.adictosaltrabajo.com/2015/09/25/introduccion-a-colecciones-en-java/
18