Archivo para la Etiqueta ‘lenguajes de programación’

Día 8 “Hola Mundo en Python”

Llego el momento!!, bueno ya era hora después de una serie de post introductorios vamos a aprender a realizar nuestro primer programa en este fabuloso lenguaje, pero antes tengo que mencionar que existen dos formas de ejecutar código Python. Podemos escribir líneas de código en el intérprete y obtener una respuesta del intérprete para cada línea (sesión interactiva) o bien podemos escribir el código de un programa en un archivo de texto y ejecutarlo.
El primer programa que vamos a escribir en Python es el clásico Hola Mundo, y en este lenguaje es tan simple como:

print “Hola Mundo”

Vamos a probarlo primero en el intérprete. Ejecuta python, escribe la línea anterior y pulsa Enter. El intérprete responderá mostrando en la consola el texto Hola Mundo.

Vamos ahora a crear un archivo de texto con el código anterior, de forma que pudiéramos distribuir nuestro pequeño gran programa entre nuestros amigos. Abre tu editor de texto preferido o bien el IDE que hayas elegido y copia la línea anterior. Guárdalo como hola.py, por ejemplo.
Ejecutar este programa es tan sencillo como indicarle el nombre del archivo a ejecutar al intérprete de Python

python hola.py

pero vamos a ver cómo simplificarlo aún más.
Si utilizas Windows los archivos .py ya estarán asociados al intérprete de Python, por lo que basta hacer doble clic sobre el archivo para ejecutar el programa. Sin embargo como este programa no hace más que imprimir un texto en la consola, la ejecución es demasiado rápida para poder verlo si quiera. Para remediarlo, vamos a añadir una nueva línea que espere la entrada de datos por parte del usuario.

print “Hola Mundo”
raw_input()

De esta forma se mostrará una consola con el texto Hola Mundo hasta que pulsemos Enter.
Si utilizas Linux (u otro Unix) para conseguir este comportamiento, es decir, para que el sistema operativo abra el archivo .py con el intérprete adecuado, es necesario añadir una nueva línea al principio del archivo:

#!/usr/bin/python
print “Hola Mundo”
raw_input()

A esta línea se le conoce en el mundo Unix como shebang, hashbang o sharpbang. El par de caracteres #! indica al sistema operativo que dicho script se debe ejecutar utilizando el intérprete especificado a continuación. De esto se desprende, evidentemente, que si esta no es la ruta en la que está instalado nuestro intérprete de Python, es necesario cambiarla.

hola.py

Día 6 “Compiladores vs Intérpretes”

Hola a todos, ya estamos en la recta final sobre los post introductorios, hoy hablaremos sobre lenguajes de alto nivel, bajo nivel, diferencias entre compiladores e interpretes, pitón es un lenguaje interpretado, que significa eso?.
Hace varios años atrás existía el llamado lenguaje ensamblador, es decir los programas se introducían en el computador directamente en código maquina.
En la actualidad usamos lenguajes que se parecen más a nuestro lenguaje natural, eliminan parte de la complejidad propia de los lenguajes ensambladores, a este tipo de lenguaje lo llamamos lenguajes de alto nivel, en la otra vereda tenemos a los lenguajes de bajo nivel que son los lenguajes ensambladores ( código maquina ).
Ahora los lenguajes de alto nivel se pueden compilar o interpretar dependiendo del lenguaje de programación, por ejemplo C se compila, pero en cambio Pitón se interpreta.
Un compilador lee completamente un programa en un lenguaje de alto nivel y lo traduce en su integridad a un programa de código maquina equivalente. El programa de código de máquina resultante se puede ejecutar cuantas veces desees, sin necesidad de volver a traducir el programa original.
Un intérprete actúa de modo distinto, lee un programa escrito en lenguaje de alto nivel instrucción a instrucción y, para cada una de ellas, efectúa una traducción a las instrucciones de código maquina equivalente y las ejecuta inmediatamente. Cada vez que ejecutamos el programa con un interprete, se repite el proceso de traducción y ejecución, ya que ambos son simultáneos.

Día 5 “Intro Algoritmos”

