24
Aprenda a Pensar Como un Programador con Python

Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

  • Upload
    leliem

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Aprenda a Pensar Como un Programador

con Python

Page 2: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 3: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Aprenda a Pensar Como un Programador

con Python

Allen Downey

Jeffrey Elkner

Chris Meyers

Traducido por

Angel Arnal

I Juanes

Litza Amurrio

Efrain Andia

Green Tea Press

Wellesley, Massachusetts

Page 4: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Copyright c© 2002 Allen Downey, Jeffrey Elkner, y Chris Meyers.

Corregido por Shannon Turlington y Lisa Cutler.

Diseno de la cubierta por Rebecca Gimenez.

Green Tea Press1 Grove St.P.O. Box 812901Wellesley, MA 02482

Permiso esta concedido a copiar, distrubuir, y/o modificar este documento bajolos terminos del GNU Free Documentation License, Version 1.1 o cualquierposterior version publicado por el Free Software Foundation; con los InvariantesSecciones siendo “Prologo,” “Prefacio,” y “Lista de Contribuidores,” sin textode cubierta, y sin texto de contracubierta. Una copia de la licencia esta incluidoen el apendice titulado “GNU Free Documentation License.”

El GNU Free Documentation License esta disponible de www.gnu.org o escri-biendo al Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,MA 02111-1307, USA.

La forma original de este libro es LATEX codigo fuente. Compilando este LATEXfuente tiene el efecto de generar un dispositivo-independiente repesentacion deun libro de textos, cual puede ser convertido a otros formatos y imprimido.

El LATEX fuente para este libro y mas informacion del Libro de Texto de CodigoAbierto proyecto esta disponible de

http://www.thinkpython.com

Este libro estaba compuesto tipo utilizando LATEX y LyX. Los illustracionesestaban dibujados en xfig. Todos estes son gratis, programas de codigo abierto.

Historia de la impresion:

April 2002: Primera edicion.

ISBN 0-9716775-0-6

Page 5: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Indice general

1. El Camino del Programa 1

1.1. El lenguaje de programacin Python . . . . . . . . . . . . . . . . 1

1.2. Qu es un programa? . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Qu es la depuracin (debugging)? . . . . . . . . . . . . . . . . . 4

1.4. Lenguajes formales y lenguajes naturales . . . . . . . . . . . . . 6

1.5. El primer programa . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.6. Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Page 6: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 7: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Capıtulo 1

El Camino del Programa

El objetivo de este libro es de ensear al estudiante a pensar como lo hacen loscientficos informticos. Esta manera de pensar combina las mejores caractersti-cas de la matemtica, ingeniera, y las ciencias naturales. Como los matemticos,los cientficos informticos usan lenguas formales para designar ideas (especfica-mente, computaciones). Como los ingenieros, ellos disean cosas, ensamblandosistemas de componentes y evaluando ventajas y desventajas de cada una de lasalternativas. Como los cientficos, ellos observan el comportamiento de sistemascomplejos, forman hiptesis, y prueban sus predicciones.

La habilidad ms importante del cientfico informtico es la solucin de proble-mas. La solucin de problemas incluye poder formular problemas, pensar en lasolucin de manera creativa, y expresar una solucin clara y precisamente. Comose ver, el proceso de aprender a programar es la oportunidad perfecta para de-sarrollar la habilidad de resolver problemas. Por esa razn este captulo se llama“El Camino del programa.”

A cierto nivel, usted aprender a programar, lo cual es una habilidad muy til pors misma. A otro nivel, usted utilizar la programacin para obtener algn resultado.Ese resultado se vera mas claramente durante el proceso.

1.1. El lenguaje de programacin Python

El lenguaje de programacin que aprender es Python. Python es un ejemplar deun lenguaje de alto nivel; otros ejemplos de lenguajes de alto nivel son C,C++, Perl y Java.

Page 8: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

2 El Camino del Programa

Como se puede deducir de la nomenclatura “lenguaje de alto nivel,” tambinexisten lenguajes de bajo nivel, que tambin se los califica como lenguaje demquina o lenguaje de ensamblado. A propsito, las computadoras slo ejecutanprogramas escritos en lenguajes de bajo nivel. Los programas de alto nivel tienenque ser traducidos antes de ser ejecutados. Esta traduccin lleva tiempo, lo cuales una pequea desventaja de los lenguajes de alto nivel.

Aun as las ventajas son enormes. En primer lugar, la programacin en lenguajesde alto nivel es mucho ms fcil; escribir programas en un lenguaje de alto niveltoma menos tiempo, los programas son mas cortos y mas fciles de leer, y esmas probable que estos programas sean correctos. En segundo lugar, lenguajesde alto nivel son porttiles, lo que significa que pueden ser ejecutados en tiposdiferentes de computadoras sin modificacin alguna o con pocas modificaciones.Programas escritos en lenguajes de bajo nivel solo pueden ser ejecutados en untipo de computadora y deben ser re-escritos para ser ejecutados en otro.

Debido a estas ventajas, casi todo programa es escrito en un lenguaje de altonivel. Los lenguajes de bajo nivel son slo usados para unas pocas aplicacionesespeciales.

Hay dos tipos de programas que traducen lenguajes de alto nivel a lenguajesde bajo nivel: interpretadoras y compiladores. Una interpretadora lee unprograma de alto nivel y lo ejecuta, lo que significa que lleva a cabo lo queindica el programa. Traduce el programa poco a poco, leyendo y ejecutandocada comando.

CODIGOFUENTE

INTERPRETER SALIDA

Un compilador lee el programa y lo traduce todo al mismo tiempo, antes deejecutar alguno de los programas. A menudo se compila un programa como unpaso a parte, y luego se ejecuta el cdigo compilado. En este caso, al programade alto nivel se lo llama el cdigo fuente, y al programa traducido es llamadoel cdigo de objeto o el cdigo ejecutable.

COMPILADORCODIGOFUENTE

CODIGOOBJETO

SALIDAEJECUTOR

Page 9: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

1.2 Qu es un programa? 3

A Python se lo considera un lenguaje interpretado porque programas de Pythonson ejecutados por una interpretadora. Existen dos maneras de usar la interpre-tadora: modo de comando y modo de guin. En modo de comando se escribensentencias en el lenguaje Python y la interpretadora muestra el resultado.

$ python

