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

Objetivos

Ejercicio resuelto

Moodle

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

  1. 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.
  2. 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.

  3. 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".
  4. 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.
  5. 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.
  6. 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.
  7. 06-007: (10 min)
    Codifica un programa que pida una fecha y calcule la fecha siguiente, mostrándola en pantalla.
  8. 06-008: (10 min)
    Codifica un programa que pida una fecha y calcule la fecha anterior, mostrándola en pantalla.
  9. 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

  10. 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:
    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);
    ...