Ejercicios :::::::::: 1. ~~ Guarda en variables los coeficientes de polinomio de segundo orden. Escribe un código que muestra por pantalla información sobre las raíces del polinomio (tiene dos raíces distintas, una doble, o ninguna). 2. ~~ Para la lista de números de abajo: #. Escribe un bucle for que escriba el resto de dividir cada uno de ellos por 5 #. Escribe un bloque for con un bloque if anidado que escriba sólo los múltiplos de 3. #. Escribe un bloque for con otro bloque for anidado que, para cada uno de esos números, escriba, en una misma línea, todos sus divisores (es decir, no uses el método ``divisors`` ). :: sage: numeros = [1, 3, 7, 13, 21, 31, 43, 57, 73, 91] 3. ~~ Escribe un bucle ``while`` que sume los inversos de los números naturales 1/k hasta que la suma sea mayor que 10. Escribe el número k en el que la suma se detiene. 4. Algoritmo de Herón ~~~~~~~~~~~~~~~~~~~~~ En este ejercicio, utilizamos un algoritmo que aproxima la raíz cuadrada de un número real positivo *a* . El algoritmo es iterativo: comienza con una aproximación burda: .. MATH:: t_0=a y después en cada iteración del algoritmo sustituimos t por otra aproximación mejor: .. MATH:: t^{\ast}=\frac{1}{2}\left(t + \frac{a}{t} \right) Este algoritmo para calcular raíces cuadradas era conocido por los babilonios, y a veces se le llama `algoritmo de Herón `_ . La sucesión :math:`t_n` converge a la raiz de a. - Escribe una función que acepte dos argumentos: un número real *a* y un error máximo :math:`\epsilon`, y devuelva una aproximación *b* al número :math:`\sqrt{a}` con error menor que el error máximo :math:`\epsilon`: .. MATH:: |b^2-a|<\epsilon 5. ~~ Busca un número natural *k* tal que :math:`|sin(k)|>1-\varepsilon`. No pruebes valores de :math:`\varepsilon` demasiado pequeños: algo así como 0.01 es razonable. Para valores más pequeños, k puede ser muy grande. 6. ~~ Definimos una secuencia de números por la siguiente regla: el número siguiente a n es n/2 si n es par, y 3n\+1 si n es impar. - Escribe una función que acepte como argumento un número *k* , y *escriba por pantalla* todos los números de la secuencia comenzando por k hasta y parando cuando se alcance por primera vez el número 1. - Escribe una función que acepte como argumento un número *k* , y *devuelva* el número de veces que se ha iterado la regla anterior hasta llegar a 1 partiendo de k. - Aprovecha la función del apartado anterior para encontrar un número tal que la secuencia tarde al menos 50 pasos en alcanzar 1. *Nota: Se ha conjeturado, pero no se ha demostrado todavía, que la secuencia siempre alcanza 1 eventualmente:* http://es.wikipedia.org/wiki/Conjetura_de_Collatz http://xkcd.com/710/