Quizás tu que ya sabes programar, debe de ser muy latoso todo este tema introductorio, pero he pensado a cuantos les va a servir, deben de ser a muchos.
En este post hablaremos de los algoritmos.
Un algoritmo es, sencillamente, una secuencia de pasos orientada a la consecución de un objetivo.
Cuando diseñamos un algoritmo podemos expresarlo en uno de los numerosos lenguajes de programación, sin embargo ello resulta poco adecuado, ya que no todos los programadores conocen todos los lenguajes y no hay consenso acerca de cuál es el más adecuado para expresar las soluciones a los diferentes problemas y además los lenguajes de programación presentan particularidades que pueden interferir en una expresión clara y concisa de la solución del problema.
Podemos expresar los algoritmos en lenguaje natural, pues el objetivo es comunicar un procedimiento resolutivo a otras personas y, eventualmente, traducirlos a algún lenguaje de programación.
Por ejemplo si deseamos calcular la media de tres números leídos de teclado podemos seguir el siguiente algoritmo.
1. solicitar el valor del primer número
2. solicitar el valor del segundo número
3. solicitar el valor del tercer número
4. sumar los tres números y dividir el resultado por 3
5. mostrar el resultado
CUIDADO, no es cierto que cualquier procedimiento descrito paso a paso pueda considerarse un algoritmo, un algoritmo debe satisfacer ciertas condiciones.
Estas condiciones son :
· Debe de tener cero o más datos de entrada.
· Debe proporcionar uno o más datos de salida como resultado
· Cada paso del algoritmo, ha de estar definido con exactitud, sin la menor ambigüedad
· Ha de ser finito, es decir debe finalizar tras la ejecución de un número finito de pasos, cada uno de los cuales ha de ser ejecutable en tiempo finito
· Debe ser efectivo, es decir, cada uno de sus pasos ha de poder ejecutarse en tiempo finito con unos recursos determinados.
· Además los algoritmos deben de ser eficientes, esto es, que alcancen su objetivo lo más rápidamente posible y con menor consumo de recursos.
Este tema es bastante profundo, te recomiendo buscar en google referencia de algoritmos, además en este post subo 3 paper en formato pdf sobre algoritmos ( paper básico) de PUCV que esta bien bueno, ahí hay cosas que vamos a ver después.

Día 3 “Intro Computadoras”

Este blog pretende enseñar el lenguaje de programación “PYTHON” a todos quienes deceen aprenderlo, muchos quienes leerán este post podrian ser principiantes en esto de la programación, es por esto que antes de empezar a programar necesitaremos saber algunas cosas antes, por esto vamos a realizar una serie de post de introducción en donde analizaremos distintos temas, el primero que trataremos va ser de “Computadoras”.

Computadoras

Se define computador electrónico como “Maquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos de tratamientos de la información, capaz de resolver problemas matemáticos y lógicos mediante la utilización automática de programas informáticos, esta definición que nos da la Real Academia Española, nos da indicaciones de elementos básicos del computador

  • la memoria
  • y algún dispositivo capaz de efectuar cálculos matemáticos y lógicos.
La memoria es un gran almacén de información. En la memoria almacenamos todo tipo de datos, el dispositivo encargado de efectuar operaciones matamáticas y lógicas, recibe el nombre de Unidad Aritmético-Lógica(UAL), es como una calculadora capaz de trabajar con esos datos y producir, a partir de ellos, nuevos datos(el resultado de las operaciones). Otro dispositivo se encarga de transportar la información de la memoria a la UAL, de controlar a la UAL para que efectúe las operaciones pertinentes y depositar los resultados en la memoria: la Unidad de Control.
El conjunto que forman la Unidad de Control y la UAL se comoce por Unidad Central de Proceso (CPU).
En conclusión podemos imaginar la memoria como un armario enorme con cajones numerados y la CPU como una persona que, equipada con una calculadora(la UAL), es capaz de buscar operandos en la memoria, efectuar cálculos con ellos y dejar los resultados en la memoria.
Cada uno de los “cajones” que conforman la memoria recibe el nombre de celda (de memoria) y el número que lo identifica es su posición o dirección, aunque algunas veces usamos estos terminos para referirnos a la misma celda.
Cada posición de memoria permite almacenar una secuencia de unos y ceros de tamaño fijo, porque unos y ceros , por que las computadoras trabajan con números binarios, es decir que pueden adoptar 2 posibles estados: encendido/apagado, uno/cero, cierto/falso, etc.
Entonces preguntaras si es posible representar imagenes, musica, documentos con unos y ceros, la respuesta es SÍ.
Nota: Este post es un extracto del libro “Introducción a la Programación con Python”, adaptado por mí.
Nota2: Si te resulto algo complicado revisa Wikipedia 
Nota3: Proximo post números binarios.