Está en la página 1de 2

Examen Parcial

Materia: Programación Superior IMT-231


Docente: Francisco Suárez

Problema 1
Escriba una función llamada dividir_stack que acepte como parámetro una lista
de enteros, y la reordene de modo que los números no negativos están al
principio de modo inverso con relación a su orden original. Por ejemplo, si
la lista pasada es [4, 0, -1, 5, -6, -3, 2, 7], tu función debería modificar
la lista a [-3, -6, -1, 7, 2, 5, 0, 4].
Restricciones: No declare ninguna estructura de datos auxiliar (ej. sets,
diccionarios, etc.) aparte de una sola lista de enteros.

Problema 2
Defina en sus propias palabras qué es un diccionario y mencione tres métodos
comúnmente encontrados en diccionarios, explicando los argumentos que acepta
y los tipos de datos que devuelven.

Problema 3

Escriba una función reordenar que acepta como parámetro un Queue de enteros
que están ordenados por valor absoluto, y lo modifica de modo que queden
ordenados normalmente. Por ejemplo, si el Queue llamado q almacena los
siguientes elementos:

front {1, -2, 4, 5, -7, -9, -12, 28, -34} back

La llamada a reordenar(q) debería modificarlo a

front {-34, -12, -9, -7, -2, 1, 4, 5, 28} back

Problema 4

Defina en sus propias palabras qué es un set y mencione tres métodos


comúnmente encontrados en diccionarios, explicando los argumentos que acepta
y los tipos de datos que devuelven.
Problema 5
Explique en sus propias palabras cuál es la diferencia entre los métodos pop
y peek en un Stack, o los métodos dequeue y peek en un Queue.

Problema 6 (Bonus)
Escriba una función llamada es_1_a_1 que acepte un diccionario cuyas llaves y
valores son strings y retorne True si no hay dos llaves que estén mapeadas al
mismo valor. Por ejemplo, para el siguiente diccionario tu función debería
retornar False porque "Hawking" y "Newton" mapean al mismo valor:

{"Marty": "206-9024",
"Hawking": "123-4567",
"Smith": "949-0504",
"Newton": "123-4567"}

Pero para el siguiente diccionaro debe retornar True porque cada llave está
mapeada a un valor único:

{"Marty": "206-9024",
"Hawking": "555-1234",
"Smith": "949-0504",
"Newton": "123-4567"}

Un diccionario vacío es considerado 1-a-1 y retorna True.

También podría gustarte