Pensamiento Computacional – Unidad 4: Algoritmos

4.1 Algoritmos

En esta unidad trabajaremos con algoritmos. Como en las otras unidades, partiremos de situaciones de la vida real para ejemplificar.

Probablemente muchos de nosotros compartamos este problema: ¡tenemos muchas contraseñas! La de TWITTER, la de FACEBOOK, la de INSTAGRAM, y más. ¿Cómo hago para acordarme de todas y no usar la misma? Es un tema de mucha importancia porque se trata de que sean seguras. Podría usar una contraseña aleatoria, pero son muy difíciles de recordar. ¿La solución? ¡Uso un algoritmo!

Un algoritmo es una secuencia ordenada y paso a paso de instrucciones para resolver un problema. Para este caso, el algoritmo podría ser: dar vuelta el nombre del sitio (ej. TWITTER → RETTIWT), cada letra que doy vuelta, si es vocal, la cambio por su número (considerando para la A el 1, para la E el 2, para la I el 3, para la O el 4 y para la U el 5) y le agrego al final el largo, aquí 7:

¿Cómo sería para Facebook? Voy dando vuelta cada letra (prestando atención si es vocal) y agrego el largo.

 

 

¡Tenemos resuelto el problema a través de un algoritmo!

Otro ejemplo de algoritmo bien sencillo de la vida real podría ser el de describir el proceso de coser un botón. Una versión sería:

si me falta hilo, aguja y, o botón
los consigo en la tienda
fin si
pasar un trozo de hilo por la aguja
anudarlo
tomar la tela
poner el botón en el lugar apropiado
insertar la aguja desde el reverso de la tela atravesando un agujero del botón
mientras no esté firme
pasar la aguja con el hilo hacia el otro lado de la tela atravesando un agujero diferente del botón
fin mientras
anudar el hilo del lado del revés
cortar el hilo

Esta es una secuencia de pasos en orden, y también incluye una decisión («si me falta hilo, aguja …») y una iteración: «mientras no esté firme». La secuencia, la decisión y la iteración son lo que llamamos «estructuras de control» y con ellas se construyen los programas.

El algoritmo es generalmente el punto de partida para crear efectivamente un programa, y se puede representar en seudocódigo, en una forma similar como vimos recién o también con un diagrama de flujo, como se muestra en la siguiente imagen:

 

 

Gráficamente se ve el proceso para coser un botón.

Así, a través de los algoritmos describimos procesos. En los próximos artículos haremos varias actividades para desarrollar algoritmos.