Ir al contenido principal

Entradas

1.4. Lenguajes formales y lenguajes naturales

Los lenguajes naturales son los lenguajes hablados por seres humanos, como el español, el inglés y el francés. No los han diseñados personas (aunque se intente poner cierto orden en ellos), sino que se han desarrollado naturalmente. Los lenguajes formales son lenguajes diseñados por humanos y que tienen aplicaciones específicas. La notación matemática, por ejemplo, es un lenguaje formal ya que se presta a la representación de las relaciones entre números y símbolos. Los químicos utilizan un lenguaje formal para representar la estructura química de las moléculas. Y lo más importante: Los lenguajes de programación son lenguajes formales desarrollados para expresar computaciones. Los lenguajes formales casi siempre tienen reglas sintácticas estrictas. Por ejemplo, 3+3 = 6 es una expresión matemática correcta, pero 3 = +6$ no lo es. De la misma manera, H20 es una nomenclatura química correcta, pero 2Zz no lo es. Existen dos clases de reglas sintácticas, en cuanto a unidades y estruc...

1.5. El primer programa

Tradicionalmente el primer programa en un lenguaje nuevo se llama "Hola, mundo" (Hello world!) porque sólo muestra las palabras "Hola a todo el mundo". En Python es así: 1: print "Hola, mundo"   Este es un ejemplo de una sentencia print, la cual no imprime nada en papel, más bien muestra un valor. En este caso, el resultado es las palabras Hola, mundo Las comillas señalan el comienzo y el final del valor; no aparecen en el resultado. Alguna gente evalúa la calidad de un lenguaje de programación por la simplicidad del programa “Hola, mundo". Si seguimos ese criterio, Python cumple con todas sus metas.

1.6. Glosario

solución de problemas: El proceso de formular un problema, hallar la solución y expresar esa solución. lenguaje de alto nivel: Un lenguaje como Python diseñado para ser fácil de leer y escribir para la gente. lenguaje de bajo nivel: Un lenguaje de programación diseñado para ser fácil de ejecutar para un computador; también se lo llama lenguaje de máquina "o lenguaje ensamblador". portabilidad: La cualidad de un programa que le permite ser ejecutado en más de un tipo de computador. interpretar: Ejecutar un programa escrito en un lenguaje de alto nivel traduciéndolo línea por línea compilar: Traducir un programa escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel todo al mismo tiempo, en preparación para la ejecución posterior. código fuente: Un programa escrito en un lenguaje de alto nivel antes de ser compilado. código de objeto: La salida del compilador una vez que ha traducido el programa. programa ejecutable: Otro nombre para el código de obje...

Capítulo 2

Variables, expresiones y sentencias   2.1. Valores y tipos El valor es uno de los elementos fundamentales (como por ejemplo una letra o un numero) que manipula un programa. Los valores que hemos visto hasta el momento son 2 (el resultado de sumar 1 + 1) y Hola, mundo. Estos valores son de distintos tipos: 2 es un entero y Hola, mundo es una cadena, llamada así porque contiene una “cadena" de letras. Usted (y el interprete) puede identificar las cadenas porque están encerradas entre comillas. La sentencia print también funciona con enteros: >>> print 4 4 Si no esta seguro del tipo que tiene un determinado valor, puede preguntárselo al interprete de Python. >>> type( "Hola, mundo" ) <type 'string' > >>> type(17) <type 'int' > No es sorprendente que las cadenas sean de tipo string (cadena en ingles) y los enteros sean de tipo int (por integer en ingles). De forma menos obvia, los números con decimales (separado...

2.2. Variables

Una de las características mas potentes de los lenguajes de programación es la capacidad de manipular variables. Una variable es un nombre que hace referencia a un valor. La sentencia de asignación crea nuevas variables y les asigna un valor: >>> mensaje = "Que onda?" >>> n = 17 >>> pi = 3.14159 Este ejemplo muestra tres asignaciones. La primera de ellas asigna el valor "Que onda?" a una variable nueva, de nombre mensaje. La segunda le da el valor entero 17 a n, y la tercera le da el valor de numero en coma flotante 3.14159 a pi. Una forma habitual de representar variables sobre el papel es escribir el nombre con una flecha se~nalando al valor de la variable. Este tipo de representación se llama diagrama de estado, ya que muestra en que estado se halla cada una de las variables (considerelo como el \estado de animo" de la variable"). El siguiente diagrama muestra el efecto de las tres sentencias de asignación anteriores: La ...

2.3. Nombres de variables y palabras reservadas

Como norma general, los programadores eligen nombres significativos para sus variables: esto permite documentar para que se usa la variable. Los nombres de las variables pueden tener una longitud arbitraria. Pueden estar formados por letras y números, pero deben comenzar con una letra. Aunque es aceptable usar mayúsculas, por convención no lo hacemos. Si lo hace, recuerde que la distinción es importante: Bruno y bruno son dos variables diferentes. El guion bajo ( ) también es legal y se utiliza a menudo para separar nombres con múltiples palabras, como mi nombre o precio del cafe colombiano. Si intenta darle a una variable un nombre ilegal, obtendrá un error de sintaxis. 1: >>> 76trombones = "gran desfile" 2: SyntaxError: invalid 3: syntax 4: >>> mas$ = 1000000 5: SyntaxError: invalid 6: syntax 7: >>> class = "Curso de Programacion 101" 8: SyntaxError: 9: invalid syntax 76trombones es ilegal porq...

2.4. Sentencias

Una sentencia es una instrucción que puede ejecutar el interprete de Python. Hemos visto dos tipos de sentencias: print y la asignación. Cuando usted escribe una sentencia en la l³nea de comandos, Python la ejecuta y muestra el resultado, si lo hay. El resultado de una sentencia print es un valor. Las sentencias de asignación no entregan ningún resultado. Normalmente un guion contiene una secuencia de sentencias. Si hay mas de una sentencia, los resultados aparecen de uno en uno tal como se van ejecutando las sentencias. Por ejemplo, el guion 1: print 1 2: x = 2 3: print x 4: prsenta la salida 5: 1 6: 2 De nuevo, la sentencia de asignacion no produce ninguna salida.