Comunidad de Programadores
Iniciar sesión
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Recordar contraseña?
Iniciar sesión
Crear cuenta
Documentación y Recursos
Cursos y Manuales
Biblioteca de Temas
Código Fuente
Noticias/Artículos
PDFs de programación
Foros y Consultas
Foros de Consulta
Chats de prog.
Tablón de Notas
Diccionario informático
Programadores
Programadores
Ofertas de Trabajo
Programas
Programas/Utilidades
Nuestros Programas
Iconos y Cursores
Preguntas/Respuestas
Otros
Utilidades
Colaboradores
Encuestas/Estadísticas
Contactar
LWP
»
PDFs de programación
»
MySQL
» Algoritmos y Programación I - Aprendiendo a programar usando Python como herramienta
PDF de programación - Algoritmos y Programación I - Aprendiendo a programar usando Python como herramienta
Volver
Filtrado por el tag: MySQL
<<
>>
Algoritmos y Programación I - Aprendiendo a programar usando Python como herramienta
Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Octubre del 2017)
5.562 visualizaciones desde el 9 de Octubre del 2017
2,7 MB
248 paginas
Creado hace 11a (27/05/2013)
Algoritmos y Programación I
Aprendiendo a programar usando Python como
herramienta
Contenidos
Prólogo
1. Conceptos básicos
.
1.1. Computadoras y programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. El mito de la máquina todopoderosa . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Cómo darle instrucciones a la máquina usando Python . . . . . . . . . . . . . . .
1.4. Devolver un resultado .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Una instrucción un poco más compleja: el ciclo definido . . . . . . . . . . . . . . .
1.5.1. Ayuda desde el intérprete . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Construir programas y módulos
1.7. La forma de un programa Python . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8. Estado y computación .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9. Depuración de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
2. Programas sencillos
.
2.3.1. Nombres .
.
2.3.2. Expresiones .
2.1. Construcción de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Realizando un programa sencillo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Piezas de un programa Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. No sólo de números viven los programas . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
2.5.
.
.
2.6. Ciclos definidos .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7. Una guía para el diseño .
2.8. Ejercicios .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instrucciones .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Funciones
Imprimir versus Devolver .
3.1. Documentación de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Cómo usar una función en un programa . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Más sobre los resultados de las funciones . . . . . . . . . . . . . . . . . . . . . . .
3.5. Un ejemplo completo .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Devolver múltiples resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Resumen .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Ejercicios .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
8
10
10
11
12
16
16
18
19
20
21
23
24
25
25
26
28
28
29
30
31
31
32
33
34
34
35
36
38
39
42
43
45
4. Decisiones
CONTENIDOS
.
4.1. Expresiones booleanas .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1. Expresiones de comparación . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2. Operadores lógicos .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Comparaciones simples
4.3. Múltiples decisiones consecutivas
4.4. Ejercicios .
4.5. Resumen .
4.6. Ejercicios .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. Más sobre ciclos
.
.
.
.
5.1. Ciclos indefinidos .
.
5.2. Ciclo interactivo .
.
.
.
5.3. Ciclo con centinela .
.
5.4. Cómo romper un ciclo .
.
5.5. Ejercicios .
.
5.6. Resumen .
5.7. Ejercicios .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Cadenas de caracteres
.
.
6.1. Operaciones con cadenas .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1. Obtener el largo de una cadena . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.2. Recorrer una cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3. Acceder a una posición de la cadena . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
6.2. Segmentos de cadenas .
6.3. Las cadenas son inmutables .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4. Procesamiento sencillo de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Nuestro primer juego .
6.6. Ejercicios .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
6.7. Resumen .
6.8. Ejercicios .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7. Tuplas y listas
.
7.1. Tuplas .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.1. Elementos y segmentos de tuplas . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2. Las tuplas son inmutables . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.3. Longitud de tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.4. Empaquetado y desempaquetado de tuplas . . . . . . . . . . . . . . . . . .
7.1.5. Ejercicios con tuplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1. Longitud de la lista. Elementos y segmentos de listas . . . . . . . . . . . .
7.2.2. Cómo mutar listas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.3. Cómo buscar dentro de las listas . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1. Ejercicios con listas y cadenas . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7.2. Listas .
.
7.3. Ordenar listas .
.
7.4. Listas y cadenas .
7.5. Resumen .
7.6. Ejercicios .
3
46
46
47
47
48
51
53
53
55
57
58
58
60
61
63
64
65
67
67
67
68
68
69
70
71
74
80
80
81
83
83
83
84
84
85
86
86
87
87
88
94
94
95
95
98
4
CONTENIDOS
8. Algoritmos de búsqueda
100
8.1. El problema de la búsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.2. Cómo programar la búsqueda lineal a mano . . . . . . . . . . . . . . . . . . . . . 101
8.3. Búsqueda lineal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.4. Buscar sobre una lista ordenada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.5. Búsqueda binaria .
8.6. Resumen .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
.
8.7. Ejercicios .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9. Diccionarios
109
9.1. Qué es un diccionario .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.2. Utilizando diccionarios en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.3. Algunos usos de diccionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.4. Resumen .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.5. Ejercicios .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10. Contratos y Mutabilidad
.
.
.
.
.
.
10.1. Pre y Postcondiciones .
.
10.1.1. Precondiciones .
10.1.2. Postcondiciones .
.
10.1.3. Aseveraciones .
10.1.4. Ejemplos .
.
.
.
.
114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
.
10.2.1. Comprobación de invariantes desde el código . . . . . . . . . . . . . . . . 117
10.3. Mutabilidad e Inmutabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.3.1. Parámetros mutables e inmutables . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.4. Resumen .
.
10.5. Apéndice - Acertijo MU .
.
10.2. Invariantes de ciclo .
.
.
.
.
.
.
.
.
.
.
.
.
.
11. Manejo de archivos
.
.
.
.
.
122
11.1. Cerrar un archivo .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
11.2. Ejemplo de procesamiento de archivos . . . . . . . . . . . . . . . . . . . . . . . . . 123
11.3. Modo de apertura de los archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
11.4. Escribir en un archivo .
. . . . .
Links de descarga
http://lwp-l.com/pdf7161
Comentarios de: Algoritmos y Programación I - Aprendiendo a programar usando Python como herramienta (0)
No hay comentarios
Comentar...
Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
Cerrar
Cerrar
Cerrar
Cerrar
Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.
Puedes registrarte o validarte desde
aquí
.
Es necesario revisar y aceptar las políticas de privacidad
Acepto las
políticas de privacidad
Tags:
algoritmo
algoritmos
base
base de datos
bases de datos
c
c++
computación
comunicaciones
correo electrónico
django
estructura de datos
estructuras de datos
fibonacci
haskell
herencia
informática
internet
java
juego
juegos
lan
lenguaje c
lenguajes de programación
linux
lógica
macintosh
matemáticas
math
mergesort
object
otros lenguajes
paradigma de programación
pascal
perl
php
programación
programación orientada a objetos
pseudocódigo
python
quicksort
red hat
ruby
scheme
sistema operativo
sistemas operativos
software
software libre
solaris
unix
windows
zope
Adobe Dreamweaver - Ayuda y tutoriales
Hackers & Developers #7
Comentarios de: Algoritmos y Programación I - Aprendiendo a programar usando Python como herramienta (0)
No hay comentarios