====== 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á.