Ejercicios de la UD01¶
Retos¶
-
(Reto1) Haga un programa que evalúe una expresión que contenga literales de los cuatro tipos de datos (booleano, entero, real y carácter) y la muestre por pantalla.
-
(Reto2) En su entorno de trabajo, cree el programa siguiente. Obsérvese que pasa exactamente. Entonces, intente arreglar el problema.
1 2 3 4 5 6
// Un programa que usa un entero muuuuy grande public class TresMilMilions { public static void main (String [] args) { System.out.println (3000000000); } } -
(Reto3) Haga un programa con dos variables que, sin usar ningún literal ninguna parte excepto para inicializar estas variables, vaya estimando e imprimiendo sucesivamente los 5 primeros valores de la tabla de multiplicar del 4. Puede usar operadores aritméticos y de asignación, si desea.
-
(Reto4) Haga dos programas, uno que muestre por pantalla la tabla de multiplicar del 3, y otro, la del 5. Los dos deben ser exactamente iguales, letra por letra, excepto en un único literal dentro de todo el código.
-
(Reto5) Experimente qué pasa si en el siguiente programa inicializa la variable realLargo con un valor con varios decimales. El programa continúa compilando? ¿Qué resultado da? Después inténtelo asignando un valor superior al rango de los enteros (por ejemplo, 3000000000.0).
1 2 3 4 5 6 7 8 9 10
public class ConversionExplicita { public static void main (String[] args) { double realLlarg = 3000000000.0; // Asignación incorrecta. ¿Un real tiene decimales, no? long enterLlarg = (long) realLlarg; // Asignación incorrecta. ¿Un entero largo tiene un rango mayor que un entero, no? int enter = (int) enterLlarg; System.out.println (enter); } } -
(Reto6) Haga un programa que muestre en pantalla de forma tabulada la tabla de verdad de una expresión de disyunción entre dos variables booleanas.
-
(Reto7) Haga un programa que muestre por pantalla la multiplicación de tres números reales entrados por teclado.
Ejercicios¶
Solo se puede usar en esta actividad ya que no se ha explicado en profundidad en este tema y lo pueden confundir con el System.console().readLine();
-
(Ejs1) Probar la E/S elemental: Escribe el pequeño programa que aparece a continuación.
1 2 3 4 5 6 7 8 9 10 11 12
import java.util.*; public class EntradaSalida { public static void main (String arg[]){ Scanner tec = new Scanner(System.in); int a, b; System.out.println("Introduce un número entero"); a = tec.nextInt(); System.out.println("Introduce otro número entero"); b = tec.nextInt(); System.out.println("Los números introducidos son " + a + " y " + b); } }Ejecútalo para ver como se comporta el programa.
¿Qué ocurre si cuando nos pide un número entero le damos un número real? ¿Y si le damos un carácter no numérico?
¿Qué ocurre si eliminamos la instrucción
import java.util.*; -
(Ejs2) Averigua mediante pruebas:
- ¿Es posible escribir dos instrucciones en la misma línea de un programa?
- ¿Se puede "romper" una instrucción entre varias líneas?
- Algunos lenguajes de programación dan un valor por defecto a las variables cuando las declaramos sin inicializarlas. Otros no permiten usar el contenido de una variable que no haya sido previamente inicializada. ¿Cuál es comportamiento de Java?
-
(Esj3) ¿Cuáles de los siguientes identificadores son válidos y cuales no? Pruébalos cuando tengas duda
nMiProblemaMiJuegoMi JuegoIntJose&CoA b1rApellidoaaaaaaaaaaaaNombreApellidosSaldo-actualUniversidad AlicanteJuan=RubioEdad5_5Javatrue_falsef_alse
-
(Por2) Escribir un programa que lea un entero desde teclado, lo multiplique por 2, y a continuación escriba el resultado en la pantalla:
Ejemplo de ejecución:
1 2 3
Escribe un número: 3 El doble de 3 es 6 -
(Intercambio) Escribir un programa que …
- Lea desde teclado dos valores de texto. Llama a las variables s1 y s2.
- Muestre los valores introducidos por el usuario
- Intercambie el valor de s1 y s2 (s1 pasa a valer lo que valía s2 y viceversa)
- Muestre de nuevo los valores, ahora con su valor intercambiado
Ejemplo de ejecución:
1 2 3 4
Escribe un texto para s1: David Escribe un texto para s2: Maria Antes de intercambiar s1: David y s2: Maria Después de intercambiar s1: Maria y s2: David -
(ExpresionesMatematicas) Escribir las siguientes expresiones siguiendo la sintaxis de Java.
- \(\frac{x}{y}+1\)
- \(\frac{x+y}{x-y}\)
- \([ \frac{b}{c+d}]\)
- \((a+b)²\)
- \(\frac{x+\frac{y}{2}}{x-\frac{y}{z}}\)
- \(\frac{xy}{1-4Zx}\)
- \((a+b)\frac{c}{d}\)
- \(\frac{xy}{mn}\)
-
(Superficie) Escribir un programa que solicite al usuario la longitud y la anchura de una habitación y a continuación muestre su superficie (longitud por anchura).
-
(Medidas) Escribir un programa que convierta una medida dada en pies a sus equivalentes en yardas, pulgadas, centímetros y metros, sabiendo que 1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2.54 cm, 1 m = 100 cm.
-
(Segundos) Escribir un programa que, dada una cantidad de segundos, introducida por teclado, la desglose en días, horas, minutos y segundos.
Ejemplo de ejecución:
1 2 3 4 5 6
Introduce cantidad de segundos: 3661 3661 segundos son: 0 dias 1 horas 1 minutos 1 segundos -
(Fuerza) La fuerza de atracción entre dos masas m1 y m2 separadas por una distancia d, está dada por la fórmula: $$ F= \frac{(G · m1 · m2)}{d^2} $$
donde G es la constante de gravitación universal G= 6.67430 · 10 –11.
Escribir un programa que lea la masa de dos cuerpos y la distancia entre ellos y a continuación obtenga su fuerza de atracción.
-
(Círculo) Escribir un programa que calcule la longitud de la circunferencia y el área del círculo para un valor del radio introducido por teclado.
-
(Dados) Escribir un programa que simula el lanzamiento de dos dados.
1 2 3
Dado 1 : 5 Dado 2: 4 Puntuación total: 9 -
(UltimaCifra) Escribir un programa que muestre la última cifra de un número entero que introduce el usuario por teclado.
Pista: ¿Qué devuelve
a%10?1 2
Introduce un número entero: 3761 La última cifra de 3761 es 1 -
(PenultimaCifra) Escribir un programa que muestre la penúltima cifra de un número entero que introduce el usuario por teclado.
1 2
Introduce un número entero: 3761 La penúltima cifra de 3761 es 6Una vez hayas comprobado que el programa funciona correctamente, prueba qué ocurre si el usuario introduce un valor de una sola cifra (por ejemlo 4). Explica el resultado mostrado por el programa.
-
(Redondear1)
Math.round(x)redondea x de manera que este queda sin decimales. (Math.round(35.5289)da como resultado36)Trata de escribir un programa en el que el usuario introduzca un número real y a continuación se muestre redondeado a un decimal. Pista : combinar productos, divisiones y Math.round()
Ejemplo de ejecución:
1 2
Introduce un número real: 35.5289 El número 35.5289, redondeado a un decimal es 35.5 -
(ExpresionesAritmeticas) 16. Cuál es el valor resultante de dada una de las siguientes expresiones
5 * 4 – 3 * 64 * 5 * 2(24 + 2 * 6) / 48 / 2 / 2 * 53 + 4 * (8 * (4 – (9 + 3) / 6 ))4 * 3 * 5 + 8 * 4 * 24 – 40 % 54 * 3 / 24 / 2 * 3213 /100
-
(Einstein) La famosa ecuación de Einstein para la conversión de una masa m en energía viene dada por la fórmula E=mc2, donde c es la velocidad de la luz que vale 2.997925 · 108 m/s. Escribir un programa que lea el valor de la masa y obtenga la energía correspondiente según la anterior fórmula.
-
(FragmentosCodigo) Indica cuales serán los valores de las variables después de ejecutar cada uno de los siguientes fragmentos de código. Resuelve el ejercicio sin escribir los programas correspondientes y probarlos.
-
java int a=3, b = 2; a = b + b; b = a + a; -
java int a=3,b=0; b = b - 1; a = a + b; -
java int a, b=5; b++; ++b; a= b+1; -
java int a = 5,b; b = a++; -
java int a = 5,b; b = ++a; -
java int a=2, b=3; b+=a; -
java int a=2, b=3; b-=a; a=-b; -
java int a=2, b=3; b%=a; -
java int a=2,b=3,c=4; a = --b + c++; b+=a;
-
Expresiones Lógicas¶
-
Sean 4 variables enteras:
1int m, j, p, v ;que contienen respectivamente la edad de Miguel, Julio, Pablo y Vicente.
Expresar las siguientes afirmaciones utilizando operadores lógicos y relacionales
Ejemplo:
Miguel es mayor de edad.Solución:
m >= 18- (Logica1) Miguel es menor de edad.
- (Logica2) Miguel es mayor que Julio
- (Logica3) Miguel es el más viejo.
- (Logica4) Miguel es el más joven.
- (Logica5) Miguel no es el más joven.
- (Logica6) Miguel no es el más viejo.
- (Logica7) Alguno de ellos es mayor de edad.
- (Logica8) Miguel y Julio son los más jóvenes.
- (Logica9) Entre todos tienen más de 100 años.
- (Logica10) Entre Miguel y Julio suman más edad que Pablo.
- (Logica11) Entre Miguel y Julio suman más edad que Pablo y Vicente juntos.
- (Logica12) Si los ordenamos por edades de menor a mayor, Julio es el segundo.
- (Logica13) Si los ordenamos por edades de menor a mayor, Julio es el segundo y Pablo el tercero.
- (Logica14) Al menos uno de ellos es menor de edad.
- (Logica15) Al menos dos de ellos son menores de edad.
- (Logica16) Todos son menores de edad.
- (Logica17) Solo dos de ellos son menores de edad.
- (Logica18) Al menos dos de ellos nacieron el mismo año.
- (Logica19) Solo dos de ellos nacieron el mismo año.
- (Logica20) Al menos uno de ellos es menor que Julio
- (Logica21) Solo uno de ellos es menor que Julio
- (Logica22) Miguel es mayor de edad y alguno de los otros es menor de edad.
Actividades¶
-
(Actividad1) Realiza un conversor de euros a pesetas. La cantidad de euros que se quiere convertir debe ser introducida por teclado.
-
(Actividad2) Realiza un conversor de pesetas a euros. La cantidad de pesetas que se quiere convertir debe ser introducida por teclado.
-
(Actividad3) Escribe un programa que calcule el área de un rectángulo. (
area = base * altura) -
(Actividad4) Escribe un programa que calcule el área de un triángulo. (
area = (base * altura) / 2) -
(Actividad5) Escribe un programa que calcule el salario semanal de un empleado en base a las horas trabajadas, a razón de 12 euros la hora.
-
(Actividad6) Realiza un conversor de MiB a KiB. Ayuda
-
(Actividad7) Realiza un conversor de Kib a Mib. Ayuda
-
(Actividad8) Realiza un programa en Java que genere letras de forma aleatoria.
-
(Actividad9) Realiza un programa en Java que genere el número premiado del Cupón de la ONCE.
-
(Actividad10) Modificar el siguiente programa para que compile y funcione:
1 2 3 4 5 6 7 8
public class Activ10 { public static void main(String[] args) { int n1 = 50, int n2 = 30, boolean suma = 0; suma = n1 + n2; System.out.println("LA SUMA ES: " + suma); } } -
(Actividad11) Modificar el siguiente programa para que compile y funcione:
1 2 3 4 5 6 7
public class Activ11 { public static void main(String[] args) { int numero = 2; cuad = numero * número; System.out.println("EL CUADRADO DE "+NUMERO+" ES: "+cuad); } } -
(Actividad12) Indicar que valor devolverá la ejecución del siguiente programa:
1 2 3 4 5 6 7
public class Activ12 { public static void main(String[] args) { int num = 5; num += num - 1 * 4 + 1; System.out.println(num); } } -
(Actividad13) Indicar que valor devolverá la ejecución del siguiente programa:
1 2 3 4 5 6 7
public class Activ13 { public static void main(String[] args) { int num = 4; num %= 7 * num % 3 * 3; System.out.println(num); } } -
(Actividad14) Realizar un programa que muestre por pantalla respetando los saltos de carro el siguiente texto (con un solo
println):1 2
Me gusta la programación cada día más -
(Actividad15) Realiza un programa en Java que tenga las variables edad, nivel de estudios e ingresos y almacene en una variable llamada jasp el valor verdadero si la edad es menor o igual a 28 y el nivel de estudios es mayor a 3, o bien la edad es menor de 30 y los ingresos superiores a 28000. En caso contrario almacenar el valor falso.
-
(Actividad16) Realizar un programa que realice el cálculo del precio de un producto teniendo en cuenta que el producto vale 120 €, tiene un descuento del 15% y el IVA que se le aplica es del 21%.
-
(Actividad17) Realiza un programa que calcule la nota que hace falta sacar en el segundo examen de la asignatura Programación para obtener la media deseada. Hay que tener en cuenta que la nota del primer examen cuenta el 40% y la del segundo examen un 60%. Ejemplo 1:
1 2 3
Introduce la nota del primer examen: 7 ¿Qué nota quieres sacar en el trimestre? 8.5 Para tener un 8.5 en el trimestre necesitas sacar un 9.5 en el segundo examen.Ejemplo 2:
1 2 3
Introduce la nota del primer examen: 8 ¿Qué nota quieres sacar en el trimestre? 7 Para tener un 7 en el trimestre necesitas sacar un 6.333333333 en el segundo examen. -
(Actividad18) Realizar un programa que dado un importe en euros nos indique el mínimo número de billetes y la cantidad sobrante de euros. Debes usar el operador condicional
?:1 2 3 4 5
¿Cuántos euros tienes?: 232 1 billete de 200 € 1 billete de 20 € 1 billete de 10 € Sobran 2 €