====== Examen Final - 75.40. Algoritmos y Programación I ======
**Cátedra:** Wachenchauzer\\
**Fecha:** Primera Oportunidad - (Primer Cuatrimestre) 2012\\
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Punto I ====
Agregar un método //solo3X// a la clase //ListaEnlazada// que deje en la lista sólo los elementos que se encuentran en una posición múltiplo de 3. Por ejemplo, si la lista es: [1, 4, 2, 3, 6, 7, 10, 32, 8], luego de llamar al método la lista debe quedar como: [2, 7, 8].
==== Punto II ====
a) Mostrar los pasos del ordenamiento de la lista [10, 20, 30, 32, 1, -1, 5] con ordenamiento por inserción y ordenamiento por selección. \\
b) ¿Cuáles son las principales diferencias entre ambos métodos? ¿Cuál usarías en qué casos?
==== Punto III ====
Programar en C: leer dos textos de teclado (//t// y //p//) e informar en qué posición de //t// aparece //p// por primera vez, -1 si no aparece (por ejemplo, //t = "holala"// y //p = "la"//, se informa que //p// aparece en la posición 2 de //t//, //t = "holalala"// y //p = "que"// se informa -1).
==== Punto IV ====
Se tiene la siguiente función //mystery//. Decir qué se imprime si se la llama con //mystery("X", 9)//. Justificarlo usando la pila de recursión.
def mystery(s, digit):
if (digit <= 1):
print digit
else:
s = s + "<<<"
mystery(s, digit - 3)
print s, digit
===== Resolución =====
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.