Laboratorio 7 - Algoritmos iterativos - While

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:
07-001.c, 07-002.c, 07-003.c, 07-004.c, 07-005.c, 07-006.c, 07-007.c, 07-008.c, 07-009.c, 07-010.c y 07-011.c.

Ejercicios - Programación en C

Aunque luego se recalca en cada ejercicio observa que para este laboratorio sólo se pueden utilizar estructuras iterativas tipo while.
No se utilizarán estructuras do-while o for, aunque puedan ser las que mejor se adecuan al problema.
  1. 07-001: (Resuelto: 10 min) Análisis.
    Diseña el diagrama de flujo y codifica un programa que lea un número positivo o nulo n y escriba la palabra "Hola" n veces utilizando una estructura iterativa while. Si el número no es positivo o nulo escribirá un mensaje de error y finalizará.
    Diagrama de flujo.
    Codificación laboratorio.

  2. 07-002: (10 min). Análisis.
    Diseña y codifica un programa que lea un número positivo n entre 1 y 99 y escriba su tabla de multiplicar del 2 al 15 utilizando una estructura iterativa while. Si el número no está en el intervalo descrito escribirá un mensaje de error y finalizará.
    Recuerda que para que un número entero se escriba en pantalla mediante la instrucción printf ocupando 3 espacios hay que especificar "%3d", aunque no quede reflejado en el diagrama de flujo.
    Procura que el resultado de la ejecución del programa sea exactamente el del siguiente ejemplo (para cuando se introduce 17):
    De qué número deseas obtener la tabla de multiplicar: 17
    17 x  2 =   34
    17 x  3 =   51
    17 x  4 =   68
    17 x  5 =   85
    17 x  6 =  102
    17 x  7 =  119
    17 x  8 =  136
    17 x  9 =  153
    17 x 10 =  170
    17 x 11 =  187
    17 x 12 =  204
    17 x 13 =  221
    17 x 14 =  238
    17 x 15 =  255
    

  3. 07-003: (10 min). Análisis.
    Diseña y codifica un programa que tras leer m y n calcule el siguiente sumatorio doble, utilizando una estructura iterativa while:

  4. 07-004: (10 min). Análisis.
    Codifica un programa que calcule el resto de la división entera mediante sumas y restas, utilizando una estructura iterativa while.
  5. 07-005: (10 min). Análisis.
    Codifica un programa que calcule el cociente de la división entera utilizando sumas y restas.
  6. 07-006: (10 min). Análisis.
    Codifica un programa que lea un número natural y escríbelo en hexadecimal (directamente mediante el formato %x de printf) y luego en binario utilizando estructuras while. Por ejemplo:
    Introduce el número a convertir: 42
    En hexadecimal: 2a
    En binario: 101010
    

  7. 07-007: (10 min). Análisis.
    Codifica un programa que lea: y convierte n a la base b utilizando estructuras while.
    No es necesario que verifiques que los números leídos cumplen los supuestos.
    Por ejemplo:
    Introduce el número a convertir: 156
    Introduce la base: 7
    El 156 en base 7 es 312.
    

  8. 07-008: (10 min). Análisis.
    Diseña el Ddf y codifica un programa que lea dos números enteros, x e y, y calcule la suma x+y utilizando asignaciones e incrementos unitarios (de 1) y una estructura repetitiva while.
  9. 07-009: (10 min). Análisis.
    Diseña el Ddf y codifica un programa que lea dos números enteros, x e y, y calcule la potencia entera xy mediante multiplicaciones sucesivas utilizando una estructura repetitiva while.
  10. 07-010: (10 min). Análisis.
    Diseña el Ddf y codifica un programa que lea un número n (entre 1 y 20, verificándolo) y dibuje la copa de un pino de dimensión n utilizando estructuras iterativas while. Por ejemplo, para n = 4 dibujar (los guiones representan espacios):
    Introduce dimension de la copa de pino: 4
    ----*
    ---***
    --*****
    -*******
    

  11. 07-011: (10 min). Análisis.
    Diseña el Ddf y codifica un programa que lea un número n (entre 1 y 20, verificándolo) y dibuje la copa de un pino invertida de dimensión n utilizando estructuras iterativas while. Por ejemplo, para n = 4 dibujar (los guiones representan espacios):
    Introduce dimension de la copa de pino invertida: 4
    -*******
    --*****
    ---***
    ----*