Volver a la portadaCiencias Computacionales y Tecnologías Digitales · 1° Bachillerato · Cambiar asignatura
Empezar gratis
Apuntes

Ejercicios: Modularización de algoritmos

Practica★☆☆
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.

Resolver
Practica★☆☆
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.

Resolver
Practica★☆☆
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).

Resolver
Practica★★☆
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ú.

  1. a) Proponé una división en módulos: nombrá cada subprograma, indicá qué parámetros recibe y qué devuelve.
  2. b) Explicá qué tendría que hacer el programa principal.
  3. c) Indicá qué ventaja tiene esta organización si más adelante se quiere agregar el área del trapecio.
Resolver
Practica★★☆
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
  1. a) Explicá qué hace el operador MOD y qué resultado devuelve esPar(7) y esPar(10).
  2. b) Escribí un fragmento de algoritmo principal que lea un número y, usando esta función, muestre «par» o «impar».
  3. c) Explicá qué diferencia hay entre el parámetro n y el valor con el que se llama a la función.
Resolver
Practica★★☆
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.

  1. a) Descomponé el problema en subprogramas y completá una tabla con columnas: nombre del módulo, datos de entrada y datos de salida.
  2. b) Indicá en qué orden los llamaría el programa principal.
  3. c) Señalá cuál de los módulos podría reutilizarse en otro programa distinto y por qué.
Resolver
Practica★★★
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.

  1. a) Diseñá la modularización: indicá al menos cuatro subprogramas, con nombre, parámetros y valor devuelto, distinguiendo funciones de procedimientos.
  2. b) Escribí en pseudocódigo la función que calcula el total de una venta con el descuento.
  3. 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.
  4. d) Justificá por qué conviene que el cálculo del descuento esté en un módulo separado y no repetido dentro del programa principal.
Resolver
Practica★★★
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.

  1. a) Comparalos desde el punto de vista de la legibilidad, el mantenimiento y las pruebas.
  2. b) Escribí en pseudocódigo la función mayor(a, b, c), de modo que funcione con cualquier combinación de valores.
  3. 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.
  4. d) Explicá qué es una variable local y por qué ayuda a que los módulos no se interfieran entre sí.
Resolver