Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U01 Lecture Notes PDF
U01 Lecture Notes PDF
Lecture Notes
OBJETIVOS DE LA ASIGNATURA
OBJETIVO GENERAL:
OBJETIVOS ESPECÍFICOS:
CONTENIDOS:
https://youtu.be/nKIu9yen5nc
Programar no tiene que ser complicado, ni tiene que ser sobre codificar soluciones complejas. Yo
aprendí a programar a los 5 años, primero copiando código de otros, luego modificándolo para que haga
algo más y finalmente desarrollando mis propios programas.
Cuando nos referimos a una computadora generalmente consideramos dos aspectos bien distintos de la
misma, el hardware (fierro) y el software (la inteligencia). Sin un programa la computadora es uno de los
objetos más tontos e inútiles que existe. Necesitamos software y el software nos necesita a nosotros
para crearlo.
Los programas son creados utilizando un lenguaje de programación que es nada más que símbolos que
las computadoras entienden y nos permiten a nosotros dar órdenes e instrucciones a esta herramienta
tonta. De igual forma que existen múltiples idiomas en el mundo, existen múltiples lenguajes de
programación, unos más complicados (bajo nivel) que otros (alto nivel) de entender. Nosotros
trabajaremos con un lenguaje de alto nivel llamado Python.
Interpretadores y Compiladores
Imaginemos el siguiente escenario con dos personas que no hablan el mismo idioma pero necesitan
comunicarse; la primera persona dará varias instrucciones para que las ejecute la segunda persona. Es
necesario una tercera persona que conozca ambos idiomas y actúe como nexo entre los dos. Esta
persona nexo puede realizar su trabajo de las siguientes dos formas:
1. (Compilador) Nuestro nexo escucha completamente a la primera persona hasta que esta haya
terminado de expresar TODAS las instrucciones. Luego traduce y genera (“compila”) la lista de
tareas que debe transmitir a la segunda persona para que las ejecute.
2. (Intérprete) Nuestro nexo escucha a la primera persona e inmediatamente terminada de expresar
una tarea, la traduce y repite para que la segunda persona reciba y realice esa tarea.
Cada una de estas formas tiene sus ventajas y desventajas, que no es necesario profundizar en esta
oportunidad. Basta con decir que en general un compilador produce programas más pequeños y rápidos
que se ejecutan directamente sobre la computadora, mientas que los lenguajes interpretados son más
fáciles de aprender y utilizar bajo expensas de necesitar componentes adicionales (intérprete y
máquinas virtuales) para poder ser ejecutados. Python es un lenguaje interpretado.
Python puede ser descargado libre de costos en https://www.python.org/. Se recomienda trabajar con
la última versión disponible del lenguaje.
Una vez instalado, Python puede ser utilizado en modo interactivo o en modo script.
Modo interactivo
En modo interactivo usamos la consola de Python para escribir instrucciones que son ejecutadas
inmediatamente por el intérprete y apreciar el resultado. La consola de Python se obtiene mediante el
comando python.
La consola acepta cualquier instrucción definida por el lenguaje, la ejecuta y muestra el resultado.
Modo script
Esta modalidad nos permite escribir primero todas las instrucciones que deseo ejecutar en un archivo,
normalmente con extensión .py, y luego ejecutarlo. Se puede utilizar cualquier editor de texto simple
para escribir estos archivos. Nota: los archivos generados en Word normalmente NO son archivos de
texto simple.
Un IDE es una herramienta única que integra todos los comandos y configuraciones necesarias para
escribir, depurar y ejecutar un programa. Uno de los IDEs más usados para Python es PyCharm
Community Edition, disponible sin costos en https://www.jetbrains.com/pycharm/.
Es importante resaltar que Python y PyCharm no son lo mismo. Usted necesita de ambos para poder
crear y ejecutar programas. PyCharm NO reemplaza a Python, todo lo contrario, usa Python para poder
ejecutar un programa. La principal ventaje de PyCharm es que nos ofrece un editor de texto que
entiende la sintaxis de Python y nos permite llamar al comando python al momento de ejecutar nuestro
código, todo dentro de una interfaz gráfica de usuario agradable y fácil de usar.
Online IDEs
Una alternativa a instalar Python y PyCharm localmente en nuestras computadoras es usar IDEs
disponibles libremente en Internet, incluyendo:
1. Ideone.com (http://ideone.com/)
2. Repl.it (https://repl.it/languages/python3)
3. Nitrous.io (https://www.nitrous.io/)
De estas tres opciones, Nitrous.io es la más completa y poderosa porque permite definir diferentes
máquinas virtuales a las que se puede instalar nuevos módulos o paquetes y extender la funcionalidad
de Python. Es nuestra opción recomendada para el curso, principalmente para el desarrollo de los
deberes y el proyecto.
¿Recuerdan que mencionamos que las computadoras necesitan programas para funcionar y los
programas nos necesitan a nosotros para que los creemos? Un buen programa no sirve si no está
basado en un buen algoritmo.
Un programa no es más que una serie de instrucciones que la computadora ejecutará. Si estas
instrucciones no tienen un propósito bien definido, simplemente son una pérdida de tiempo. Los
algoritmos son una lista ordenada de pasos o instrucciones a realizar para lograr un objetivo final. En ese
sentido, los algoritmos son muy parecidos a una receta de cocina.
Antes de escribir un programa, debo pensar en el algoritmo que se usará. Entonces, un programa no es
más que la serie de instrucciones que le voy a comunicar a la computadora para que al ser ejecutadas se
lleve a cabo el algoritmo ideado. Sin algoritmos no puede haber un programa con propósito, solo serían
un conjunto de instrucciones.