Curso avanzado de programación
Sesión 2
1
Sesión 2
• repetir ...
– http://docs.wiris.com/quizzescourse/2.0/es/example/repeat.html
• mientras ...
– http://docs.wiris.com/quizzescourse/2.0/es/example/while.html
• Estrategias de programación
2
repetir ...
• Se usa para asegurarse de
que un valor es correcto
• El código de dentro se ejecuta
como mínimo una vez
• Observar este código; genera
un entero diferente de 0
3
mientras ...
• Se usa para bucles con un número
variable de iteraciones.
• Puede que el código de dentro no
se ejecute nunca.
• La condición es la opuesta respecto
a repetir...
• Observar este código; genera una
succesión hasta un determinado
punto. Los términos se van
acumulando en una lista.
4
tiempo de practicar
• Función clásica de Algoritmo de Euclides,
para encontrar el mcd de dos números:
http://es.wikipedia.org/wiki/Algoritmo_de_euclides
• ¿Cuántas veces se puede doblar una hoja de
papel, antes que tenga un grosor de N?
5
Estrategias de programación
• intentar+filtrar vs construir
• empezar por el problema vs por la solución
6
intentar+filtrar vs construir
• intentar+filtrar:
– Es generar rápidamente datos, y si no encajan con lo
que queremos, desecharlos y generar otros. Fuerza
bruta. Barato para el humano, caro para la máquina.
• construir:
– Es elegir cuidadosamente, usando propiedades
matemáticas, para que los datos que calculemos
encajen con lo que queremos. Caro para el humano,
barato para la máquina.
7
intentar+filtrar vs construir
• Generar un triángulo rectángulo entero:
– http://es.wikipedia.org/wiki/Terna_pitag%C3%B3rica
– http://docs.wiris.com/quizzescourse/2.0/es/example/pythagorean.html
• Generar una matriz 3x3 singular:
– http://docs.wiris.com/quizzescourse/2.0/es/example/singular.html
8
Pitágoras
9
Matriz singular
10
primero problema vs primero solución
• primero problema:
– Es generar primero el enunciado, y después
resolverlo para tener la solución.
• primero solución:
– Es generar primero la solución, y después
crear un enunciado a su alrededor.
11
primero problema vs primero solución
• Generar un polinomio con raíces enteras:
http://docs.wiris.com/quizzescourse/2.0/es/example/roots.html
• Generar una matriz diagonalizable:
http://docs.wiris.com/quizzescourse/2.0/es/example/diag.html
12
Raíces enteras
13
Matriz diagonalizable
14
Tareas
• ...
15
Descargar

PPT - WIRIS docs