R. Consiste en realizar la reflexión a un problema planteado, encontrar las posibles soluciones y seleccionar la mejor opción para dar respuesta a la situación. 2. ¿Qué es un modelo? R. Es el método que define como se va a resolver un determinado problema, teniendo como prioridad la organización y estructura del algoritmo. 3. Explica ampliamente en que consiste la computabilidad. R. Consiste en la representación de un algoritmo en una máquina para dar solución a un problema, para que pueda ser interpretado por la computadora debe de ser escrito con “instrucciones” en un lenguaje de programación el cual debe ser comprendido por el desarrollador y este a su vez hacerlo comprensible para el usuario final. Cuando un problema no tiene solución se dice que no es computable. 4. ¿Cuáles son los elementos a partir de los cuales se define la recursión? R. Clausula base, fija una “semilla” en el dominio a partir de la cual surgirán los elementos del contradominio, definiendo una función. Una cláusula inductiva utilizara la función definida en la clausula base y determinará así el contradominio. 5. ¿Un problema que se puede resolver por medio de recursividad, también se puede resolver de manera iterativa? Si, no, porque R. Si es posible ya que ambas involucran la repetición, pero la recursión está definida por la llamada repetitiva de sí misma (función) y sabemos que una función puede involucrar un conjunto de instrucciones dentro de sí, mientras que la iteración realiza repetidamente una instrucción hasta llegar a su objetivo. Ambas necesitan una instrucción de salida para que el programa pueda continuar, pero hay que considerar que la función recursiva consume mas memoria. La iteración termina cuando la condición del bucle no se cumple, mientras que la recursión acaba cuando se reconoce un caso base o la condición de salida se alcanza.
6. ¿Qué es una búsqueda secuencial?
R. Compara el valor que se desea encontrar con cada uno de los valores de la matriz, hasta llegar al objetivo, lo cual hace menos eficiente este tipo de búsqueda. 7. De los algoritmos de ordenación vistos, explica cuál es el más eficiente y porque. R. A mi considerar el método mas efectivo es el Quicksort, ya que divide en dos partes al vector a ordenar. Se tiene que elegir un valor “pivote” o “valor medio” para que partir de este se separen en un subvector los valores menores al pivote y en el otro los mayores a este. Una vez separados estos valores se procede a ordenar cada subvector. 8. ¿Explica los pasos para la inducción matemática? R. Indica que a partir de los valores dentro de un rango se puede emplear una formula definida para verificar que el resultado obtenido (contradominio) pertenece al conjunto del cual también forma parte el dominio. Coloquialmente, se utiliza para definir que los valores calculados también existen. 9. Diferencia entre la tabla hash y la función hash. R. La tabla hash asocia el código introducido tal y como está con el valor buscado, mientras que en la función hash al ingresar un código este transforma los valores de determinadas posiciones del código para encontrar la dirección en la memoria que contiene el valor a encontrar. 10. Elige un método de ordenación y ejemplifícalo. R. Método de intercambio o burbuja. Si tenemos un vector con los siguientes elementos (50, 15, 56, 14, 35, 1, 12, 9) y se desea ordenar de manera ascendente podemos hacer lo siguiente. a) Comparar entre la posicion 1 y 2 del vector, cual tiene el valor mas grande. Sí los valores están en el orden solicitado conservan su posición, en caso contrario la intercambian. b) Se repite el paso “a” entre el elemento 2 y 3. Y se continua sucesivamente así entre cada posición. c) La ejecución de los pasos a y b continua con todos los elementos del vector hasta que todos los números estén en el orden correspondiente.