Rpya Practico7 2020
Rpya Practico7 2020
Práctico Nº 7
Tema: Estructura de Datos – PSeInt
Objetivo:
● Resolver problemas diseñando módulos o subprogramas que den solución a cada tarea
detectada en el análisis de enunciados.
Aspectos a tener en cuenta para pensar soluciones que incorporen la utilización de funciones o
procedimientos
2- Analizar cada módulo identificado y decidir si su solución debe implementarse como función o
procedimiento
3- Analizar para cada función y procedimientos planteados el pasaje de parámetros. ¿Se deben definir
parámetros? ¿Qué parámetros deben definirse? ¿De qué tipo serán?
Enunciados:
1. Analizar las solución planteada para el ejercicio 5 del práctico 6 y aplicar el concepto de
modularización.
¿Cómo?
a) Identifique cada tarea concreta realizada en el algoritmo y asígnele un nombre, por ejemplo
cargaDeDatos.
b) Función: ES_IGUAL: dado dos caracteres, informa si son iguales. La función recibe dos
números y devuelve verdadero o falso, según sea el caso.
c) Función: CONTARX informa por pantalla cuantas veces aparece un caracter ingresado por el
usuario en un arreglo de caracteres. Esta función debe invocar a la función ES_IGUAL.
d) Codificar el algoritmo principal que le permita al usuario realizar el ingreso de una cadena de
caracteres y luego pueda consultar cuántas veces se ha ingresado un caracter x.
3. El profesor de una materia, tiene 3 comisiones de 15 alumnos cada una, en diferentes días de la
semana. Codificar un algoritmo que permita ingresar las notas de los alumnos de las tres
comisiones. Luego, muestre las notas de cada comisión e informe cuál es la nota más alta de cada
comisión.
a) Explicar gráficamente cómo almacenaría los datos utilizando 3 estructuras (una por cada
comisión).
b) El programa principal debe permitirle al usuario elegir con qué comisión desea trabajar para la
carga. Es decir que para cargar notas, el usuario debe decir a qué comisión corresponden las
notas.
c) El programa principal debe permitirle al usuario elegir con qué comisión desea trabajar para la
muestra de notas y si quiere ver las notas aprobadas, las desaprobadas o todas las notas. .
Es decir que mostrar notas, el usuario debe decir las notas de qué comisión se quieren ver y
el criterio.
d) Aplique la técnica de refinamiento sucesivo para diseñar el programa principal.
e) Diseñar los subprogramas (procedimientos o funciones) que considere necesarios para
resolver el problema.
4. Dados 15 números enteros ingresados por el usuario se quiere obtener la lista de números que
sean múltiplos de 5 y también de 2. Se debe mostrar por pantalla el cartel: “El número x es múltiplo
de 5 y de 2”, por cada número encontrado.
a) Diseñar el procedimiento NrosMultiplos que debe guardar los números que sean múltiplos de
5 y de 2 en un arreglo.
b) Para determinar si un número es múltiplo de 5 y de 2 se debe implementar la función
EsMultiplo.
c) Diseñar el procedimiento ImprimirMultiplos, que muestre por pantalla la lista de números
almacenados por el procedimiento NrosMultiplos.
d) Ejecutar el algoritmo diseñado utilizando los siguientes datos de entrada: 15, 200, 132, 440,
21, 40, 12, 15, 26, 30. ¿Qué resultados se obtiene?
5. El dueño de un gimnasio quiere hacer un estudio sobre los planes de sus socios. Por cada cliente
se tienen los siguientes datos: el tipo de actividad del plan contratado (aparatos, fitness o natación)
y la cantidad de clases semanales de la que dispone (2, 4 o libre). Se pide:
b) Diseñar un procedimiento que permita al usuario consultar por la cantidad de socios que han
contratado un tipo de actividad en particular especificando, además la cantidad de clases
semanales que disponen.
6. Escribir un algoritmo que ingrese no más de 30 valores numéricos y los ordene en forma
decreciente. Luego le dé la opción al usuario para insertar un nuevo número (manteniendo el
orden). Finalmente muestre el arreglo ordenado según la elección del usuario (de menor a mayor,
de mayor a menor, todos los números o un subconjunto de los mismos -especificando desde qué
posición hasta qué posición-).
b) Las tareas de: ingresar los números, ordenarlos, insertar y mostrar deben ser implementadas
mediante subprogramas (procedimientos o funciones).