Está en la página 1de 4

Examen Final Libre - Cursada 2020

Parte Práctica

1. Algoritmos, Datos y Programas


a) Se desea diseñar e implementar un algoritmo qué lea valores enteros desde teclado,
hasta qué sea leído el valor 999. La salida del algoritmo será el promedio de valores
pares positivos leídos.
a.1) Considera qué existe alguna precondición?. Justifica tu respuesta
a.2) Presente dos casos de prueba

2. Tipos de Datos Estructurados


a) Problema. Para la solución se puede utilizar pseudocódigo o Python o
C. Debes indicarlo antes de comenzar con la misma

Vectores -Se pide qué diseñes e implementes un algoritmo llamado


existeJ qué recibe como parámetros un arreglo ordenado de N
valores enteros A. Se sabe qué todos los elementos del arreglo A son
diferentes y se incluyen enteros negativos. El algoritmo debe
determinar si existe un índice J, tal qué se cumpla con 1 <=J<= N y
dónde A[J] = J y en caso afirmativo retornar el valor de J.

3 - Estructuras de Datos - Diseño


Un compañero de clases ha modelado una estructura de datos qué permite
representar un libro. En este caso se ha optado por el lenguaje de programación
Python
Class Libro ():
def __init_(self):
self.autor=””;
self.titulo=””;
self.qPags= 0;
self. stock = 0

a) Ahora te vamos a solicitar qué diseñes e implementes un algoritmo llamado


modificar qué recibe un parámetro de tipo libro e incrementa en 5 el stock
del mismo,

b) Si ahora necesitamos modelar una biblioteca qué contiene como máximo 100
libros, los cuales estarán ordenados por cantidad de páginas en forma
ascendente, qué forma tendría esa estructura?

c) Si la cantidad de libros qué va a contener la biblioteca depende de la


ejecución del programa en la qué se la utilice, harías algún cambio con
respecto a tu respuesta al inciso b). Justifica tu respuesta
Parte Teoría
Sobre el Problema 1 “Se desea diseñar e implementar un algoritmo qué lea valores enteros
desde teclado, hasta qué sea leído el valor 999. La salida del algoritmo será el promedio de
valores pares positivos leídos.” responda

a.3)Para leer los valores qué ingresa el usuario considera qué será necesario usar la
estructura de control __________
Opciones: iterativa, repetitiva, condicional

a.4) Del análisis del enunciado del problema, se puede asegurar qué ________
Opciones: se leen menos de 999 números, se leen exactamente 999 números, las dos
opciones anteriores, ninguna de las opciones anteriores.

b) Qué diferencia a un algoritmo de un programa?


Opciones
La cantidad de líneas de código
El lenguaje de programación en el qué está escrito
Qué el algoritmo se puede ejecutar en cualquier computadora

3. Diseño de Soluciones Algorítmicas - Modularización

2a)Qué diferencia existe entre la especificación, la implementación y la


invocación de un módulo (función/procedimiento)?. Presente un ejemplo para el
caso de un módulo qué permita obtener el resto de la división entera entre dos
valores A y B (también enteros) recibidos como parámetros

2b) Analice la especificación del siguiente subprograma y su implementación,


considera qué ésta última cumple con la especificación. Justifique su respuesta

Retorna la suma del cuadrado más el def ejemplo(x):


cubo del entero X recibido como resultado= (x ** 2) + (x ** 3)
parámetro. Por ejemplo para x = 5 la print(resultado)
salida sería 150 return resultado
2. c) Analice el siguiente diseño qué realizó un colega para gestionar las notas de un
grupos de estudiantes

I. A partir del gráfico se puede afirmar que


A. el último módulo (subprograma) qué se ejecutará será el qué tiene el
nombre “Por apellidos”
B. el primer módulo (subprograma) qué se ejecutará será el qué tiene el
nombre “Elegir Opción”
C. existen 6 funcionalidades diferentes en la gestión de las notas de los
estudiantes
D. qué todos los módulos son procedimientos
E. qué todos los módulos son funciones

2. e) Un módulo (subprograma) es independiente de otros en la medida qué


I. comparte información con otros módulos del programa usando variables
globales
II. tiene solo parámetros de salida
III. tiene solo parámetros de entrada
IV. por todas las opciones anteriores
V. por ninguna de las opciones anteriores

4. Tipos de Datos Estructurados

b) Preguntas - Varias Vectores, Matrices y Registros

El nombre de un arreglo almacena ___________ del primer elemento


del arreglo
Opciones: la dirección de memoria, el número de elementos, el tipo
de datos, el valor
Un arreglo puede almacenar valores, pero estos deben ser
_______________
Opciones: del mismo tipo, valores enteros, constantes, todos valores
diferentes

Un arreglo puede ser recorrido de forma simple usando _________


Opciones: un bucle for, una constante, un valor nulo, una variable

Para asignar el contenido de un vector A a otro B, es necesario


_______
Opciones: usar el operador de asignación entre los arreglos (B = A),
usar un bucle for para asignar cada elemento de A a B,
usar el operador de igualdad entre los arreglos
cualquiera de las anteriores

Para pasar un arreglo como parámetro a una función, es necesario


pasar también el _______ del arreglo
Opciones: contenido, nombre, valor del primer elemento, tamaño
del mismo

Se dispone de un arreglo de caracteres, y se desea determinar si el


valor ‘X’ pertenece al mismo. Cuál o cuáles de las siguientes
propuestas te parece las más adecuada para resolver el problema:
a) recorrer todo el arreglo en forma secuencial
b) determinar si está ordenado, en cuyo caso se recorrerá
linealmente
c) determinar si está ordenado, en cuyo caso se aplicará la
búsqueda binaria
d) cualquiera de las anteriores
e) ninguna de las anteriores

También podría gustarte