Vous êtes sur la page 1sur 6

Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 1 de 6

Programación
Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural

Objetivo

Verificar el uso de las estructuras de control iterativas do-while, while y for además de
las estructuras selectivas conocidas y la necesidad de anidar estructuras de control dentro de
otras.

Descripción

La práctica trata sobre un menú con una variedad de opciones sobre operaciones a
realizar.

Menú principal

Se presentarán las siguientes opciones al usuario para que elija una de ellas:

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir?

…donde si se elige una opción no contemplada se muestre:

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 6

Opcion no valida

Presione entrar para continuar . . .


Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 2 de 6

Después de presentar los resultados de cada opción (excepto la 5) se ha de imprimir de


nuevo el menú principal.

Opción 1

Se pedirán al usuario los valores para las variables “a” y “b” y se procederá a mostrar la
operación suma y su resultado, seguidos de una pausa.

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 1
Dame el valor de a=12
Dame el valor de b=9
12 + 9 = 21

Presione entrar para continuar . . .

Opción 2

Se pedirá al usuario que escriba el operador (+,-,*,/,%) de su elección, luego los valores
de las variables “a” y “b” y finalmente se escribirá la operación realizada y su resultado
seguidos de una pausa.

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 2
Escribe el operador (+,-,*,/,%): %
Dame el valor de a=20
Dame el valor de b=3
20 % 3 = 2

Presione entrar para continuar . . .


Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 3 de 6

…y para el caso en que no se elija un operador de entre los contemplados se muestre:

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 2
Escribe el operador (+,-,*,/,%): !
Dame el valor de a=1
Dame el valor de b=2
No hay un resultado calculable
1 ! 2 = 0

Presione entrar para continuar . . .

Nótese que se debe imprimir el mismo operador que fue escaneado.

Opción 3

Se pedirá al usuario que escriba el valor de n y se mostrará el resultado del “factorial de


n”, seguido de una pausa.

El factorial se define como:

1) n! = n * n-1 * n-2 *…* 1


2) 0! = 1

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 3
Dame el valor de n=5
El factorial de 5 es 120

Presione entrar para continuar . . .


Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 4 de 6

3) en cualquier otro caso es indefinido

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 3
Dame el valor de n=-1
El factorial de -1 no esta definido.

Presione entrar para continuar . . .

Opción 4

Se pedirá al usuario que ingrese los valores para el multiplicando y el último


multiplicador y posteriormente se imprimirá la tabla correspondiente, seguido de una pausa.

CALCULADORA v1.0

Elige una de las siguientes opciones:


1. Aritmetica simple con suma de enteros a+b
2. Aritmetica extendida binaria (+,-,*,/,% modulo)
3. Factorial de n (n!)
4. Detallar una tabla de multiplicar
5. Salir
Opcion a elegir? 4
Dame el multiplicando: 7
Dame hasta cual multiplicador: 10
Tabla de multiplicar del 7...
7 X 1 = 7
7 X 2 = 14
7 X 3 = 21
7 X 4 = 28
7 X 5 = 35
7 X 6 = 42
7 X 7 = 49
7 X 8 = 56
7 X 9 = 63
7 X 10 = 70

Presione entrar para continuar . . .


Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 5 de 6

Opción 5

Terminar la ejecución del programa sin pausa alguna.

Requerimientos Generales

