Sei sulla pagina 1di 3

FUNDAMENTOS DE INFORMÁTICA

RELACIÓN DE EJERCICIOS
Dpto. Lenguajes y Ciencias de la Computación TEMA 4: ESTRUCTURAS DE CONTROL
UNIVERSIDAD DE MÁLAGA

1. Supongamos que tenemos dos variables de tipo entero x e y, y una variable de tipo carácter
c. Escriba expresiones lógicas que permitan comprobar si se cumplen las siguientes
propiedades:
a. 𝑥 𝑡𝑖𝑒𝑛𝑒 𝑒𝑥𝑎𝑐𝑡𝑎𝑚𝑒𝑛𝑡𝑒 𝑐𝑢𝑒𝑡𝑟𝑜 𝑐𝑖𝑓𝑟𝑎𝑠
b. 𝑥 ∈ [1. .10]
c. 𝑥 𝑒𝑠 𝑖𝑚𝑝𝑎𝑟 𝑦 𝑚𝑒𝑛𝑜𝑟 𝑞𝑢𝑒 15
d. 𝑥 ∈ {3,4,5,6,7}
e. 𝑥 ∈ {1,2,3,7,8,9}
f. 𝑁𝑖 𝑥 𝑛𝑖 𝑦 𝑠𝑜𝑛 𝑚𝑎𝑦𝑜𝑟𝑒𝑠 𝑞𝑢𝑒 10
g. 𝑥 𝑛𝑜 𝑒𝑠 𝑚ú𝑙𝑡𝑖𝑝𝑙𝑜 𝑑𝑒 𝑦
h. 𝑐 𝑒𝑠 𝑢𝑛𝑎 𝑙𝑒𝑡𝑟𝑎 𝑚𝑎𝑦ú𝑠𝑐𝑢𝑙𝑎
i. 𝑐 𝑛𝑜 𝑒𝑠 𝑢𝑛𝑎 𝑙𝑒𝑡𝑟𝑎

2. Con objeto de fomentar el ahorro energético, el recibo de la electricidad se elabora de forma


que el precio de cada Kwh (kilowatio/hora) consumido es más caro cuanto más se consume:

• 1 euro de gastos fijos.


• 0.5 euros por kwh para los primeros 100 Kwh.
• 0.7 euros por kwh para los siguientes 150 Kwh (de 101 a 250).
• 1.0 euros por kwh para el resto.

Elabore un programa que lea de teclado los dos últimos valores del contador de kwh (lo que
marca el contador actualmente y lo que marcaba en la última lectura), y calcule e imprima
en pantalla el importe total a pagar.

3. Una empresa maneja códigos numéricos de 4 dígitos <PONN> con las siguientes
características donde P representa a una provincia, O un tipo de operación y NN un número
de la operación.
Escriba un programa que lea de teclado un número e imprima en pantalla la siguiente
información:

Provincia <P>
Tipo de operación <O>
Número de operación <NN>

Si el número leído tiene más de 4 dígitos, no es un código válido y mostrará un mensaje de


error.

4. Escriba un programa que encuentre el mayor, el menor y la media aritmética de una


colección de N números leídos por teclado, donde N es el primero de los números.

5. Escriba un programa que pida una serie de números positivos y negativos hasta que se lea
el número cero y posteriormente imprima por pantalla el promedio de los números positivos
y el promedio de los números negativos introducidos.

1
6. Escriba un programa calcule el número invertido de un número dado. Por ejemplo, para el
número 3214 el invertido es 4123.

7. Considere la siguiente secuencia matemática:

𝑎0 = 1, 𝑎𝑖+1 = 2 ∙ 𝑎𝑖 + 1 𝑝𝑎𝑟𝑎 𝑖 > 0

cuyos primeros elementos son 1, 3, 7, 15, 31, 63,…

Escriba una función que devuelva el n-ésimo elemento de la sucesión.

8. La constante matemática 𝜋 puede calcularse con la siguiente fórmula:


2 4 4 6 6
𝜋 =4∗ ∗ ∗ ∗ ∗ …
3 3 5 5 7
Escriba una función que, dado un valor entero de n, calcule 𝜋 multiplicando las primeras
n fracciones de la fórmula. Para comprobar su correcto funcionamiento, con el valor
n=30 el valor de 𝜋 es 3.19106; con n=3000 el valor es 3.14212 y con n=30000 el valor
es 3.14165.

9. Escribe un programa para evaluar las funciones sin(x) y cos(x) dadas las siguientes
series de potencias:
2 4 6 8
cos(𝑥) = 1 − 𝑥 ⁄2! + 𝑥 ⁄4! − 𝑥 ⁄6! + 𝑥 ⁄8! − …

3 5 7 9
sin(𝑥) = 𝑥 − 𝑥 ⁄3! + 𝑥 ⁄5! − 𝑥 ⁄7! + 𝑥 ⁄9! − …

El programa deberá pedir el valor de x y aproximar el valor de las funciones seno y


coseno calculando las anteriores series hasta el primer término menor que 0.000001.
Calcula cada término en función del anterior.
Ampliar el programa para que la tolerancia sea un parámetro del usuario, e imprima
además el número de términos utilizados.

10. Diseña y optimiza un programa que calcule números combinatorios.


𝑛!
𝐶𝑛𝑚 =
𝑚! (𝑛 − 𝑚)!

Un número combinatorio 𝐶𝑛𝑚 calcula el número de partes de m elementos que se pueden


tomar de un conjunto de n elementos. Si n = m, el número es 1. Si n < m el programa
deberá dar un mensaje de error ya que no se pueden tomar subconjuntos de mayor
tamaño que el propio conjunto.

11. Escriba un programa que acepte por teclado un número entre 2 y 10 y muestre por
pantalla la tabla de multiplicar del número indicado. Si el usuario introduce un valor
válido se mostrará por pantalla la tabla correspondiente, según el formato utilizado en
el siguiente ejemplo para la tabla del 2.

2 x 1 = 2
2 x 2 = 4

2
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20

12. Escribe una función que indique si un número dado es primo o no. Utilice la función
para mostrar por pantalla todos los números primos menores que un valor introducido
por el usuario.

13. Escriba un programa que lea un número n e imprima una pirámide de números con n
filas (n < 10) como en la siguiente figura para n = 4:

1
121
12321
1234321

14. Escriba un programa para jugar a acertar un número aleatorio secreto. El programa debe
generar un número aleatorio secreto, entre 0 y un valor máximo que debe solicitar al
jugador. Una vez generado el número, el programa pedirá al jugador que acierte ese
número. Si lo acierta, el juego termina. Si no acierta, debe escribir si el número que ha
introducido el jugador es mayor o menor que el número secreto. Al terminar, el
programa mostrará el número de intentos que ha necesitado el jugador para acertar el
número.

15. Diseñar un programa que lea por teclado una secuencia indefinida de números positivos
acabada en 0. El programa mostrará por teclado el dígito (entre 1 y 9) por el que
comienzan más números. En caso de que hubiera varios dígitos que cumplen el criterio
se mostrarían todos ellos.
Un ejemplo:
Introduzca secuencia: 234 125 23 2 75 2 345 67 0
El dígito de inicio que más se repite es el 2
Otro ejemplo:
Introduzca secuencia: 234 725 23 2 75 2 345 67 72 79 0
Los dígitos de inicio que más se repiten son el 2 y el 7

Potrebbero piacerti anche