PDF de programación - Introducción a la programación con Python

Imágen de pdf Introducción a la programación con Python

Introducción a la programación con Pythongráfica de visualizaciones

Publicado el 24 de Mayo del 2018
1.113 visualizaciones desde el 24 de Mayo del 2018
1,2 MB
341 paginas
Creado hace 5a (22/05/2014)
Introducción a la programación con

Python (2ed)

Andrés Becerra Sandoval

Traducción y Adaptación del libro
«How to think like a computer scientist, learning with Python»,
escrito por:
Allen Downey
Jeffrey Elkner
Chris Meyers

Facultad de Ingeniería

Rector: Luis Felipe Gómez Restrepo, S.J.
Vicerrectora Académica: Ana Milena Yoshioka Vargas
Vicerrector del Medio Universitario: Luis Fernando Granados Ospina, S.J.

Facultad de Ingeniería
Decano Académico: Jaime Alberto Aguilar Zambrano Ph.D
Directora del departamento de Ingeniería electrónica y computación: Gloria Inés Alvarez Vargas

Titulo: Introducción a la programación con Python
Titulo original: How to think like a computer scientist, learning with Python Autores: Allen Downey, Jeffrey Elkner,
Chris Meyers
Traducción y adaptación: Andrés Becerra Sandoval
Colección: Libro

ISBN: 978-958-8347-22-6

Coordinador Editorial: Ignacio Murgueitio
Email: mignacio@javerianacali.edu.co
© Derechos Reservados
© Sello Editorial Javeriano

Correspondencia, suscripciones y solicitudes de canje:
Calle 18 # 118-250
Santiago de Cali, Valle del Cauca
Pontificia Universidad Javeriana
Facultad de Ingeniería
Teléfonos: (57-2) 3218200 Exts. 8233 - 518 Fax 555 2823
Email: abecerra@javerianacali.edu.co

Formato 17 x 25 cms

Diseño de Carátula: Patricia Mejía, basada en una imagen de Ken Manheimer
http://myriadicity.net
Impresión: 2014

Se concede permiso para copiar, distribuir, y/o modificar este documento bajo los términos de la GNU Free Docu-
mentation License, Versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; manteniendo
sin variaciones las secciones “Prólogo,” “Prefacio,” y “Lista de contribuidores,” sin texto de cubierta, y sin texto de
contracubierta. Una copia de la licencia está incluida en el apéndice titulado “GNU Free Documentation License” y
una traducción de ésta al español en el apéndice titulado “Licencia de Documentación Libre de GNU”.
La GNU Free Documentation License también está disponible a través de www.gnu.org o escribiendo a la Free Soft-
ware Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
La forma original de este libro es código fuente LATEX y compilarlo tiene el efecto de generar un libro de texto en una
representación independiente del dispositivo que puede ser convertida a otros formatos e imprimirse.
El código fuente LATEX para este libro y mas información sobre este proyecto se encuentra en los sitios web:
http://cic.javerianacali.edu.co/~abecerra
https://github.com/abecerra/thinkcs-py_es
http://www.thinkpython.com
Este libro ha sido preparado utilizando LYX, LATEX y las figuras se han realizado con xfig. Todos estos son programas
de código abierto, gratuito.

Downey, Allen
Introducción a la programación con Python / Allen Downey, Jeffrey Elkner, Chris Meyers; traducido y adaptado por
Andrés Becerra Sandoval. – Santiago de Cali: Pontificia Universidad Javeriana, Sello Editorial Javeriano, 2014.
345 p. ; 26 cm.

Incluye referencias bibliográficas e índice.

ISBN 978-958-8347-22-6

1. Programación (computadores electrónicos) – Metodología 2. Python (lenguaje de programación para compu-
tadores) I. Meyer, Chris II. Pontificia Universidad Javeriana (Cali) III. How to think like a computer scientist: learning
with python IV. Tít.

SCDD 005.1

BPUJC

Índice general

Prólogo

Prefacio

Lista de los colaboradores

Traducción al español

1. Solución de problemas

XV

XIX

XXV

XXIX

Solución de acertijos
. . . . . . . . . . . . . . . . . . . . . . . . . . .
El método de solución . . . . . . . . . . . . . . . . . . . . . . . . . .
Reflexión sobre este método de solución . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .

1.1.
1.2.
1.3.
1.4. Acertijos propuestos
1.5. Mas allá de los acertijos: problemas computacionales
1.6. Glosario .
1.7.
Ejercicios .

1
1
4
7
8
9
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

.
.

.
.

.
.

2. El camino hacia el programa

13
El lenguaje de programación Python . . . . . . . . . . . . . . . . . . 14
¿Qué es un programa? . . . . . . . . . . . . . . . . . . . . . . . . . . 16
¿Qué es la depuración (debugging)? . . . . . . . . . . . . . . . . . . 17
Lenguajes formales y lenguajes naturales
. . . . . . . . . . . . . . . 19
El primer programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.1.
2.2.
2.3.
2.4.
2.5.
2.6. Glosario .
Ejercicios .
2.7.

.
.

.
.

.
.

V

VI

ÍNDICE GENERAL

3. Variables, expresiones y sentencias

.

.

.

.

.

.
.

Valores y tipos .
Variables .
.

27
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.
. . . . . . . . . . . . . 30
3.3. Nombres de variables y palabras reservadas
Sentencias
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.
Evaluando expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5.
3.6. Operadores y operandos . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.7. Orden de las operaciones . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.8. Operaciones sobre cadenas . . . . . . . . . . . . . . . . . . . . . . . . 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.9.
Composición .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.10. Comentarios .
.
.
3.11. Glosario .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.12. Ejercicios .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

.
.
.
.

.
.
.
.

.
.

4. Funciones

.

.

39
4.1.
Llamadas a funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.
Conversión de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.
Coerción de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4.
Funciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.
Composición .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.6. Agregando nuevas funciones . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.7. Definiciones y uso .
4.8.
Flujo de ejecución .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.9.
. . . . . . . . . . . . . . . . . . . . . . . . 47
Parámetros y argumentos
4.10. Las variables y los parámetros son locales . . . . . . . . . . . . . . . 48
4.11. Diagramas de pila .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.12. Funciones con resultados . . . . . . . . . . . . . . . . . . . . . . . . . 51
.
4.13. Glosario .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.14. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

.
.

.
.

.
.

.
.

5. Condicionales y recursión

55
El operador residuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.
Expresiones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.
5.3. Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

ÍNDICE GENERAL

VII

Ejecución condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4.
Ejecución alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.5.
Condicionales encadenados . . . . . . . . . . . . . . . . . . . . . . . 59
5.6.
. . . . . . . . . . . . . . . . . . . . . . . . . 60
Condicionales anidados
5.7.
La sentencia return
. . . . . . . . . 61
5.8.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Recursión .
5.9.
. . . . . . . . . . . . . 63
5.10. Diagramas de pila para funciones recursivas
5.11. Recursión infinita .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.12. Entrada por el teclado . . . . . . . . . . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.13. Glosario .
5.14. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

. . . . .

. . . . .

. . . . .

. . .

.
.

.
.

.
.

.

.

.

6. Funciones fructíferas

.

Valores de retorno .

69
6.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2. Desarrollo de programas . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Composición .
Funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.5. Más recursión .
6.6.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.7. Un ejemplo más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Chequeo de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.8.
6.9.
Pruebas unitarias con doctest
. . . . . . . . . . . . . . . . . . . . . . 81
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.10. Glosario .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.11. Ejercicios .

El salto de fe .

.
.

.
.

.
.

7. Iteración

.

.

.

.

. . . . .

85
. . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1. Asignación múltiple
La sentencia while (mientras)
. . 86
7.2.
Tablas .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3.
Tablas de dos dimensiones . . . . . . . . . . . . . . . . . . . . . . . . 91
7.4.
7.5.
Encapsulamiento y generalización . . . . . . . . . . . . . . . . . . . 92
7.6. Más encapsulamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.7.
Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.8. Mas generalización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

. . . . .

. . . . .

. . .

.

VIII

ÍNDICE GENERAL

7.9.
Funciones
7.10. Glosario .
7.11. Ejercicios .

.
.
.

.
.
.

.
.
.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
. . . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf11286

Comentarios de: Introducción a la programación con Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad