Ejercicios: Modularización de algoritmos
Explicá con tus palabras qué es un subprograma (o módulo) en un algoritmo y nombrá dos ventajas de dividir un programa en módulos en lugar de escribirlo todo en un único…
Explicá con tus palabras qué es un subprograma (o módulo) en un algoritmo y nombrá dos ventajas de dividir un programa en módulos en lugar de escribirlo todo en un único bloque.
En PSeInt existen dos tipos de subprogramas: las funciones y los procedimientos (llamados también subprocesos sin valor de retorno). Indicá cuál es la diferencia…
En PSeInt existen dos tipos de subprogramas: las funciones y los procedimientos (llamados también subprocesos sin valor de retorno). Indicá cuál es la diferencia principal entre ambos y dá un ejemplo de tarea que resolverías con cada uno.
Observá esta función escrita al estilo de PSeInt: Indicá cuál es el nombre de la función, cuál es su parámetro, qué valor devuelve y qué resultado se obtiene al llamarla…
Observá esta función escrita al estilo de PSeInt:
Funcion r <- doble(x)
r <- x * 2
FinFuncion
Indicá cuál es el nombre de la función, cuál es su parámetro, qué valor devuelve y qué resultado se obtiene al llamarla con doble(8).
Camila quiere hacer un programa que calcule el área de un rectángulo, de un triángulo y de un círculo, según lo que elija el usuario en un menú. a) Proponé una división…
Camila quiere hacer un programa que calcule el área de un rectángulo, de un triángulo y de un círculo, según lo que elija el usuario en un menú.
- a) Proponé una división en módulos: nombrá cada subprograma, indicá qué parámetros recibe y qué devuelve.
- b) Explicá qué tendría que hacer el programa principal.
- c) Indicá qué ventaja tiene esta organización si más adelante se quiere agregar el área del trapecio.
Dada esta función: a) Explicá qué hace el operador MOD y qué resultado devuelve esPar(7) y esPar(10). b) Escribí un fragmento de algoritmo principal que lea un número y,…
Dada esta función:
Funcion r <- esPar(n)
Si n MOD 2 = 0 Entonces
r <- Verdadero
Sino
r <- Falso
FinSi
FinFuncion
- a) Explicá qué hace el operador
MODy qué resultado devuelveesPar(7)yesPar(10). - b) Escribí un fragmento de algoritmo principal que lea un número y, usando esta función, muestre «par» o «impar».
- c) Explicá qué diferencia hay entre el parámetro
ny el valor con el que se llama a la función.
Un liceo de Salto necesita un programa para procesar las notas de un grupo. Hay que: (1) cargar las notas de los estudiantes, (2) calcular el promedio del grupo, (3)…
Un liceo de Salto necesita un programa para procesar las notas de un grupo. Hay que: (1) cargar las notas de los estudiantes, (2) calcular el promedio del grupo, (3) contar cuántos estudiantes salvaron (nota mayor o igual que 6) y (4) mostrar un resumen.
- a) Descomponé el problema en subprogramas y completá una tabla con columnas: nombre del módulo, datos de entrada y datos de salida.
- b) Indicá en qué orden los llamaría el programa principal.
- c) Señalá cuál de los módulos podría reutilizarse en otro programa distinto y por qué.
Se quiere hacer un programa para un kiosco que registre ventas. Cada venta tiene un producto con su precio unitario y una cantidad. Si el total de la compra supera los…
Se quiere hacer un programa para un kiosco que registre ventas. Cada venta tiene un producto con su precio unitario y una cantidad. Si el total de la compra supera los 1.000 pesos, se aplica un descuento del 10 %. Al final del día se muestra el total recaudado.
- a) Diseñá la modularización: indicá al menos cuatro subprogramas, con nombre, parámetros y valor devuelto, distinguiendo funciones de procedimientos.
- b) Escribí en pseudocódigo la función que calcula el total de una venta con el descuento.
- c) Hacé la prueba de escritorio de esa función con un precio unitario de 400 pesos y una cantidad de 3, y con un precio de 150 pesos y una cantidad de 2.
- d) Justificá por qué conviene que el cálculo del descuento esté en un módulo separado y no repetido dentro del programa principal.
Dos estudiantes, Santiago y Lucía, resolvieron el mismo problema: leer tres números y mostrar cuál es el mayor y cuál es el menor. Santiago escribió todo el código en un…
Dos estudiantes, Santiago y Lucía, resolvieron el mismo problema: leer tres números y mostrar cuál es el mayor y cuál es el menor. Santiago escribió todo el código en un único bloque, con muchas condiciones repetidas. Lucía escribió dos funciones, mayor(a, b, c) y menor(a, b, c), y un programa principal que las llama.
- a) Comparalos desde el punto de vista de la legibilidad, el mantenimiento y las pruebas.
- b) Escribí en pseudocódigo la función
mayor(a, b, c), de modo que funcione con cualquier combinación de valores. - c) Si luego se pidiera lo mismo para cinco números, explicá qué cambios habría que hacer en cada versión y cuál resulta más conveniente.
- d) Explicá qué es una variable local y por qué ayuda a que los módulos no se interfieran entre sí.