Manual Animate A Programar
Manual Animate A Programar
Manual Animate A Programar
Programar
Talleres
País
Digital
TALLERES PAÍS DIGITAL | Animate a Programar
Animate a programar
INTRODUCCIÓN: REPENSAR LA PROGRAMACIÓN
Programar consiste en darle a la computadora instrucciones para que pueda com-
pletar una acción. Todo lo que hace la computadora, lo puede hacer porque alguien
2
ha preparado instrucciones que puede seguir, es decir, programas. Programar resulta
útil porque así logramos que la computadora se pueda encargar de mayor cantidad
de cosas, y de esa manera automatizarlas.
Pensá en acciones que hace veinte años se hacían manualmente y hoy en día se en-
cargan las computadoras. Acá te ponemos algunas ideas como punto de partida:
¿Existe alguna actividad tediosa que te gustaría que estuviese automatizada, es de-
cir, que se hiciese sola? En el siguiente espacio podés poner las que se te ocurran.
Ya pusimos tres para inspirarte.
ABC DE LA PROGRAMACIÓN
¿Qué idioma hablan las computadoras? Cuando hacemos click, tipeamos algo, o de
cualquier forma insertamos información en la computadora (ya sea programando
o usando cualquier aplicación), esta se “convierte” en señales electrónicas (electri-
cidad muy controlada e intermitente). De igual forma, cuando la computadora nos
proporciona alguna información, esta se da a través de señales eléctricas que se
traducen a las distintas manifestaciones visuales a las que estamos acostumbrados
(números, letras e imágenes). Así que, en cierta forma, el lenguaje de las computa-
doras es la electricidad: el procesador (la computadora, propiamente) recibe y envía
señales eléctricas a los otros componentes. De manera muy simplificada, podemos
decir que esta traducción (de información a electricidad y viceversa), se hace me-
diante el código binario, también llamado código o lenguaje máquina, el cual es bas-
tante parecido a otros códigos como el código morse, usado por el telégrafo.
Así como en el código morse las señales de luz o de sonido se traducen como pun-
tos o rayas según su duración -y los puntos y las rayas se pueden combinar para
expresar cualquier mensaje-, en el código binario las señales eléctricas se traducen
como 0 y 1, dependiendo de si son de 0 volts o de 5 volts; de esta forma, con 0 y 1
se puede codificar casi cualquier cosa: por ejemplo, la letra A en código binario es
01000001. Aunque parezca mentira, a las primeras computadoras, para ser usadas
o programadas, se les debía ingresar lenguaje máquina, que era un proceso suma-
mente tedioso y engorroso; sin embargo, a lo largo del siglo XX se trabajó en lograr
mayores grados de abstracción. Hoy en día, la mayoría de las aplicaciones ofrecen a
la persona usuaria interfaces bastantes amables que permiten que no se entere de
TALLERES PAÍS DIGITAL | Animate a Programar
Traducción a código binario de todos los caracteres usados en el idioma inglés (esta tabla no in-
cluye ñ ni letras acentuadas)
Quien quiera programar tiene a su disposición los llamados “lenguajes de alto nivel”,
como Python, Javascript y casi todos los que conocemos hoy en día. Estos usan
comandos de gran sofisticación en lenguaje humano (casi siempre en inglés), que
permiten en muchas menos líneas y de manera un poco más intuitiva darle coman-
dos bastante complejos a la computadora. Ella misma es la que se encargará de
decodificarlos hasta lenguaje máquina, mediante intérpretes o compiladores. Si bien
todos los lenguajes de alto nivel tienen un alto grado de abstracción, existen aque-
llos que son un poco menos abstractos que otros. Java y C, por ejemplo, son menos
abstractos que Python y Javascript.
Lógicas de la programación
¿De qué son capaces las computadoras? A pesar de que las computadoras cumplen
muchas funciones, las computadoras pueden, en esencia, hacer muy pocas cosas.
• Pueden almacenar números y palabras (valores) y grupos de valores.
• Pueden sumar, restar, multiplicar, dividir, etc. (operaciones matemáticas).
• Pueden comparar valores y determinar en qué se parecen y en qué son distintos
(operaciones lógicas).
• Pueden repetir de manera constante y regular una serie de acciones, tanto ilimita-
damente como por una cantidad determinada de veces.
TALLERES PAÍS DIGITAL | Animate a Programar
Una computadora común puede hacer todo esto a una impresionante velocidad de
100 millones de operaciones por segundo. Es justamente en la velocidad de proce-
samiento donde reside la magia de las computadoras. Al combinar de manera crea-
tiva operaciones matemáticas y lógicas como las anteriormente mencionadas a se-
mejante velocidad, se logra hacer todo aquello que hacemos con las computadoras.
Aunque los lenguajes de programación se han vuelto cada vez más accesibles, aún
son lenguajes “computadoriles”, por lo que el desafío más grande para quien progra-
ma sigue siendo el de “ponerse en el lugar de la computadora”: pensar secuencias
con comandos lógicos o matemáticos (también llamados algoritmos) que la compu-
tadora pueda resolver. Por suerte, hay varios procedimientos que ya están estandari-
zados y que atraviesan todos los lenguajes de programación. Estos son:
• El uso de variables
• El uso de condicionales
• El uso de ciclos o bucles
• El uso de funciones
• El uso de listas y conjuntos de datos
Este ejemplo usa dos bucles: funciones y conjuntos de datos. Veremos en qué con-
siste cada uno, y cómo se traducirían al lenguaje Python.
En Python, para insertar un bucle, se recurre a las palabras claves for o while. En el
ejemplo que hemos desarrollado, usamos dos bucles for, respetando la sintaxis de
Python, que indica que las funciones dentro de un bucle (es decir, lo que venga des-
pués de los dos puntos), deben tener más sangría.
Las listas y los diccionarios actúan de manera similar a las variables, en el sentido
de que así como en el ejemplo anterior al invocar X obteníamos 500 (el valor que
designaba), si invocamos el nombre del diccionario (en este caso “frecuencias”), ob-
tendremos todos los elementos que están en su interior. Lo que resulta un poco más
complicado es sumar elementos o consultar por algún elemento individual.
TALLERES PAÍS DIGITAL | Animate a Programar
Manipular diccionarios
Un diccionario tiene la siguiente estructura:
notasdealumnos={Luisa: 5, Inti: 10, Carolina: 6, Nahuel: 8}
Es decir, consiste en una sucesión de pares de valores. Es como si la computado-
ra hubiese almacenado muchas variables y sus respectivos valores. Para nuestro 9
proyecto, semejante estructura es altamente conveniente, ya que nos permitirá al-
macenar las palabras del texto asociadas a la frecuencia con la que aparecen. Para
sumar un ítem a un diccionario, se usa el siguiente formato: nombredeldicciona-
rio[item]=valorquecorresponderalitem. Vemos esa operación en la penúltima línea
de nuestro programa:
Nuestro programa buscará si ese ítem ya existe en el diccionario y qué valor tiene,
mediante la función get(). De modo que si el ítem ya existía, simplemente se le suma
una unidad al valor.
Condicionales
Este proyecto no usa condicionales, pero es algo que veremos con frecuencia en los
programas. Al insertar un condicional, le estamos indicando a la computadora que
para llevar adelante determinada acción, primero debe asegurarse que se esté cum-
pliendo un requisito o condición.
TALLERES PAÍS DIGITAL | Animate a Programar
Nuestro programa en el editor Atom. Como el archivo es un archivo py, el editor es capaz de señalar
funciones y palabras claves.
Trabajar en un editor de texto sólo nos permitirá tener un script, es decir, un documen-
to donde esté escrito el programa, pero no nos permitirá ejecutarlo. Cada lenguaje de
programación tiene sus requisitos para ser ejecutado. Python, por ejemplo, requiere
que se descargue el paquete de Python desde la página web; una vez hecho esto, po-
demos ejecutar cualquier programa de Python desde la terminal de control de nues-
tra computadora, también llamada “Símbolo del sistema” o “Command Prompt”. En
la barra de búsqueda, simplemente tipeamos “Símbolo del sistema” y lo abrimos.
TALLERES PAÍS DIGITAL | Animate a Programar
11
Al abrir la terminal, lo primero que debemos hacer es llegar a la carpeta donde tene-
mos los documentos del proyecto. En nuestro caso, nuestro script y el documento
con el texto están en una carpeta llamada “frecuencias”, dentro de la carpeta Desk-
top (Escritorio en las máquinas en español). Entonces, primero abrimos la carpeta
“Desktop”, tipeando cd Desktop. Si todo está en orden, obtendremos una nueva línea,
como se ve en la imagen.
12
Ahora abrimos la carpeta frecuencias, tipeando “cd frecuencias”. Si todo está en or-
den, nuevamente obtendremos una nueva línea así:
TALLERES PAÍS DIGITAL | Animate a Programar
Ahora que ya estamos dentro de la carpeta con todos nuestros documentos, esta-
mos listos para la magia. Debemos tipear “python frecuencias.py”: con ese comando
le estamos indicando que se debe usar Python para ejecutar el script en cuestión. Si
todo está en orden, obtendremos un diccionario con todas las palabras del texto y su
respectiva frecuencia, que se verá así:
13
Para mejorar este programa, se podría hacer que las palabras aparecieran por orden
de frecuencia. También podríamos hacer que Python armara un documento aparte
con las frecuencias. Todo esto sería una segunda parte del proyecto.
Nos indica que el problema estuvo en la line 1, y que el problema es que name mues-
tra is not defined, esto es una manera sofisticada de decir que no tiene ni idea de qué
es muestra.txt. Esto se debe a que en ese intento cometimos un error de sintaxis:
nos olvidamos de poner muestra.txt entre comillas, que es lo que corresponde en
Python cuando mencionamos documentos.
TALLERES PAÍS DIGITAL | Animate a Programar
Repositorios
El repositorio de programación más difundido es Github. Muchísimos programado-
res y programadoras comparten ahí sus proyectos. Muchas librerías también eligen
subir a Github toda su documentación. Casi todos los repositorios de Github tiene
una sección llamada README.md, donde encontrarás información general del repo-
sitorio y cómo usarlo.
16
Foros
Es común que los programas no salgan como esperamos y que haya que intentarlo
varias veces. Le sucede tanto a profesionales como a quienes lo hacen por pasa-
tiempo. Existen foros como “StackOverflow”, donde la gente postea el código con el
problema que está teniendo y la comunidad le da sugerencias. También existen cada
vez más grupos de discord y otras comunidades. Una vez que empieces a probar
cosas programando y tengas algún inconveniente, basta con googlear las alertas de
error y te va a sorprender cuántos tuvieron el mismo problema que vos, y lo útil que
te pueden resultar las devoluciones que hay.
APIs
Debido al auge de la programación, más y más plataformas y servicios online ofre-
cen APIS (en español, interfaz de programación de aplicaciones). Una API permite
que un programa acceda a la plataforma en cuestión, y opere o extraiga datos de ella.
Gracias a la API que ofrece Telegram podemos, por ejemplo, crear un programa que
envíe mensajes de Telegram. O gracias a la que ofrecen algunas billeteras virtuales
de criptomonedas, podemos crear un programa que compre y venda criptomonedas
de manera automática, y así sucesivamente. Con las APIs se amplían muchísimo
las posibilidades. Cada plataforma generalmente tendrá documentación de su API,
donde se darán detalles de cómo usarla. También se podrán buscar ejemplos de
programas que ya la hayan usado.
Talleres
País
Digital