Laboratorio 6 - Algoritmos condicionales múltiples
Asignatura: Fundamentos de Informática |
|
|
Especialidad: Electrónica - UPV/EHU |
Curso académico: 2013-2014 |
Profesor: Ismael Etxeberria Agiriano |
Entregables
Al finalizar la práctica será preciso guardar los
programas fuente:
06-003.c,
06-004.c,
06-005.c,
06-006.c,
06-007.c,
06-008.c,
06-009.c y
06-010.c.
Ejercicios - Programación en C
- 06-001: (Resuelto: 10 min)
Diseña y codifica un programa que lea un número del 0 al 6 y
escriba el nombre del día de la semana correspondiente,
"lunes", "martes", ..., "domingo".
Si el número leído no está en el intervalo previsto
escribirá "error".
Diagrama de flujo if-else.
Codificación laboratorio if-else.
Diagrama de flujo switch.
Codificación laboratorio switch.
- 06-002: (Resuelto: 15 min)
Escribe y codifica un algoritmo que
lea tres números enteros diga cuál es el mayor, el mediano y el menor.
Diagrama de flujo variante de escritura múltiple.
Codificación laboratorio variante de escritura múltiple.
Diagrama de flujo variante de lectura-cálculo-escritura 1.
Codificación laboratorio variante de lectura-cálculo-escritura 1.
Diagrama de flujo variante de lectura-cálculo-escritura 2.
Codificación laboratorio variante de lectura-cálculo-escritura 2.
Diagrama de flujo variante con expresión condicional.
Codificación laboratorio variante con expresión condicional.
Diagrama de flujo variante simple.
Codificación laboratorio variante simple.
- 06-003: (8 min)
Codifica un programa que
lea un número del 1 al 12 y escriba el nombre del mes
correspondiente, "enero", "febrero", ..., "diciembre".
Si el número leído no está en el intervalo previsto escribirá "error".
- 06-004: (8 min)
Codifica un programa que,
dado el ordinal de un mes, calcule el número
de días para ese mes en un año no bisiesto.
A continuación escribe el valor calculado.
Por ejemplo, si el mes es febreros el valor calculado será 28.
- 06-005: (5 min)
Diseña y codifica un programa que,
dado el año, nos diga si es bisiesto.
Un año es bisiesto
si es divisible por 4 pero no lo es por 100 a no ser que sea
divisible por 400.
Por ejemplo, el 2000 y el 2004 fueron bisiestos
pero el 2100, 2200 y 2300 no lo serán.
El 2400 volverá a ser bisiesto.
- 06-006: (10 min)
Diseña y codifica un programa que,
dado el ordinal de un mes y el año,
nos muestre el número de días para ese mes,
teniendo en cuenta que puede ser bisiesto.
- 06-007: (10 min)
Codifica un programa que
pida una fecha y calcule la fecha siguiente, mostrándola en pantalla.
- 06-008: (10 min)
Codifica un programa que
pida una fecha y calcule la fecha anterior, mostrándola en pantalla.
- 06-009: (10 min)
Diseña y codifica un programa que
lea un real x
y calcule el valor de la función y definida como sigue:
y = -1 | si | -5 < x < -1 |
y = x(x+20) | si | -1 ≤ x ≤ 4 |
y = 2x | si | 4 < x ≤ 10 |
y = 0 | para el resto de los casos |
- 06-010: (15 min)
Diseña y codifica un programa que
pida tres números, a, b, c, y calcule las raíces
de la ecuación ax2 + bx + c = 0.
Para el algoritmo de resolución tén en cuenta las
soluciones:
- Si a = 0 y b = 0: no es una ecuación
- Si a = 0 y b ≠ 0: ecuación lineal (una solución)
- Si a ≠ 0: calcular discriminante, discr = b2 - 4·a·c
- Si discr < 0: dos raíces complejas (puede ignorarse este caso)
- Si discr = 0: dos raíces idénticas
- Si discr > 0: dos raíces reales
Para la codificación puedes utilizar la función sqrt
(square root),
declarada en el fichero math.h.
Tén en cuenta que tanto el parámetro de entrada como el resultado
son de tipo double
.
#include <math.h>
...
rcd = sqrt (dis);
...