Sunteți pe pagina 1din 5

Departamento de Procesos y Sistemas.

Algoritmos y Programación. FPTSP05


Trimestre 1819-1

Guía de ejercicios

1) Desarrolle un programa en Java, para satisfacer cada uno de los siguientes


enunciados.
a. Se requiere de un programa que permita al usuario ingresar un número
entero, para determinar si es par o no. Si el número ingresado es par
debe validar si es divisible por 4. En caso contrario, verifique si es
divisible por 5. Al final, se le debe indicar al usuario que resultados se
obtuvieron.
b. Desarrolle una calculadora simple, donde se puedan sumar, restar,
multiplicar o dividir dos números. Estos deberán ser ingresados por el
usuario, quien también indicará la operación que desea realizar.
c. Se requiere un sistema para calcular el área de figuras geométricas
sencillas, donde el usuario ingresará en que figura está interesado. El
sistema debe permitir la solicitud de circunferencias, elipses,
cuadrados, rectángulos, triángulos y rombos; solicitando para cada uno
la información necesaria. Si existe información que sea constante,
deben manejarla como tal.
d. Se desea un programa capaz de generar códigos a partir del nombre,
apellido y edad del usuario. Estos vienen formados por las primeras tres
letras del nombre en minúscula, las últimas dos letras del apellido en
mayúscula y el cuadrado de la edad, en ese orden. Ej: Daniel Diaz, 21
años  danAZ441. (Revisen sobre los métodos length, substring,
toUpperCase y toLowerCase de las variables String, recuerden que
para usarlos, deben declarar una variable String e invocarlos. Ej. para
una variable llamada nombre, nombre.metodo() )
e. Dados dos números ingresados por el usuario, determine si son, o no,
números primos relativos
f. Imprima los primeros 10 números de la serie de Fibonacci.
g. Imprima los números de la serie de Fibonacci menores a 75.
h. Realice un programa que calcule la potencia de un número, a través de
las estructuras iterativas. La base y potencia deben ser ingresadas por
el usuario. Una vez mostrado el resultado, se le debe preguntar al
usuario si desea realizar otra operación. En caso afirmativo, se solicitan
de nuevo los datos y se vuelve a calcular.
i. Realice una calculadora, capaz de sumar, restar, multiplicar, dividir,
elevar y obtener una raíz cuadrada. El usuario debe ser capaz de
realizar tantas operaciones como desee.
j. Realizar un juego, donde se lanza un dado de 6 caras. Si el jugador
consigue un 1 o 3, gana, si saca un 2 pierde, y si obtiene 4, 5 o 6, vuelve
a lanzar. Deben revisar cómo generar un número aleatorio, entre 1 y 6
k. Realizar un juego, donde se lanza un dado de 6 caras 10 veces. De
acuerdo a los números obtenidos, el jugador irá acumulando puntos,
que el sistema deberá ir mostrando en cada turno. Al final, se le debe
preguntar al usuario si desea volver a empezar. Las reglas con los
puntos son:
i. 1: Gana 10 puntos.
ii. 2: Gana 25 puntos.
iii. 3: Pierde tantos puntos como sea el triple de lanzamientos
realizados.
iv. 4: No consigue puntos.
v. 5: Gana tantos puntos como sea el doble de lanzamientos
restantes.
vi. 6: Pierde 20 puntos.

2) De acuerdo a los siguientes enunciados, diga que clases considera deberían


ser implementadas, junto con sus atributos y los tipos de estos.
a. Se desea implementar un sistema para el manejo de los libros de una
librería, en donde cada libro tiene un título, un autor, número de páginas,
número de capítulos, una editorial, número de edición, precio y cantidad
disponible. En el caso de los autores, cada uno tendrá nombre, apellido,
edad, cédula y nacionalidad. Para las editoriales, se maneja su nombre
y dirección.
b. Se quiere desarrollar un sistema para el manejo de los empleados de
una tienda. Para los vendedores, se tiene nombre, apellido, cédula,
edad, número de ventas realizadas y sueldo. También se tiene
información de los clientes, siendo esta nombre, apellido, cédula, edad,
dirección y si está, o no, registrado como cliente habitual.
c. Se desea desarrollar un sistema para el manejo de las clases,
preparadurías, estudiantes, preparadores y profesores. Cada profesor
cuenta con su nombre, apellido, cédula y las secciones que dictan, las
cuales son 3. Los estudiantes tienen su nombre, apellido, carnet y las
secciones que cursan. Cada estudiante cursa 5 secciones. Las
secciones tienen el nombre y código de la asignatura, el profesor que
las dicta, salón asignado y horario.
3) Desarrolle los programas que se le solicitan a continuación, aplicando
correctamente los conocimientos vistos en clase sobre la programación
orientada a objetos. Debe desarrollar las clases que considere necesarias
junto con los atributos de cada uno. Es necesario que desarrolle los getters y
setters de cada uno de los atributos y puede usar tantos constructores como
considere necesarios.
a. Se tiene un sistema para envío de paquetes, en donde un cliente puede
enviar tantos paquetes como desee. Cada uno tiene un lugar de destino
y de origen, además de peso, volumen y el cliente que lo envió. Los
clientes tienen nombre, apellido, cédula y dirección. Al momento de
iniciar el programa, el cliente deberá de poder ingresar cuantos
paquetes desea enviar, para luego dar la información de cada uno. Una
vez obtenida, se procederá al cálculo del total. Cada paquete costará
3*peso*volumen/2. Si el cliente envía 10 o más paquetes, recibirá un
descuento del 20%.
b. Se tiene un sistema para el manejo de las notas de los estudiantes de
una sección. Cada sección de una asignatura está conformada por 5
estudiantes. Cada estudiante cuenta con un nombre y la nota de tres
parciales (1 de 30% y dos de 35%). Es necesario calcular el promedio
de las notas finales de cada estudiante, para obtener la nota final
promedio de la sección. El sistema deberá imprimir el nombre de la
asignatura, junto con el número de la sección, seguido por los
estudiantes con sus notas finales y el promedio. Una vez hecho esto, el
sistema preguntará si se desea trabajar con otra sección.
c. Se quiere realizar un juego sencillo, en donde el usuario tendrá su
Personaje. Este contará con 3 estadísticas, vida, ataque y defensa
estos serán elegidos aleatoriamente, de acuerdo a las siguientes reglas:
i. Vida: Entre 20 y 50
ii. Ataque: entre 10 y 50
iii. Defensa: entre 5 y 20
Se le deberá mostrar al usuario sus estadísticas, para luego proceder a
pelear contra Monstruos. Cada monstruo tendrá sus estadísticas acorde
a las siguientes reglas:
i. Vida: Entre 10 y 30
ii. Ataque: entre 10 y 60
iii. Defensa: entre 1 y 15
Cada pelea la inicia el jugador atacando, para que luego ataque el
monstruo, y así sucesivamente hasta que alguno muera. El daño se
calcula como (ataque del atacante – defensa del defensor). Si este es
0 o menos, el daño hecho será 1. Si el jugador gana la pelea, aparece
otro monstruo (Su vida se mantiene igual), e inicia otra pelea. Si en
cambio, gana el monstruo, se acaba el juego y se le pregunta al usuario
si quiere volver a jugar.

S-ar putea să vă placă și