Publicado el 9 de Agosto del 2019
1.028 visualizaciones desde el 9 de Agosto del 2019
6,0 MB
111 paginas
Creado hace 11a (03/08/2012)
Gerardo M. Sarria M. - Mario Julián Mora
Borrador de 3 de agosto de 2012
Introducción a la Programación
D R A F T
D R A F T
Este libro fue creado usando LATEX.
Ningún animal fue maltratado durante el desarrollo de este escrito.
Copyright c 2012 - Gerardo M. Sarria M. y Mario Julián Mora
Dedicado a las todas las hamburguesas y las gaseosas del mundo...
D R A F T
D R A F T
Índice general
Índice de figuras
Índice de cuadros
Índice de algoritmos
1. Introducción
11
7
9
13
13
14
16
D R A F T
19
19
24
27
65
65
74
83
29
29
37
39
39
52
53
53
63
5
4. Noción de Abstracción
4.1. Abstracción de Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5. Noción de Condición
5.1. Condición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Noción de Repetición
6.1.
Iteración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Recursión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. Ejercicios
1.1. Sobre este libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Sobre los algoritmos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Para los profesores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Noción de Sistema
2.1. Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Observación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Noción de Estado
3.1. Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Ejercicios
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Índice general
Bibliografía
111
7.1. Listas
7.2. Ejercicios
87
87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7. Noción de Abstracción de Datos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D R A F T
6
2.1. Sistema Solar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Cajero electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Wiimote y consola Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Algunos sistemas y un modelo computacional de ellos
. . . . . . . . . . . .
3.1. Mundo de la Tortuga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Cambios de estado en el Mundo de la Tortuga . . . . . . . . . . . . . . . . .
3.3. Estado inicial y final para dibujar una persona . . . . . . . . . . . . . . . .
3.4. Problema de sacar la tortuga del laberinto . . . . . . . . . . . . . . . . . . .
3.5. Solución al problema de sacar la tortuga del laberinto . . . . . . . . . . . .
3.6. Problema de llevar la tortuga donde su mamá . . . . . . . . . . . . . . . . .
D R A F T
6.1. Flujo de ejecución de la función adivinar() . . . . . . . . . . . . . . . . . .
6.2. Posiciones del juego Triqui . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. Fractal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4. Flujo de ejecución de la función factorial(5) . . . . . . . . . . . . . . . .
6.5. Torres de Hanoi - Configuración inicial . . . . . . . . . . . . . . . . . . . . .
6.6. Torres de Hanoi - Configuración final . . . . . . . . . . . . . . . . . . . . . .
6.7. Torres de Hanoi - Configuración intermedia 1 . . . . . . . . . . . . . . . . .
6.8. Torres de Hanoi - Configuración intermedia 2 . . . . . . . . . . . . . . . . .
6.9. Torres de Hanoi - Proceso completo para n = 4 . . . . . . . . . . . . . . . .
6.10. Triángulo de Sierpinski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1. Estado inicial del problema de mayoría de edad . . . . . . . . . . . . . . . .
5.2. Los dos posibles casos del problema de mayoría de edad . . . . . . . . . . .
5.3. Flujo de ejecución de la función esMayorDeEdad() . . . . . . . . . . . . . .
5.4. Tablero de tiro al blanco . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. Resultado de aplicar el algoritmo para dibujar una casa cuatro veces . . . .
43
4.2. Resultado esperado de aplicar el algoritmo para dibujar una casa cuatro veces 44
7.1. Juego Ahorcado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
Índice de figuras
19
20
21
23
30
31
33
36
36
38
55
56
57
58
68
69
75
77
78
78
79
79
81
82
7
ÍNDICE DE FIGURAS
8
92
7.2. Saludo Inicial en el juego Ahorcado . . . . . . . . . . . . . . . . . . . . . . .
96
7.3. Etapas del ahorcado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4. Estados finales del juego ahorcado . . . . . . . . . . . . . . . . . . . . . . .
99
7.5. Buscaminas en Windows 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.6. Ventana del juego de las elecciones . . . . . . . . . . . . . . . . . . . . . . . 109
D R A F T
Índice de cuadros
3.1. Operaciones básicas en el Mundo de la Tortuga . . . . . . . . . . . . . . . .
3.2. Operaciones de colores en el Mundo de la Tortuga . . . . . . . . . . . . . .
5.1. Operaciones y constantes clásicas de un sistema Booleano . . . . . . . . . .
5.2. Operaciones básicas de un sistema de números aleatorios . . . . . . . . . . .
5.3. Operaciones básicas de un sistema de cadenas de texto . . . . . . . . . . . .
4.1. Operaciones de posicionamiento y orientación en el Mundo de la Tortuga .
4.2. Operaciones y constantes clásicas de un sistema matemático . . . . . . . . .
4.3. Porcentaje de notas de un curso Introducción a la Programación . . . . . .
4.4. Operación de escritura en el Mundo de la Tortuga . . . . . . . . . . . . . .
D R A F T
7.1. Operaciones básicas del sistema de listas . . . . . . . . . . . . . . . . . . . .
7.2. Operaciones básicas y algunas constantes del sistema Pygame . . . . . . . .
7.3. Operaciones básicas del módulo de fuentes en el sistema Pygame . . . . . .
7.4. Operaciones básicas del módulo de superficies en el sistema Pygame . . . .
7.5. Operaciones básicas del módulo de rutas de archivos del sistema operativo .
6.1. Operaciones básicas de entrada y salida . . . . . . . . . . . . . . . . . . . .
6.2. Operaciones básicas del sistema Tkinter . . . . . . . . . . . . . . . . . . . .
6.3. Operaciones para dibujar en un Canvas de Tkinter . . . . . . . . . . . . . .
33
37
46
48
49
50
54
59
62
69
81
84
90
91
94
94
96
9
ÍNDICE DE CUADROS
D R A F T
10
D R A F T
14
1.1. Carga del sistema matemático . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.2. Carga del sistema de la Tortuga . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.1. Dibuja una persona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.2. Sale del laberinto cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.1. Dibuja las extremidades de una persona . . . . . . . . . . . . . . . . . . . . .
40
4.2. Dibuja el tronco de una persona . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.3. Dibuja la cabeza de una persona . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.4. Dibuja completamente una persona . . . . . . . . . . . . . . . . . . . . . . .
42
4.5. Dibuja una casa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.6. Dibuja cuatro casas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.7. Dibuja una casa con posición . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.8. Dibuja cuatro casas especificando las posiciones
. . . . . . . . . . . . . . . .
47
4.9. Dibuja la letra A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.10. Retorna la nota final del curso . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.11. Escribe la nota final del curso
. . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.12. Retorna la longitud de la hipotenusa de un triángulo rectángulo . . . . . . .
51
4.13. Retorna el día del Domingo de Pascua . . . . . . . . . . . . . . . . . . . . . .
56
5.1. Retorna si un número es mayor o igual a 18 . . . . . . . . . . . . . . . . . . .
59
5.2. Retorna el puntaje dado un disparo . . . . . . . . . . . . . . . . . . . . . . .
60
5.3. Simula un juego de tiro al blanco . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Escribe correctamente la fecha del domingo de Pascua . . . . . . . . . . . . .
61
5.5. Retorna el medio de transporte para ir a un sitio de acuerdo a unas condiciones 63
66
6.1. Juego de adivinar un número, sin ciclo
. . . . . . . . . . . . . . . . . . . . .
6.2. Juego de adivinar un número, con ciclo . . . . . . . . . . . . . . . . . . . . .
67
70
6.3. Juego de Triqui incompleto . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
6.4. Desglose de dinero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
6.5.
Imprime la lista de número primos entre 1 y n . . . . . . . . . . . . . . . . .
6.6. Recibe líneas de código y quita los comentarios . . . . . . . . . . . . . . . . .
74
76
6.7. Halla el factorial de un número n . . . . . . . . . . . . . . . . . . . . . . . .
80
Imprime el proceso para solucionar las torres de hanoi de n discos . . . . . .
6.8.
6.9. Dibuja el triángulo de Sierpinski
. . . . . . . . . . . . . . . . . . . . . . . . .
83
89
7.1. Juego ahorcado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Índice de algoritmos
11
ÍNDICE DE ALGORITMOS
12
tienen mina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
93
. . . . . . . . . . . . . . . . . . . . . .
7.2. Pantalla de inicio del juego ahorcado
95
7.3. Dibuja/Actualiza la pa
Comentarios de: Introducción a la Programación (0)
No hay comentarios