Laboratorio No 1
LAB121 Laboratorio de INF121
Docente: Lic. Jhonny Roberto Felı́pez Andrade
17 de marzo de 2025
1. Objetivo
El objetivo principal de este laboratorio es escribir y ejecutar su primer Programa Orientado
a Objetos en Java. En este primer laboratorio se considerará los conceptos de objeto, clase,
método y mensaje.
2. Ejemplo: Programa Modular y Estructurado
Figura 1: Diseño Modular.
/**
* Obtiene el área y el perı́metro de un cı́rculo.
*
* @author Juan Perez
* @version 1.0 17/03/2025
*
*/
public class Modular_Estructurado {
/* Retorna el área del cı́rculo */
public static double getArea(double radio) {
return radio * radio * [Link];
}
1
/* Retorna el perı́metro del cı́rculo */
public static double getPerimetro(double radio) {
return 2 * radio * [Link];
}
/** Método Principal */
public static void main(String[] args) {
// Cı́rculo con el radio 1
[Link]("El área del cı́rculo es " + getArea(1));
// Cı́rculo con el radio 25
[Link]("El área del cı́rculo es " + getArea(25));
// Cı́rculo con el radio de 125
[Link]("El área del cı́rculo es " + getArea(125));
}
}
3. Ejemplo: Programa Orientado a Objetos
Figura 2: La Clase Circulo.
2
/**
* Clase Circulo.
*
* @author Juan Perez
* @version 1.0 17/03/2025
*
*/
public class Circulo {
/* Radio del cı́rculo */
private double radio;
/* Construye un objeto cı́rculo */
public Circulo() {
[Link] = 1;
}
/* Construye un objeto cı́rculo */
public Circulo(double radio) {
[Link] = radio;
}
/* Retorna el área de éste cı́rculo */
public double getArea() {
return [Link] * [Link] * [Link];
}
/* Retorna el perı́metro de éste cı́rculo */
public double getPerimetro() {
return 2 * [Link] * [Link];
}
/* Asigna la nueva radio a este cı́rculo */
public void setRadio(double radio) {
[Link] = radio;
}
public String toString() {
return [Link]("%.2f",[Link]);
}
}
3
/**
* Clase principal. Cuyo objetivo es probar la ejecución de la clase Circulo.
*
* @author Juan Perez
* @version 1.0 17/03/2025
*
*/
public class TestCirculo {
/** Método Principal */
public static void main(String[] args) {
// Crea un cı́rculo con el radio 1
Circulo circulo1 = new Circulo();
[Link]("El área del cı́rculo es " + [Link]());
// Crea un cı́rculo con el radio 25
Circulo circulo2 = new Circulo(25);
[Link]("El área del cı́rculo es " + [Link]());
// Crea un cı́rculo con el radio de 125
Circulo circulo3 = new Circulo(125);
[Link]("El área del cı́rculo es " + [Link]());
}
}
4. Problemas asignados para entrega
1. (Álgebra: Ecuaciones Cuadráticas) Obtenga la solución de la ecuación cuadrática ax2 +
bx + c = 0. Incluya a la solución del problema los siguientes métodos:
getDiscriminante() devuelve el discriminante b2 − 4ac.
getRaiz1() y getRaiz2() los cuales devuelven las dos raı́ces de la ecuación.
√ √
−b + b2 − 4ac −b − b2 − 4ac
r1 = y r2 =
2a 2a
Estos métodos son útiles sólo si el discriminante es positivo.
El programa debe solicitar al usuario que introduzca los valores de a, b, y c y muestre
el resultado basado en el discriminante. Si el discriminante es positivo, mostrar las dos
raı́ces. Si el discriminante es 0, despliegue una sola raı́z. De lo contrario, despliegue ”La
ecuación no tiene raı́ces reales”.
4
Ejemplo de entrada
Ingrese a, b, c: 1.0 3 1
Ingrese a, b, c: 1 2.0 1
Ingrese a, b, c: 1 2 3
Ejemplo de salida
La ecuación tiene dos raı́ces -0.381966 y -2.61803
La ecuación tiene una raı́z -1
La ecuación no tiene raı́ces reales
Obtenga la solución en la Programación Modular-Estructura y luego en la Programación
Orientada a Objetos.
2. Estadı́sticas: calcular el promedio y la desviación estándar. En las aplicaciones comerciales,
a menudo se le pide que calcule el promedio y la desviación estándar de los datos. La
desviación estándar es una estadı́stica que le indica cuán estrechamente se agrupan todos
los diversos datos alrededor de la media en un conjunto de datos. Por ejemplo, ¿cuál es la
edad promedio de los estudiantes en una clase? ¿Qué tan cerca están las edades? Si todos
los estudiantes tienen la misma edad, la desviación es 0. Utilice la siguiente fórmula:
v
n
u n
uP
u (xi − promedio)2
P
xi
i=1
desviacion = i=1
t
promedio =
n n−1
Su programa debe contener los siguientes métodos:
promedio() obtiene el promedio de los valores en punto flotante
desviacion() devuelve la desviación estándar de los valores en punto flotante.
Escriba un programa que solicite al usuario ingresar 10 números, muestre el promedio y
las desviaciones estándar de estos números.
Ejemplo de entrada
1.9 2.5 3.7 2 1 6 3 4 5 2
Ejemplo de salida
El promedio es 3.11
La desviación estandard es 1.55738
Obtenga la solución en la Programación Modular-Estructura y luego en la Programación
Orientada a Objetos.