1. Entregar un archivo fuente para aplicación de consola que cumpla con los siguientes
requerimientos
2. Declarar al principio de la función main todas las variables
3. Imprimir en consola el título de la aplicación
4. Utilizar comentarios para mostrar las siguientes secciones y subsecciones del programa:
a) Variables de uso interno del programa
b) Variables para entrada de datos
c) Menú principal
d) Realización de operaciones
e) Aritmética simple con suma de enteros a+b
f) Aritmética extendida binaria (+,-,*,/,%% modulo)
g) Factorial de n (n!)
h) Detallar una tabla de multiplicar
i) Salida del programa
5. Para cada dato requerido del usuario imprimir la solicitud de información
correspondiente (printf en C) y a continuación esperar por la entrada de datos (scanf en
C)
6. Se utilice la estructura de control “do-while” para el mostrado cíclico del menú
7. La estructura de control “do-while” del punto 6 utilice una variable bandera
8. Implementar la opción #1 del menú según se describió
9. Implementar la opción #2 del menú según se describió, mostrando los operadores y
operandos tal como se ilustró en la descripción
10. Para la opción #2 del menú, en el caso de divisor cero validar para que no truene el
programa
11. Implementar la opción #3 del menú según se describió
12. Implementar la opción #4 del menú según se describió, mostrando la tabla de
multiplicar con multiplicadores solo positivos
13. Implementar la opción #5 del menú según se describió
14. Para la opción #2 del menú, usar para los operandos solo variables tipo de tipo entero y
mostrar los resultados de tipo entero
15. El cálculo del factorial se utilice la estructura de control “for” usando algún contador y
operador de incremento (ó de decremento)
16. El detallado de la tabla de multiplicar utilice la estructura de control “while”
17. Al terminar de ejecutar una opción del menú, excepto la #5, hacer una “pausa”
mostrando el mensaje “Presione entrar para continuar” y a continuación esperar por la
tecla “entrar”.
18. Realizar una “pausa” con su respectivo mensaje, después de mostrar los resultados de
las opciones 1 a 4
19. Para ejecutar la “pausa”, leer la bandera del punto 7 anterior de modo que si se volverá
a mostrar el menú, se realice dicha pausa.
20. El programa termine su ejecución solo si se elige la opción #5 del menú
Tarea #3: Estructuras de Control Iterativas y Anidamiento Estructural 6 de 6

21. Si el usuario elige una opción no contemplada en el menú se imprima “Opción no


válida”, mostrar el mensaje “Presione entrar para continuar…” y esperar por la tecla
“entrar”
22. La opción #5 del menú funcione como se describió evitando usar la sentencia return o
exit dentro del bucle del programa principal
23. El programa termine solo si se elige la opción “Salir” del menú
24. Para poder visualizar todo lo impreso por la aplicación, desde el título del programa o
en su caso, desde el título de la opción de menú hasta lo último impreso para dicha
opción, imprimir de tal manera que no se requiera redimensionar el tamaño por defecto
de la consola (25 filas por 80 columnas) ni usar las barras de desplazamiento. Este
punto no aplica para la opción del menú que solicita imprimir la tabla de multiplicar.
25. Imprimir en consola tal cual se muestra en la descripción o mejor.
26. INDISPENSABLE PARA DERECHO A CALIFICACIÓN MAYOR A 5/100: A
excepción de constantes simbólicas, todos los requerimientos se cubran usando solo una
subrutina (main es una subrutina) y todas las variables se declaren dentro de main.

Requerimientos Optativos para puntos extras

27. Entregar en el mismo comprimido carpetas diferentes para cada lenguaje:


a) Una nombrada “C” con los códigos fuente en C (ANSI);
b) Una nombrada “C++” con los códigos fuente en C++;
c) Una nombrada “English” con los códigos fuente escritos en su totalidad en inglés
(solo para el lenguaje de programación de su preferencia).
…las primeras opciones se redacten absolutamente en español y la última
absolutamente en inglés.

Criterios de Evaluación

• Los establecidos en las “Reglas de Operación y Evaluación” del curso.


• Cumplir con la fecha límite de entrega citada en el Excel de Actividades.
• Calificación en base a cobertura de requerimientos y fecha de entrega.
• Cumplir con Requerimientos de Valor Agregado en Código Fuente (hasta el req. “Z”).
• Entrega en un lenguaje: C (ANSI).
• Es indispensable la entrega de un programa con variables, comentarios e impresiones a
consola completamente en idioma Español.