Python 1.5.2 (#1, Feb 1 2000, 16:32:16)

Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam

>>>print 1 + 1

2

La primera lnea de este ejemplo es el comando que pone en marcha a la inter-pretadora Python. Las dos lneas siguientes son mensajes de la interpretadora.La tercera linea comienza con >>>, lo que es la invitacin de la interpretadorapara indicar que est listo. Escribimos 1+1 y la interpretadora contest 2.

Alternativamente, se puede escribir el programa en un archivo y usar la inter-pretadora para ejecutar el contenido de dicho archivo. El archivo es, en estecaso, llamado un guin. Por ejemplo, en un editor de texto se puede crear unarchivo latoya.py que contenga esta lnea:

print 1 + 1

Por acuerdo unnime, los archivos que contienen programas de Python tienennombres que terminan con .py.

Para ejecutar el programa, se le tiene que indicar el nombre del guin a la inter-pretadora.

$ python latoya.py

2

En otros entomos de desarrollo los detalles de la ejecucin de programas diferirn.Tambin, la mayora de programas son mas interesantes que el mencionado.

La mayora de ejemplos en este libro son ejecutados en la lnea de comando.La lnea de comando es ms conveniente para el desarrollo de programas y parapruebas rpidas porque se pueden pasar a mquina las instrucciones de Python ypueden ser ejecutados inmediatamente. Una vez que un programa esta completo,se lo puede archivar en un guin para ejecutarlo o modificarlo en el futuro.

1.2. Qu es un programa?

Un programa es una secuencia de instrucciones que especifican como ejecutaruna computacin. La computacin puede ser algo matemtico, como solucionarun sistema de ecuaciones o determinar las races de un polinomio, pero tambin

Page 10: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

4 El Camino del Programa

pueden ser una computacin simblica, como buscar y reemplazar el texto de undocumento o (aunque parezca raro) compilar un programa.

Las instrucciones (comandos, rdenes) tienen una apariencia diferente en lengua-jes de programacin diferentes, pero existen algunas funciones bsicas que se pre-sentan en casi todo lenguaje:

entrada: Recibir datos del teclado, o un archivo o otro aparato.

salida: Mostrar datos en el monitor o enviar datos a un archivo u otro aparato.

matemticas: Ejecutar operaciones bsicas de matemticas como la adicin y lamultiplicacin.

operacin condicional: Probar la veracidad de alguna condicin y ejecutar unasecuencia de instrucciones apropiada.

repeticin Ejecutar alguna accin repetidas veces, usualmente con algunavariacin.

Aunque sea difcil de creer, todos los programas en existencia son formulados ex-clusivamente de tales instrucciones. As, una manera de describir la programacines: El proceso de romper una tarea en tareas cada vez ms pequeas hasta queestas tareas sean suficientemente simples para ser ejecutada con una de estassimples instrucciones.

Quizs esta descripcin es un poco ambigua. No se preocupe. Explicaremos conmas detalle con el tema de algoritmos.

1.3. Qu es la depuracin (debugging)?

La programacin es un proceso complejo y a veces este proceso lleva a erroresindefinidos, tambin llamados defectos o errores de programacin (en ingls‘bugs’) y el proceso de buscarlos y corregirlos es llamado depuracin (en ingls‘debugging’).

Hay tres tipos de errores que pueden ocurrir en un programa. Es muy til distin-guirlos para encontrarlos mas rpido.

1.3.1. Errores sintcticos

Python slo puede ejecutar un programa si el programa est correcto sintctica-mente. Contrariamente, es decir si el programa no esta correcto sintcticamente,el proceso falla y devuelve un mensaje de error. El trmino sintctica se refiere a

Page 11: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

1.3 Qu es la depuracin (debugging)? 5

la estructura de cualquier programa y a las reglas de esa estructura. Por ejemp-lo, en espaol la primera letra de toda oracin debe ser mayscula. esta oracin tieneun error sintctico. Esta oracin tambin

Para la mayora de lectores, unos pocos errores no impiden la comprensin de lapoesa de e e cummings, la cual rompe muchas reglas de sintaxis. Sin embargoPython no es as. Si hay aunque sea un error sintctico en el programa, Pythonmostrar un mensaje de error y abortar la ejecucin del programa. Al principiousted pasar mucho tiempo buscando errores sintcticos, pero con el tiempo notendr tantos errores y los encontrar mas rpido.

1.3.2. Errores de tiempo de ejecucin

El segundo tipo de error es un error de tiempo de ejecucin. Este error apareceslo cuando de ejecuta el programa. Estos errores tambin se llaman excepcionesporque indican que algo excepcional ha ocurrido.

Con los programas que vamos a escribir al principio, errores de tiempo de eje-cucin ocurrirn con poca frecuencia.

1.3.3. Errores semnticos

El tercer tipo de error es el error semntico. Si hay un error de lgica en su pro-grama, el programa ser ejecutado sin ningn mensaje de error, pero el resultadono ser el deseado. El programa ejecutar la lgica que usted le dijo que ejecutara.

A veces ocurre que el programa escrito no es el programa que se tena en mente.El sentido o significado del programa no es correcto. Es difcil hallar errores delgica. Eso requiere trabajar al revs, comenzando por la salida (output) paraencontrar al problema.

1.3.4. Depuracin experimental

Una de las tcnicas ms importantes que usted aprender es la depuracin. Aunquea veces es frustrante, la depuracin es un proceso interesante, estimulante e int-electual.

La depuracin es una actividad parecida a la tarea de un investigador: se tienenque estudiar las claves para inducir los procesos y eventos the llevarn a losresultados previstos.

La depuracin tambin es una ciencia experimental. Una vez que se tiene la ideade el error, se modifica el programa y se intenta nuevamente. Si la hiptesis fue

Page 12: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

6 El Camino del Programa

la correcta se pueden predecir los resultados de la modificacin y estaremos mascerca a un programa correcto. Si la hiptesis fue la errnea tendr que idearse otrahiptesis. Como dijo Sherlock Holmes, “Cuando se ha descartado lo imposible, loque queda, no importa cuan inverosmil, debe ser la verdad.” (A. Conan Doyle,The Sign of Four)

Para algunas personas, la programacin y la depuracin son lo mismo: la progra-macin es el proceso de depurar un programa gradualmente hasta que el programatenga el resultado deseado. Esto quiere decir que el programa debe ser, desdeun principio, un programa que funcione, aunque su funcin sea solo mnima. Elprograma es depurado mientras el crece y se desarrolla.

Por ejemplo, aunque el sistema operativo Linux contenga miles de lneas deinstrucciones, Linus Torvalds lo comenz como un programa para explorar elmicroprocesador Intel 80836. Segn Larry Greenfield, “Uno de los proyectos tem-pranos de Linus fue un programa que intercambiara la impresin de AAAA conBBBB. Este programa se volvi en Linux” (de The Linux Users’ Guide VersinBeta 1).

Otros captulos tratarn ms con el tema de depuracin y otras tcnicas de progra-macin.

1.4. Lenguajes formales y lenguajes naturales

Lenguajes naturales son los lenguajes hablados por seres humanos, como elespaol, el ingls y el francs. Estos no han sido diseados artificialmente (aunquese traten de imponer), pues se han desarrollado naturalmente.

Lenguajes formales son lenguajes que son diseados por humanos y que tienenaplicaciones especficas. La notacin matemtica, por ejemplo, es un lenguaje for-mal ya que se presta a la representacin de las relaciones entre nmeros y smbolos.Los qumicos utilizan un lenguaje formal para representar la estructura qumicade las molculas. Es necesario notar que:

Lenguajes de programacin son lenguajes formales que hansido desarrollados para expresar computaciones.

Los lenguajes formales casi siempre tienen reglas sintcticas estrictas. Por ejem-plo, 3+ 3 = 6 es una expresin matemtica correcta, pero 3 = +6$ no lo es. De lamisma manera, H20 es una nomenclatura qumica correcta, pero 2Zz no lo es.

Existen dos clases de reglas sintcticas, en cuanto a unidades y estructura. Lasunidades son los elementos bsicos de un lenguaje, como lo son las palabras, losnmeros y los elementos qumicos. Por ejemplo, en 3=+6$, $ no es una unidad

Page 13: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

1.4 Lenguajes formales y lenguajes naturales 7

matemtica aceptada. Similarmente, 2Xx no es formal porque no hay ningnelemento con la abreviacin Zz.

La segunda clase de error sintctico est relacionado con la estructura de un el-emento; mejor dicho, el orden de las unidades. La estructura de la sentencia3=+6$ no es aceptada porque no se puede escribir el smbolo de igualdad seguidode un smbolo positivo. Similarmente, las frmulas moleculares tienen que mostrarel nmero de subndice despus del elemento, no antes.

A manera de prctica, trate de producir una oracin con estructura

aceptada pero que es compuesta de unidades irreconocibles. Luego

escriba otra oracin con unidades aceptables pero con estructura no

vlida.

Al leer una oracin, sea en un lenguaje natural o una sentencia en un lenguajetcnico, se debe discernir la estructura de la oracin. En un lenguaje natural esteproceso, llamado anlisis sintctico ocurre subconcientemente.

Por ejemplo cuando se escucha una oracin simple, se puede distinguir el sus-tantivo y el verbo. Cuando se ha analizado la oracin sintcticamente, se puedededucir el significado, o la semntica, de la oracin. Si se conoce el sustantivo y elverbo, se entender el significado de la oracin.

Aunque existen muchas cosas en comn entre los lenguajes naturales y los lengua-jes formales—por ejemplo las unidades, la estructura, la sintctica y la semntica—pero tambin existen muchas diferencias.

ambigedad: Los lenguajes naturales tienen muchsimas ambigedades, las quese entienden usando claves contextuales y otra informacin. Lenguajes for-males son diseados para ser completamente libres de ambigedades o tantocomo sea posible, lo que quiere decir que cualquier sentencia tiene slo unsignificado, no importe el contexto.

redundancia: Para reducir la ambigedad y los malentendidos, las lenguas nat-urales utilizan bastante redundancia. Como resultado tienen una abun-dancia de posibilidades para expresarse. Lenguajes formales son menosredundantes y mas concisos.

calidad literal: Los lenguajes naturales tienen muchas metforas y fraseshechas. El significado de un dicho, por ejemplo “Estirar la pata”, es difer-ente al significado de sus sustantivos y verbos. En este ejemplo, la oracin notiene nada que ver con un pie y significa ’morirse’. Los lenguajes formalesno difieren de el significado literal.

Page 14: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

8 El Camino del Programa

Los que aprenden a hablar un lenguaje natural—es decir todo el mundo—muchas veces tienen dificultad en adaptarse a los lenguajes formales. A vecesla diferencia entre los lenguajes formales y los naturales es comparable a ladiferencia entre la prosa y la poesa:

Poesa: Se utiliza una palabra por su cualidad auditiva tanto como por su sig-nificado. El poema, en su totalidad, produce un efecto o reaccin emocional.La ambigedad no es solo comn sino utilizada a propsito.

Prosa: El significado literal de la palabra es mas importante y la estructuracontribuye mas significado aun. La prosa se presta al anlisis mas que lapoesa, pero todava contiene ambigedad.

Programas: El significado de un programa es inequvoco y literal, y es enten-dido en su totalidad analizando las unidades y la estructura.

E aqu unas sugerencias para la lectura de un programa (y de otros lenguajesformales). Primero, recuerde que los lenguajes formales son mucho mas densosque los lenguajes naturales, y por consecuente lleva mas tiempo para leerlos.Tambin, la estructura es muy importante, entonces no es una buena idea leerlode pies a cabeza, de izquierda a derecha. En vez, aprenda a separar las difer-entes partes en su mente, identificar las unidades y interpretando la estructura.Finalmente, ponga atencin en los detalles. La fallas de puntuacin y la ortografaafectarn negativamente la ejecucin de su programa.

1.5. El primer programa

Tradicionalmente el primer programa en un lenguaje nuevo se llama “Hola to-do el mundo!” (Hello world!) porque solo muestra las palabras “Hola todo elmundo” (Hello world!). En el lenguaje Python es as:

print "Hola todo el mundo!"

Este es un ejemplo de una sentencia print, la cual no imprime nada en papel,mas bien muestra un valor. En este caso, el resultado es las palabras

Hola todo el mundo!

Las comillas sealan el comienzo y el final del valor; no aparecen en el resultado.

Alguna gente evala la calidad de un lenguaje de programacin por la simplicidadde el programa “Hola todo el mundo!”. Si seguimos ese criterio, Python cumplecon todas sus metas.

Page 15: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

1.6 Glosario 9

1.6. Glosario

solucin de problemas: El proceso de formular un problema, hallar la soluciny expresar la solucin.

lenguaje de alto nivel: Un lenguaje como Python que es diseado para ser fcilde leer y escribir para la gente.

lenguaje de bajo nivel: Un lenguaje de programacin que es diseado para serfcil de ejecutar para una computadora; tambin se lo llama “lenguaje demaquina” o “lenguaje de ensamblado”.

portabilidad: La cualidad de un programa que puede ser ejecutado en mas deun tipo de computadora.

interpretar: Ejecutar un programa escrito en un lenguaje de alto nivel tra-ducindolo lnea por lnea

compilar: Traducir un programa escrito en un lenguaje de alto nivel a unlenguaje de bajo nivel todo al mismo tiempo, en preparacin para la ejecucinposterior.

cdigo fuente: Un programa escrito en un lenguaje de alto nivel antes de sercompilado.

cdigo de objeto: La salida del compilador una vez que el programa ha sidotraducido.

programa ejecutable: Otro nombre para el cdigo de objeto que est listo paraser ejecutado.

guin: Un programa archivado (que va a ser interpretado).

programa: Un grupo de instrucciones que especifica una computacin.

algoritmo: Un proceso general para resolver una clase completa de problemas.

error (bug): Un error en un programa.

depuracin: El proceso de hallazgo y eliminacin de los tres tipos de errores deprogramacin.

sintaxis: La estructura de un programa.

error sintctico: Un error en un programa que hace que un programa sea im-posible de analizar sintcticamente (e imposible de interpretar).

error de tiempo de ejecucin: Un error que no ocurre hasta que el programaha comenzado a ejecutar e impide que el programa continue.

Page 16: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

10 El Camino del Programa

excepcin: Otro nombre para un error de tiempo de ejecucin.

error semntico: Un error en un programa que hace que ejecute algo que noera lo deseado.

semntica: El significado de un programa.

language natural: Cualquier lenguaje hablado que evolucion de forma natu-ral.

lenguaje formal: Cualquier lenguaje diseado que tiene un propsito especfico,como la representacin de ideas matemticas o programas de computadoras;todos los lenguajes de programacin son lenguajes formales.

unidad: Uno de los elementos bsicos de la estructura sintctica de un programa,anlogo a una palabra en un lenguaje natural.

anlisis sintctico: La examinacin de un programa y el anlisis de su estructurasintctica.

sentencia print: Una instruccin que causa que la interpretadora Pythonmuestre un valor en el monitor.

Page 17: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

1.6 Glosario 11

includechap02 clearemptydoublepage

Page 18: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 19: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

Indice alfabetico

algoritmo, 10ambigedad, 7anlisis sintctico, 10analizar sintcticamente, 7

cdigo de fuente, 10cdigo de objeto, 10cdigo ejecutable, 10calidad literal, 7compilar, 2, 10

depuracin, 10depuracin (debugging), 4Doyle, Arthur Conan, 6

errorsintaxis, 4tiempo de ejecucin, 5

error (bug), 4error de tiempo de ejecucin, 5, 10error semntico, 5, 10error sintctico, 4, 10error(bug), 10excepcin, 5, 10

formallenguaje, 6

guin, 10

Holmes, Sherlock, 6

instruccin, 4interpretar, 2, 10

lenguajealto nivel, 2bajo nivel, 2programacin, 1

lenguaje de alto nivel, 2, 10lenguaje de bajo nivel, 2, 10lenguaje de programacin, 1lenguaje formal, 6, 10lenguaje natural, 6, 10lenguaje seguro, 5Linux, 6

naturallenguaje, 6

poesa, 8porttil, 2portabilidad, 10print

sentencia, 8, 10programa, 10prosa, 8

redundancia, 7

segurolenguaje, 5

semntica, 5, 10semntico

error, 5sentencia print, 8, 10sintctica, 5sintaxis, 10solucin de problemas, 10

Page 20: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio

14 Indice alfabetico

unidad, 10

Page 21: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 22: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 23: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio
Page 24: Aprenda a Pensar Como un Programador - ibiblio.org · Aprenda a Pensar Como un Programador con Python AllenDowney JefireyElkner ChrisMeyers Traducidopor AngelArnal IJuanes LitzaAmurrio