Paper
ıfico de la
Computaci´n con Python
o
Como Pensar como un Cient´
ıfico de la
Computaci´n con Python
o
Allen Downey
Jeffrey Elkner
Chris Meyers
Traducido y adaptado por
Andr´s Becerra Sandoval
e
Pontificia Universidad Javeriana
Santiago de Cali, Colombia
Copyright c 2002 Allen Downey, Jeffrey Elkner, y Chris Meyers.
Pontificia Universidad JaverianaCalle 18 No. 118-250
A.A. No. 26239
Cali, Colombia
Se concede permiso para copiar, distrubuir, y/o modificar este documento bajo
los terminos de la GNU Free Documentation License, Versi´n 1.1 o cualquier
o
versi´n posterior publicada por la Free Software Foundation; con los Secciones
o
Invariantes siendo “Pr´logo,” “Prefacio,” y “Lista de Contribuidores,” sin texto
o
de cubierta, y sintexto de contracubierta. Una copia de la licencia est´ incluida
a
en el ap´ndice titulado “GNU Free Documentation License.”
e
La GNU Free Documentation License est´ disponible a trav´s de www.gnu.org
a
e
o escribiendo a la Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307, USA.
A
La forma original de este libro es c´digo fuente L TEX y compilarlo tiene elefecto
o
de generar un libro de texto en una repesentacion independiente del dispositivo
que puede ser convertida a otros formatos e imprimirse.
A
El c´digo fuente L TEX para este libro y mas informaci´n sobre este proyecto se
o
o
encuentra en:
http://www.thinkpython.com
A
Este libro ha sido preparado utilizando L TEX y las figuras se han realizado con
xfig. Todos estos son programasde c´digo abierto, gratuito.
o
Historia de la impresi´n:
o
Pr´logo
o
Por David Beazley
Como un educador, investigador, y autor de libro, estoy encantado de ver la
terminaci´n de este texto. Python es un lenguaje de programaci´n divertido y
o
o
extremadamente f´cil de usar que ha ganado renombre constantemente en los
a
a˜os recientes. Desarrollado hace diez a˜os por Guido vanRossum, la sintaxis
n
n
simple de Python y su “sabor” se derivan en gran parte del ABC, un lenguaje
de programaci´n para ense˜anza que se desarroll´ en los 1980s. Sin embargo,
o
n
o
Python tambi´n fue creado para resolver problemas reales y tiene una amplia
e
gama de caracter´
ısticas que se encuentran en lenguajes de programaci´n como
o
C++, Java, Modula-3, y Scheme. Debido a esto, uno delas caracter´
ısticas notables de Python es la atracci´n que ejerce sobre programadores profesionales,
o
cient´
ıficos, investigadores, artistas, y educadores.
A pesar de ´sta atracci´n en muchas comunidades diversas, usted puede todav´
e
o
ıa
preguntarse “¿porque Python?” o “¿porque ense˜ar programaci´n con Python?”
n
o
Responder ´stas preguntas no es una tarea f´cil— especialmentecuando la opie
a
ni´n popular est´ del lado masoquista de usar alternativas como C++ y Java.
o
a
Sin embargo, pienso que la respuesta mas directa es que la programaci´n en
o
Python es simplemente mas divertida y mas productiva.
Cuando ense˜o cursos de inform´tica yo quiero cubrir conceptos importantes,
n
a
hacer el material interesante y enganchar a los estudiantes. Desafortunadamente,hay una tendencia en la que los cursos de programaci´n introductorios dedican
o
demasiada atenci´n en la abstracci´n matem´tica y a hacer que los estudiantes
o
o
a
se frustren con problemas molestos relacionados con la sintaxis, la compilaci´n
o
y la presencia de reglas arcanas en los lenguajes. Aunque la abstracci´n y el
o
formalismo son importantes para los ingenieros de software y paralos estudiantes de ciencias de la computaci´n usar este enfoque hace a la inform´tica muy
o
a
aburrida. Cuando ense˜o un curso no quiero tener un grupo de estudiantes sin
n
inspiraci´n. Quisiera verlos intentando resolver problemas interesantes exploo
rando ideas diferentes, intentando enfoques no convencionales, rompiendo las
vi
Pr´logo
o
reglas, y aprendiendo de sus errores....
Regístrate para leer el documento completo.