C. F. G. S. - “ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS”
Asignatura: Fundamentos de Programación Colegio Salesiano “San Ignacio” de Cádiz
Mis Problemas Favoritos
Mis Problemas Favoritos Raúl Reyes
C. F. G. S. - “ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS”
Asignatura: Fundamentos de Programación Colegio Salesiano “San Ignacio” de Cádiz
Mis Problemas Favoritos
BLOQUE 1: Funciones de E/S PROBLEMA 1.1: Escribir un programa que calcule la media real de 3 números enteros dados por el usuario. PROBLEMA 1.2: Escribir un programa que calcule la suma de dos números enteros dados por el usuario. PROBLEMA 1.3: Escribir un programa que pida dos números y muestre la resta de ambos. PROBLEMA 1.4: Dados 2 números que introducirá el usuario, escribir un programa que intercambie sus valores. PROBLEMA 1.5: Escribir un programa que pida el nombre y el apellido de una persona, y lo muestre por pantalla de la forma “Apellido, Nombre”. PROBLEMA 1.6: Escribir un programa que acepte el valor de un ángulo, medido en grados, e imprima su valor en radianes (Nota: radianes = 180 grados). PROBLEMA 1.7: El volumen de una esfera es igual a 4/3. .r3. Escribir un programa que solicite un radio e imprima el valor del volumen de la esfera correspondiente. PROBLEMA 1.8: El Área de un Círculo es .r2, y la longitud de la circunferencia es 2* *r. Escribir un programa que solicite un radio e imprima el valor del área y la longitud de la circunferencia asociadas. PROBLEMA 1.9: Hacer un programa que pida el total de kilómetros recorridos, el precio de la gasolina (por litro), el dinero de gasolina gastado en el viaje y el tiempo que se ha tardado (en horas y minutos), y que calcule: - Consumo de gasolina (en litros y pesetas) por cada cien kilómetros - Consumo de gasolina (en litros y pesetas) por cada kilómetro - Velocidad media (en km/h y m/s) PROBLEMA 1.10: Programa que resuelva una ecuación de primer grado: Y = A * X + B.
C. F. G. S. - “ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS”
Asignatura: Fundamentos de Programación Colegio Salesiano “San Ignacio” de Cádiz
Mis Problemas Favoritos
BLOQUE 2: Condicionales PROBLEMA 2.1: Programa que solicite la edad al usuario y diga si es o no mayor de edad. PROBLEMA 2.2: Programa que pida un número del 1 al 12 e imprima a que mes del año corresponde dicho número. PROBLEMA 2.3: Calcular “a” elevado a “b”, teniendo en cuenta que “a” puede ser cualquier número entero y que “b” sólo puede tomar valores enteros entre -2 y 2. PROBLEMA 2.4: Solicitar al usuario dos números enteros “a” y “b” y el valor de la suma de ambos “c” y comprobar si el usuario a introducido el valor correcto de la suma de ambos números. PROBLEMA 2.5: Solicitar al usuario dos números y una operación, e imprimir en pantalla el resultado de dicha operación sobre esos números. PROBLEMA 2.6: Calcular el valor absoluto de un número introducido por el usuario. PROBLEMA 2.7: El área de un triángulo viene dada por la fórmula: b a
A = s.(s − a).(s − b).(s − b)
A c
donde s es el perímetro y a, b y c son las longitudes de los lados. Realizar un programa que calcule A, dados a, b y c. NOTA: Para la raíz cuadrada usa la función “sqrt()” incluida en la biblioteca de funciones “math.h”.
C. F. G. S. - “ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS”
Asignatura: Fundamentos de Programación Colegio Salesiano “San Ignacio” de Cádiz
Mis Problemas Favoritos
PROBLEMA 2.8: Realizar un programa que calcule la distancia del punto (x0,y0) a la línea Ax+By+C=0, que viene dada por:
d=
A.x0 + B. y 0 + C A2 + B 2
PROBLEMA 2.9: Hacer un programa que diga si un número positivo que se le da por teclado, es par o impar. Hacerlo usando el operador % (módulo) y sin usarlo. PROBLEMA 2.10: Escribir un programa que lea desde el teclado temperaturas expresadas en grados Fahrenheit y las convierta a grados Celsius. El programa finalizará cuando lea un valor de temperatura igual a 999. La fórmula de conversión entre grados Fahrenheit (F) y Celsius (C) viene dada por: C=
5 ( F − 32) 9
PROBLEMA 2.11: Hacer un programa que lea tres números enteros positivos distintos e imprima el mayor valor de los tres. PROBLEMA 2.12: Hacer un programa que lea tres números enteros positivos distintos e imprima el mayor y el menor valor de los tres. Observe que hay muchas formas de hacerlo. Intente encontrar la que realice menos comparaciones entre los números (la más eficiente). PROBLEMA 2.13: Escribir un programa que lea del teclado una lista de números positivos y escriba el valor máximo y el valor mínimo. El final de la lectura se indicará introduciendo un número negativo. PROBLEMA 2.14: Un número binario representa valores mediante combinaciones de ceros y unos. Un número binario de cuatro dígitos puede ser convertido a su correspondiente valor decimal como en el ejemplo: 11002 = 1*8 + 1*4 + 0*2 + 0*1 = 1210 Realizar un programa que admita números en base 2 de 8 cifras, y los convierta al correspondiente valor decimal.
C. F. G. S. - “ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS”
Asignatura: Fundamentos de Programación Colegio Salesiano “San Ignacio” de Cádiz
Mis Problemas Favoritos
PROBLEMA 2.15: Los médicos forenses utilizan la longitud de ciertos huesos para determinar la altura de una persona, cuando la persona estaba viva. Por ejemplo, para los varones altura (en cm) = 69.089 + 2.238 * longitud_de_la_tibia para las mujeres altura (en cm) = 61.412 + 2.317 * longitud_de_la_tibia A partir de los 30 años, la altura de una persona decrece a una tasa de 0.06 cm. por año. Escribir un programa que solicite secuencias de valores de longitudes de la tibia, sexo y edad del paciente, y nos dé la altura aproximada. PROBLEMA 2.16: Desarrollar un programa para determinar las soluciones a la ecuación de segundo grado ax2+bx+c=0. El programa pedirá al usuario los valores de “a”, “b” y “c” y calculará los posibles valores de x que hacen cierta la ecuación.
PROBLEMA 2.17: Realizar un programa para 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í lo fue. PROBLEMA 2.18: Realizar un programa 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. Segmento B Segmento A
-1
0
1
2
3
4
Segmento Solución
5
6
7
8