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
2.359 visualizaciones desde el 24 de Mayo del 2018
1,2 MB
341 paginas
Creado hace 9a (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: [email protected]
© 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: [email protected]

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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad