Otras actividades¶
Actividad 34 IntermedioDeTres¶
Escribir un programa que muestre el intermedio de tres números introducidos por teclado.
Actividad 35 Hora12¶
Escribir un programa que lea la hora de un dia en notación de 24 horas y la exprese en notación de 12 horas. Por ejemplo, si la entrada es 13 horas 45 minutos, la salida será 1:45 PM. La hora y los minutos se leerán de teclado de forma separada, primero la hora y luego los minutos.
Actividad 36 Fechas¶
Escribir un programa que pida al usuario dos fechas (dia, mes y año), que se suponen correctas, y le muestre la menor de ellas. La fecha se mostrará en formato dd/mm/año. Utiliza un método mostrarFecha, para mostrar la fecha por pantalla. La fecha se mostrará siempre con dos dígitos para el dia, dos para el mes y cuatro para el año.
Actividad 37 DiasDelMes¶
Escribir un programa que lea de teclado el número de un mes (1 a 12) y visualice el número de días que tiene el mes. Hacerlo utilizando sentencias if else. Para hacer el programa, implementa un método en la clase que reciba un número de mes y devuelva el número de días que tiene el mes
Actividad 38 NombreDelMes¶
Escribir un programa que lea de teclado el número de un mes (1 a 12) y visualice el nombre del més (enero, febrero, etc). Hacerlo utilizando sentencias if else. Para hacer un programa, implementa un método en la clase que reciba un número de mes y devuelva el nombre del mes
Actividad 39 Salario¶
Escribir un programa que lea de teclado las horas trabajadas por un empleado en una semana y calcule su salario neto semanal, sabiendo que:
-
Las horas ordinarias se pagan a 6 €.
-
Las horas extraordinarias se pagan a 10 €.
-
Los impuestos a deducir son:
_ Un 2 % si el salario bruto semanal es menor o igual a 350 €
_ Un 10 % si el salario bruto semanal es superior a 350 € -
La jornada semanal ordinaria son 40 horas. El resto de horas trabajadas se considerarán horas extra.
Actividad 40 Signo¶
Dados dos números enteros, num1 y num2, realizar un programa que escriba uno de los dos mensajes:
- "el producto de los dos números es positivo o nulo" o bien
- "el producto de los dos números es negativo".
Resolverlo sin calcular el producto, sino teniendo en cuenta únicamente el signo de los números a multiplicar.
Actividad 41 Comercio¶
Un comercio aplica un descuento del 8% por compras superiores a 40 euros. El descuento máximo será de 12 euros. Escribir un programa que solicite al usuario el importe de la compra y muestre un mensaje similar al siguiente:
- Importe de la compra 100 €
- Porcentaje de descuento aplicado: 8%
- Descuento aplicado: 8 €
- Cantidad a pagar: 92 €
Actividad 42 Editorial¶
Una compañía editorial dispone de 2 tipos de publicaciones: libros y revistas. El precio de cada pedido depende del número de elementos solicitados al cual se le aplica un determinado descuento, que es diferente para libros y para revistas. La siguiente tabla muestra los descuentos a aplicar en función del número de unidades y del tipo de producto:
| Cantidad pedida | Libros | Revistas |
|---|---|---|
| Hasta 5 unidades | 0 % de descuento | 0 % de descuento |
| De 6 a 10 unidades | 10 % de descuento | 15 % de descuento |
| De 11 a 20 unidades | 15 % de descuento | 20 % de descuento |
| A partir de 20 unidades | 20 % de descuento | 25 % de descuento |
Escribe un método calcularCoste que, recibiendo el tipo de publicación (String), que puede ser "libro" o "revista", el precio individual (double) y el número de unidades solicitado (int), devuelva el coste del pedido (aplicando el descuento correspondiente).
Escribe un programa en el que el usuario indique cantidad y precio de revistas y cantidad y precio de libros que incluye un pedido, y muestre el coste del pedido
Actividad 43 Taxi¶
Se desea calcular el coste del trayecto realizado en taxi en función de los kilómetros recorridos en las carreras metropolitanas de Valencia. Según las tarifas vigentes para el 2012, el coste se calcula de la siguiente manera:
- Días laborables en horario diurno (de 6:00 a 22:00h): 0.73 €/km.
- Días laborables en horario nocturno: 0.84 €/km.
- Sábados y domingos: 0.93 €/km.
- Además, la tarifa mínima diurna es de 2.95€ y la mínima nocturna de 4€.
Escribir un programa que solicite al usuario:
- La hora (hora y minutos) en que se realizó el trayecto.
- El día de la semana (se supone que el usuario introduce un valor entre 1 para lunes y 7 para domingo)
- Los quilómetros recorridos.
Y muestre el coste del trayecto.
Actividad 44 Nombre¶
Escribir un programa en el que el usuario pueda escribir su nombre. El programa le dirá si la primera y la última letra del nombre coinciden o no. Pruébalo con "Ana", "ana", "Angel", "Amanda" y "David"
Actividad 45 Validar¶
Se desea implementar un programa que determine si dos datos x e y de entrada son válidos. Un par de datos es válido si es uno de los que aparecen en la siguiente tabla:
| x : | a | a | a | a | a | b | b | b | b | b |
|---|---|---|---|---|---|---|---|---|---|---|
| y : | 1 | 3 | 5 | 7 | 9 | 2 | 4 | 6 | 8 | 10 |
Se pide implementar un programa que lea de teclado el valor de x y el valor de y, e indique por pantalla "VALIDOS" o "NO VALIDOS". Se pide hacerlo de forma que no se utilice ninguna estructura condicional (if, switch,...), es decir, se calculará una expresión booleana que determine si x e y son válidos. Se procurará que la expresión booleana propuesta sea breve y concisa.
Actividad 46 PotenciasDe2¶
Dado un entero n introducido por el usuario, mostrar las n primeras potencias de 2. Es decir, 20, 21, 22, 23, …, 2n.
Soluciona el ejercicio sin utilizar Math.pow.
Ten en cuenta que, por ejemplo: 23 = 1 * 2 * 2 * 2; o que 24 = 1 * 2 * 2 * 2 * 2.
Actividad 47 Etapas¶
El ser humano pasa por una serie de etapas en su vida que, con carácter general se asocian a las edades que aparecen en la tabla siguiente.
| Infancia | Hasta los 10 años |
|---|---|
| Pubertad | De 11 a 14 años |
| Adolescencia | De 15 a 21 años |
| Adultez | De 22 a 55 años |
| Vejez | De 55 a 70 años |
| Ancianidad | A partir de los 71 años |
Escribe un programa en el que el usuario introduzca las edades de una serie de personas y calcule y muestre que porcentaje de personas que se encuentran en cada etapa. En primer lugar el programa pedirá el número de personas que participan en la muestra y a continuación solicitará la edad de cada una de ellas.
El resultado será similar al siguiente:
Actividad 48 Primos¶
Escribir un programa en el que el usuario escriba un número entero y se le diga todos los números primos entre 1 y el número introducido.
Actividad 49 esPrimoMejorada¶
Haz una nueva versión del programa del ejercicio anterior teniendo en cuenta lo siguiente:
- El único número par que es primo es el 2.
- Un número n no puede tener divisores mayores que n/2
Actividad 50 Divisores¶
Escribir un programa que muestre los tres primeros divisores de un número n introducido por el usuario. Por ejemplo, si el usuario introduce el número 45, el programa mostrará los divisores 1, 3 y 5. Ten en cuenta que la posibilidad de que el número n tenga menos de 3 divisores. Prueba qué pasa si el usuario pide, por ejemplo, los tres primeros divisores de 7.
Actividad 51 SumaSerie¶
Dado un número n, introducido por el usuario, calcula y muestra por pantalla la siguiente suma 1/1+1/2+1/3+ ··· + 1/n
Actividad 52 numeroCifras¶
Escribir un programa en el que el usuario introduzca un número entero cualquiera (positivo, negativo o cero) y se le diga cuantas cifras tiene.
Pistas: ¿Cuantas cifras tiene el nº 25688? ¿Cuántas veces podemos dividir el nº 25688 por 10 hasta que se hace cero? Cuidado, el nº 0 tiene una cifra.
Actividad 53 NotasExtremas¶
Modificar el ejercicio anterior para que además calcule la nota máxima y la nota mínima.
Actividad 54 Edades¶
Programa que pida al usuario la edad de cinco personas. Si la suma de las edades es inferior a 200, el programa volverá a solicitar las 5 edades.
Actividad 55 NotasPorAlumno¶
Programa que pida al usuario las notas de A alumnos en S asignaturas, alumno por alumno. A y S se definirán en el programa como CONSTANTES.
Actividad 56 NotasPorAsignatura¶
Programa que pida al usuario las notas de A alumnos en S asignaturas, asignatura por asignatura. A y S se definirán en el programa como CONSTANTES.
Actividad 57 MediasPorAsignatura¶
Repite el ejercicio anterior haciendo que se muestre la media de cada asignatura
Actividad 58 PrimosHastaN¶
Programa que solicite al usuario un numero n y muestre todos los números primos menores o iguales que n.
Actividad 59 CombinarLetras2¶
Escribir un programa que muestre todas las palabras de dos letras que se pueden formar con los cuatro primeros caracteres del alfabeto en minúsculas ('a', 'b', 'c', 'd'):
Actividad 60 CombinarLetras3¶
Repite el ejercicio anterior mostrando palabras de tres letras
Actividad 61 LetraALetra¶
Escribe un programa en el que se solicite al usuario un texto de forma repetida hasta que el usuario introduzca la cadena vacía. Con cada texto que introduzca el usuario se le mostrará carácter a carácter, cada carácter en una línea
Actividad 62 DibujarFiguras1¶
Escribe una clase que contenga los métodos que se indican a continuación. En el método main solicita al usuario las dimensiones de las figuras necesarias en cada caso y llama al método correspondiente para que se muestre por pantalla
- (
void dibRecAsteriscos (int ancho, int alto)dibuja un rectángulo utilizando asteriscos, como el siguiente. En el ejemplo ancho es 7 y alto es 3
- (
void dibRecNumeros1 (int ancho, int alto)dibuja un rectángulo utilizando números, como el siguiente. En el ejemplo ancho es 7 y alto es 3
- (
void dibRecNumeros2 (int ancho, int alto)dibuja un rectángulo utilizando números, como el siguiente. En el ejemplo ancho es 7 y alto es 3
- (
void dibRecNumeros3 (int ancho, int alto)dibuja un rectángulo utilizando números, como el siguiente. En el ejemplo ancho es 7 y alto es 3
- (
void dibDiagonal (int ancho, int alto)dibuja un rectángulo con ceros y unos. Los 1 están en las posiciones en las que fila y columna coinciden. En el ejemplo ancho es 7 y alto es 3
- (
void dibRecLetras (int ancho, int alto)dibuja un rectángulo letras sucesivas comenzando por la "a". En el ejemplo ancho es 7 y alto es 3
- (
void dibRecLetras2 (int ancho, int alto)dibuja un rectángulo letras sucesivas terminando por la "a". En el ejemplo ancho es 7 y alto es 3
- (
void dibRecLetras3 (int ancho, int alto)dibuja un rectángulo letras sucesivas comenzando por la "a". En el ejemplo ancho es 7 y alto es 3
Actividad 63 NombreDelMes2¶
Escribir un programa que lea de teclado el número de un mes (1 a 12) y visualice el nombre del més (enero, febrero, etc). Resolver utilizando la sentencias switch.
Actividad 64 Calculadora2¶
Escribir un programa para simular una calculadora. Considera que los cálculos posibles son del tipo num1 operado num2, donde num1 y num2 son dos números reales cualesquiera y operador es una de entre: +, -, * y /. El programa pedirá al usuario en primer lugar el valor num1, a continuación el operador y finalmente el valor num2. Resolver utilizando la sentencias switch.
Ejercicios en papel ...¶
Actividad 64 Pregunta32¶
Qué valor se asignará a consumo en la sentencia if siguiente si velocidad es 120?
Actividad 65 Pregunta33¶
Encuentra y corrige los errores de los siguientes fragmentos de programa .
- fragmento a
- fragmento b
- fragmento c
Actividad 66 Pregunta34¶
Cuál es la salida exacta por pantalla del siguiente fragmento de programa
Actividad 67 Pregunta35¶
En una tienda, por liquidación, se aplican distintos descuentos en función del total de las compras realizadas:
- Si total < 500 €, no se aplica descuento.
- Si 500 € <= total <= 2000 €, se aplica un descuento del 30 %.
- Si total > 2000e, entonces se aplica un descuento del 50 %
¿Cual de los siguientes fragmentos de programa asigna a la variable desc el descuento correcto? Indica "Si" o "NO" al lado de cada fragmento
- fragmento a
- fragmento b
- fragmento c
- fragmento d
Actividad 68 Pregunta36¶
¿Qué salida producirá el siguiente fragmento de programa si la variable entera platos vale 1? ¿Y si vale 3? ¿Y si vale 0?
Actividad 69 Pregunta37¶
Dados tres enteros a, b y c, y un booleano p, el siguiente análisis por casos establece el valor de p en función de los valores de a, b y c:
Se pide la traducción de dicho análisis por casos a Java mediante:
- Una única instrucción if sin anidamientos.
- Una única instrucción, de la forma p = ... , sin sentencias if ni utilizar el operador ternario.
- Una única instrucción, de la forma p = ..., que utilice el operador ternario.
Excepciones¶
Actividad 70 Edades¶
Escribe un programa que solicite al usuario la edad de cinco personas y calcule la media. La edad de una persona debe ser un valor entero comprendido en el rango [0,110]. Realiza tres versiones:
- Si se introduce mal la edad de una persona se vuelve a pedir la edad de esa persona.
- Si se introduce mal la edad de una persona, el programa muestra un mensaje de error, no calcula la media y termina.
- Si se introduce mal la edad de una persona, el programa vuelve a solicitar la edad de las cinco personas (comienza el proceso).
Actividad 70 Dividir2¶
Repite el ejercicio anterior utilizando métodos y llamándolos desde el método main:
Un método dividir que devuelva el cociente de dos números que recibe como parámetro.
Ejecuta los programas provocando errores (como en el ejercicio anterior) y observa los mensajes que se generan.
Actividad 71 Posicion2¶
Un método letraNombre que, dados un String nombre y un entero pos, devuelva el carácter del nombre que ocupa la posición indicada.
Ejecuta los programas provocando errores (como en el ejercicio anterior) y observa los mensajes que se generan.
Actividad 73 Pregunta42¶
Justifica por qué se produce error en el siguiente fragmento de código
Actividad 74 Pregunta43¶
Indica qué se mostrará por pantalla cuando se ejecute esta clase y por qué:
Actividad 75 Pregunta44¶
Indica qué se mostrará por pantalla cuando se ejecute esta clase y por qué:
Actividad 76 Pregunta45¶
Indica qué se mostrará por pantalla cuando se ejecute esta clase y por qué:
Actividad 77 Pregunta46¶
Indica qué se mostrará por pantalla cuando se ejecute esta clase:
- Si se ejecuta con java Cinco casa
- Si se ejecuta con java Cinco 0
- Si se ejecuta con java Cinco 7
Actividad 78 Pregunta47¶
Indica cuál será la salida del siguiente programa y por qué
Actividad 79 Pregunta71¶
Indica cuál será la salida del siguiente programa y por qué
Actividad 80¶
Programa que muestre por pantalla del número 200 al 300.
Actividad 81¶
Programa que muestre en pantalla la tabla de multiplicar del 1 al 10 con el formato:
Actividad 82¶
Leer un número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número negativo.
Actividad 83¶
Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar.
Actividad 84¶
Pedir números hasta que se teclee uno negativo, y mostrar cuántos números se han introducido.
Actividad 85¶
Pedir números hasta que se teclee un 0, mostrar la suma de todos los números introducidos.
Actividad 86¶
Pedir números hasta que se introduzca uno negativo, y calcular la media.
Actividad 87¶
Pedir un número N, y mostrar todos los números del 1 al N.
Actividad 88¶
Escribir todos los números del 100 al 0 de 7 en 7.
Actividad 89¶
Pedir 15 números y escribir la suma total.
Actividad 90¶
Diseñar un programa que muestre el producto de los 10 primeros números impares.
Actividad 91¶
Pedir un número y calcular su factorial (el factorial se representa con el simbolo !).
Aquí tienes el factorial de los 5 primeros números enteros:
Actividad 92¶
Pedir 10 números. Mostrar la media de los números positivos, la media de los números negativos y la cantidad de ceros.
Actividad 93¶
Pedir 10 sueldos. Mostrar su suma y cuantos hay mayores de 1000€.
Actividad 94¶
Dadas las edades y alturas de 5 alumnos, mostrar la edad y la estatura media, la cantidad de alumnos mayores de 18 años, y la cantidad de alumnos que miden más de 1.75.
Actividad 95¶
Escribe un programa que nos diga el horóscopo a partir del día y el mes de nacimiento.
Actividad 96¶
Realiza un minicuestionario con 4 preguntas tipo test sobre las asignaturas que se imparten en el curso. Cada pregunta acertada sumará un punto. El programa mostrará al final la calificación obtenida.
Actividad 97¶
Calcula la nota de un trimestre de la asignatura Programación. El programa pedirá las dos notas que ha sacado el alumno en los dos primeros controles. Si la media de los dos controles da un número mayor o igual a 5, el alumno está aprobado y se mostrará la media. En caso de que la media sea un número menor que 5, el alumno habrá tenido que hacer el examen de recuperación que se califica como apto o no apto, por tanto se debe preguntar al usuario ¿Cuál ha sido el resultado de la recuperación? (apto/no apto). Si el resultado de la recuperación es apto, la nota será un 5; en caso contrario, la nota será 1.
Ejemplo 1:
Ejemplo 2:
Ejemplo 3:
Actividad 98¶
Escribe un programa que calcule el precio final de un producto según su base imponible (precio antes de impuestos), el tipo de IVA aplicado (general, reducido o superreducido) y el código promocional. Los tipos de IVA general, reducido y superreducido son del 21%, 10% y 4% respectivamente. Los códigos promocionales pueden ser nopro, mitad, meno5 o 5porc que significan respectivamente que no se aplica promoción, el precio se reduce a la mitad, se descuentan 5 euros o se descuenta el 5%.
Ejemplo:
Actividad 99¶
Crear una función que calcule la capacidad de un disco. La capacidad se calcula multiplicando los Cabezales o pistas del disco por los Cilindros por los Sectores por Tamaño de Sector. El método principal debe pedir por teclado los Cabezales o Pistas del disco, los Cilindros, Sectores y Tamaño de Sector y devolver la Capacidad del disco en Gigabytes.
Por ejemplo: Calcular la capacidad de un disco teniendo en cuenta que dispone de 10 Cabezales o Pistas, 65535 Cilindros, 1024 Sectores/pista y un Tamaño de 512 bytes/sector:
Capacidad del disco = 10 * 65535 * 1024 * 512 = 343597383680 bytes
343597383680 bytes / 1024 / 1024 / 1024 = 320 Gbytes