Laboratorio 02

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

LABORATORIO 02

EJERCICIO 01: Confeccionar una clase que permita carga el nombre y la edad de una
persona. Mostrar los datos cargados. Imprimir un mensaje si es mayor de edad (edad>=18)
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

El nombre de la clase debe hacer referencia al concepto (en este caso la hemos llamado Persona):

public class Persona {

Los atributos los definimos dentro de la clase pero fuera de la main:

private Scanner teclado;


private String nombre;
private int edad;

Veremos más adelante que un atributo es normalmente definido con la cláusula private (con esto
no permitimos el acceso al atributo desde otras clases)

A los atributos se tiene acceso desde cualquier función o método de la clase (salvo la main)

Luego de definir los atributos de la clase debemos declarar los métodos o funciones de la clase. La
sintaxis es parecida a la main (sin la cláusula static):

public void inicializar() {


teclado=new Scanner(System.in);
System.out.print("Ingrese nombre:");
nombre=teclado.next();
System.out.print("Ingrese edad:");
edad=teclado.nextInt();
}

En el método inicializar (que será el primero que deberemos llamar desde la main) creamos el
objeto de la clase Scanner y cargamos por teclado los atributos nombre y edad. Como podemos
ver el método inicializar puede hacer acceso a los tres atributos de la clase Persona.
El segundo método tiene por objetivo imprimir el contenido de los atributos nombre y edad (los
datos de los atributos se cargaron al ejecutarse previamente el método inicializar:

public void imprimir() {


System.out.println("Nombre:"+nombre);
System.out.println("Edad:"+edad);
}

El tercer método tiene por objetivo mostrar un mensaje si la persona es mayor o no de edad:

public void esMayorEdad() {


if (edad>=18) {
System.out.print(nombre+" es mayor de edad.");
} else {
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

System.out.print(nombre+" no es mayor de edad.");


}
}

Por último en la main declaramos un objeto de la clase Persona y llamamos a los métodos en un
orden adecuado:

public static void main(String[] ar) {


Persona persona1;
persona1=new Persona();
persona1.inicializar();
persona1.imprimir();
persona1.esMayorEdad();
}

Persona persona1; //Declaración del objeto


persona1=new Persona(); //Creación del objeto
persona1.inicializar(); //Llamada de un método
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

EJERCICIO 02: Desarrollar un programa que cargue los lados de un triángulo e implemente
los siguientes métodos: inicializar los atributos, imprimir el valor del lado mayor y otro método
que muestre si es equilátero o no.

Todos los problemas que requieran la entrada de datos por teclado debemos definir un atributo
de la clase Scanner:

private Scanner teclado;


TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

Este problema requiere definir tres atributos de tipo entero donde almacenamos los valores de los
lados del triángulo:

private int lado1,lado2,lado3;

El primer método que deberá llamarse desde la main es el inicializar donde creamos el objeto de la
clase Scanner y cargamos los tres atributos por teclado:

public void inicializar() {


teclado=new Scanner(System.in);
System.out.print("Medida lado 1:");
lado1=teclado.nextInt();
System.out.print("Medida lado 2:");
lado2=teclado.nextInt();
System.out.print("Medida lado 3:");
lado3=teclado.nextInt();
}

El método ladoMayor muestra el valor mayor de los tres enteros ingresados:

public void ladoMayor() {


System.out.print("Lado mayor:");
if (lado1>lado2 && lado1>lado3) {
System.out.println(lado1);
} else {
if (lado2>lado3) {
System.out.println(lado2);
} else {
System.out.println(lado3);
}
}
}

Como podemos observar cuando un problema se vuelve más complejo es más fácil y ordenado
separar los distintos algoritmos en varios métodos y no codificar todo en la main.

El último método de esta clase verifica si los tres enteros ingresados son iguales:

public void esEquilatero() {


if (lado1==lado2 && lado1==lado3) {
System.out.print("Es un triángulo equilátero");
} else {
System.out.print("No es un triángulo equilátero");
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

}
}

En la main creamos un objeto de la clase Triangulo y llamamos los métodos respectivos:

public static void main(String []ar) {


Triangulo triangulo1=new Triangulo();
triangulo1.inicializar();
triangulo1.ladoMayor();
triangulo1.esEquilatero();
}

EJERCICIO 03: Desarrollar una clase que represente un punto en el plano y tenga los
siguientes métodos: cargar los valores de x e y, imprimir en que cuadrante se encuentra dicho
punto (concepto matemático, primer cuadrante si x e y son positivas, si x<0 e y>0 segundo
cuadrante, etc.)
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

Definimos tres atributos (el objeto de la clase Scanner y los dos enteros donde almacenamos la
coordenada x e y del punto:

private Scanner teclado;


int x,y;

El método inicializar crea el objeto de la clase Scanner y pide cargar las coordenadas x e y:

public void inicializar() {


teclado=new Scanner(System.in);
System.out.print("Ingrese coordenada x :");
x=teclado.nextInt();
System.out.print("Ingrese coordenada y :");
y=teclado.nextInt();
}

El segundo método mediante un conjunto de if verificamos en que cuadrante se encuentra el


punto ingresado:

void imprimirCuadrante() {
if (x>0 && y>0) {
System.out.print("Se encuentra en el primer cuadrante.");
} else {
if (x<0 && y>0) {
System.out.print("Se encuentra en el segundo cuadrante.");
} else {
if (x<0 && y<0) {
System.out.print("Se encuentra en el tercer cuadrante.");
} else {
if (x>0 && y<0) {
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

System.out.print("Se encuentra en el cuarto cuadrante.");


} else {
System.out.print("El punto no está en un cuadrante.");
}
}
}
}
}

La main no tiene grandes diferencias con los problemas realizados anteriormente, declaramos un
objeto de la clase Punto, creamos el objeto mediante el operador new y seguidamente llamamos a
los métodos inicializar e imprimirCuadrante en ese orden:

public static void main(String[] ar) {


Punto punto1;
punto1=new Punto();
punto1.inicializar();
punto1.imprimirCuadrante();
}
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

EJERCICIO 04: Desarrollar una clase que represente un Cuadrado y tenga los siguientes
métodos: cargar el valor de su lado, imprimir su perímetro y su superficie

En este problema es interesante ver como no definimos dos atributos donde se almacenan la
superficie y el perímetro del cuadrado, esto debido a que solo estos datos se los requiere en el
método donde se imprimen:

public void imprimirPerimetro() {


int perimetro;
TALLER DE PROGRACION RECURRENTE

Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI

perimetro=lado*4;
System.out.println("El perímetro es:"+perimetro);
}

Esto significa que la variable perimetro es una variable local al método imprimirPerimetro. Esta
variable es local a dicho método y solo se la puede acceder dentro del método. La diferencia
fundamental entre una variable local y un atributo de la clase es que al atributo se lo puede
acceder desde cualquier método de la clase y la variable local solo existe mientras se está
ejecutando el método.

Ejercicios propuestos

EJERCICIO 05: Confeccionar una clase que represente un empleado. Definir como atributos
su nombre y su sueldo. Confeccionar los métodos para la carga, otro para imprimir sus datos y por
último uno que imprima un mensaje si debe pagar impuestos (si el sueldo supera a 3000)

EJERCICIO 06: Implementar la clase operaciones. Se deben cargar dos valores enteros,
calcular su suma, resta, multiplicación y división, cada una en un método, imprimir dichos
resultados.

También podría gustarte