Logo Studenta

Exercícios de Programação

¡Estudia con miles de materiales!

Vista previa del material en texto

Informática Aplicada a la Ingeniería 
Grado en Arquitectura Naval e Ingeniería Marítima 
Ejercicios (Estructura de Control Selectiva) 
 
 
Nº Enunciado 
1 
Implementar un programa que genere un número al azar entre 0 y n (donde n será un 
parámetro introducido por teclado). El usuario deberá intentar averiguarlo y, si tiene 
éxito, se deberá mostrar el mensaje: “Acertáste!!!”. 
2 
Mejorar el programa que calcula el área y el perímetro de un círculo de modo que sólo 
realice estos cálculos cuando el valor del radio sea mayor que cero. 
3 Mostrar el mayor de dos valores dados como entrada. 
4 
Solicitar como entrada un carácter. Si este es ‘f’ o ‘F’, escribir Femenino. Si es ‘m’ o 
‘M’, devolver Masculino. En caso contrario, no se genera ninguna salida. 
5 
Determinar si un año es o no bisiesto. Un año es bisiesto si es divisible por 4, pero no por 
100. Como excepción a esta regla, los años divisibles por 400 sí son bisiestos. Así, 1900 
no fue bisiesto, pero el año 2000 sí. 
6 Indicar si un número entero positivo es par o impar. 
7 
Mejorar el programa que calcula el área y el perímetro de un círculo de modo que 
muestre el siguiente mensaje cuando el valor del radio es incorrecto: “Error: Valor de 
radio negativo o nulo.”. 
8 
Solicitar al usuario la hora actual y comprobar si el formato dado como HH:MM:SS es 
correcto. Para ello, las horas (HH) deben estar en el intervalo [0,24), los minutos (MM) 
en el intervalo [0,60) y los segundos (SS) en el intervalo [0,60). 
9 
Modificar el programa que detectaba que la hora había sido introducida en el formato 
correcto (HH:MM:SS) para que, en caso de error, indique dónde se producido dicho 
error. 
10 
Mejorar el programa para adivinar un número al azar de modo que, en caso de no acertar, 
indique al usuario si el valor introducido se encontraba por encima o por debajo del valor 
a acertar. 
11 Mostrar el mayor de tres valores dados como entrada. 
12 Ordenar de menor a mayor tres números introducidos por teclado. 
13 
Mejorar el programa para resolver un sistema de dos ecuaciones con dos incógnitas: 
ax + by = c 
dx + ey = f 
 
Debe resolverse usando el método de Cramer: 
Nº Enunciado 
 
dbea
fbec
ed
ba
ef
bc
x
..
..
−
−== 
dbea
dcfa
ed
ba
fd
ca
y
..
..
−
−== 
 
Teniendo en cuenta que el sistema puede ser: 
o Compatible determinado (una única solución) cuando a*e – b*d ≠ 0. 
Resolvemos el sistema mediante el método de Cramer. 
o Compatible indeterminado (infinitas soluciones) cuando a*e – b*d = 0 y a/d = b/e 
= c/f 
o Incompatible (sin solución) cuando a*e – b*d = 0 y a/d = b/e ≠ c/f 
14 
Mejorar el programa que calcula las raíces de una ecuación de segundo grado a.x2+b.x+c. 
Dados los coeficientes de la misma por el teclado. 
o si a = 0, tenemos una ecuación de primer grado: 
o si b ≠ 0, entonces la solución es x = -c / b. 
o si b = 0, entonces tenemos dos posibles subcasos: 
� si c ≠ 0, entonces no hay solución. 
� si c = 0, entonces estamos en el caso trivial (0 = 0) y la solución es 
indeterminada. 
o si a ≠ 0: 
o calculamos el discriminante (b2 -4*a*c) 
o si el discriminante > 0, tenemos dos raíces reales que se calculan así: 
a
ntediscriminab
x
*2
±−= 
o si el discriminante = 0, tenemos una raíz doble que calculamos como: 
a
b
x
*2
−= 
o si el discriminante < 0, tenemos dos soluciones complejas, cuya partes reales 
son 
a
b
x
*2
−= y las partes imaginarias 
a
ntediscrimina
*2
±
 
15 
Mejorar el programa que realizaba la conversión entre escalas de temperatura para que 
realice la conversión entre grados Celsius (C), Fahrenheit (F) y Kelvin (K). Se preguntará 
en qué unidades damos la temperatura de entrada y a qué escala la queremos convertir. 
 
En la escala centígrada o Celsius, la temperatura de congelación del agua es 0ºC y la de 
ebullición 100 ºC. La escala absoluta o Kelvin comienza en el cero absoluto (0º K) que 
equivale a -273.15 ºC. Y, finalmente, en la escala Farenheit, la temperatura de 
Nº Enunciado 
congelación del agua es de 32 ºF y la de ebullición es de 212 ºF. 
 
o Celsius-Kelvin: Los grados de ambas escalas son iguales. La única diferencia 
se encuentra en que la escala Kelvin comienza en 0 ºK que equivalen a -
273.15 ºC, por tanto: 
o Celsius = Kelvin - 273.15 
o Kelvin = Celsius + 273.15 
o Farenheit-Celsius: Los grados de ambas escalas no son iguales (1 ºF = 9/5 ºC): 
o Farenheit = 9/5 * Celsius + 32 
o Celsius = 5/9 (Farenheit - 32) 
o Farenheit-Kelvin: 
o Farenheit = 9/5 * Celsius + 32 = 9/5 * (Kelvin - 273.15) + 32 
o Kelvin = Celsius + 273.15 = 5/9 * (Farenheit - 32) + 273.15 
16 
El problema consiste en que dados los extremos de dos segmentos de la recta real (estos 
datos se dan necesariamente en orden ascendente), determinar si los dos segmentos 
solapan, y si lo hacen, cual es el segmento intersección. Considerar todos los casos 
posibles. Por ejemplo, si los datos de entrada son 1 4 3 6, la salida será que los segmentos 
solapan desde el punto 3 al 4. 
 
-1 0 1 2 3 4 5 6 7 8
Segmento A
Segmento B
Segmento Solución