Está en la página 1de 10

Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

Algoritmos y pseudocódigo

Juan García Cortés 2020


garcia_juacor@gva.es
@juan_garciaTIC
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

Índice

1. Algoritmos y pseudocódigo................................................................................................3

1.1. Algoritmo.....................................................................................................................3

1.2. Representación de un algoritmo.................................................................................5

1.2.1. Diagramas de Flujo.............................................................................................5

1.2.2. Pseudocódigo......................................................................................................6

1.3. Pensar antes de programar........................................................................................8

1
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

1. Algoritmos y pseudocódigo
Los principales objetivos de este bloque son:
● Entender qué es un algoritmo.
● Conocer las distintas formas de representar un algoritmo.
● Comprender la importancia de pensar antes de ponerse a programar.

1.1. Algoritmo
Un algoritmo es un conjunto ordenado de pasos a seguir (instrucciones concretas) que
llevan a resolver un determinado problema. Ha de cumplir con las siguientes condiciones:
● Ser correcto (Resuelve el problema).
● Ser finito (Conduce a la solución en un tiempo dado).
● Ser flexible (No es exclusivo para un tipo de problema sino que sirve como
método general para distintos datos).
● Ser claro (comprensible por otras personas).
● Ser eficiente (ahorro de tiempo y recursos).
● Ser portable (independiente de la máquina o del lenguaje utilizado).
El algoritmo surge de la necesidad de resolver un problema dado. Para ello, siempre será
posible crear múltiples soluciones. El algoritmo que seleccionemos será aquel que
obtenga los resultados esperados en el menor tiempo posible y con el menor coste. Para
ello debemos reflexionar sobre:
● ¿Qué información o resultados se quieren obtener?
● ¿A través de qué procesos se podrán obtener los resultados?
● ¿Se requiere algún proceso intermedio?
● ¿Qué tipo de datos serán necesarios?
● ¿Qué variables?
● ¿Qué condiciones exige el problema para su solución?
Uno de los métodos más apropiados para desarrollar un algoritmo es el que se detalla a
continuación:

2
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

Fuente: Slideshare de Paco González Caballero


Aunque no seamos conscientes, en la vida diaria estamos utilizando a diario algoritmos,
muchos son muy sencillos, pero no dejan de ser algoritmos y que podemos describir
utilizando el lenguaje natural, es decir, con pseudocódigo. Veamos un ejemplo muy
básico:

ALGORITMO ponerse los zapatos.

INICIO

Coger los zapatos.

SI los cordones de los zapatos están anudados ENTONCES desatar


los zapatos

Sentarse en una silla.

Ponerse el zapato derecho en el pie derecho.

Atarse los cordones del zapato derecho.

Ponerse el zapato izquierdo en el pie izquierdo.

Atarse los cordones del zapato izquierdo.

FIN

3
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

1.2. Representación de un algoritmo


Una vez que se ha elegido la mejor alternativa para solucionar el problema o reto para el
que se crea el algoritmo es el momento de representarlo siguiendo alguno de estos
métodos:
● Lenguaje natural (español, inglés, etc.)
● Diagramas de flujo
● Pseudocódigo

1.2.1. Diagramas de Flujo

A continuación se muestran una serie de símbolos útiles para llevar a cabo este tipo de
representaciones.

Fuente: Slideshare de Paco González Caballero


En Internet existen numerosas herramientas que pueden ayudarte a crear diagramas de
flujo. Aquí te proponemos dos gratuitas:
● draw.io: Permite guardar los diagramas en el disco duro de tu ordenador, Gdrive,
OneDrive o Dropbox.
● Diagramly: Posibilita crear diagramas de flujo o mapas mentales.
En este documento (ver) encontrarás una serie de reglas y ejemplos para crear algoritmos
y diagramas de flujo.

4
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

1.2.2. Pseudocódigo

El Pseudocódigo es sin duda de las representaciones más utilizadas. Es una forma de


expresar el algoritmo utilizando el lenguaje natural, comprensible para cualquier persona,
pero añadiendo ciertas instrucciones típicas de los lenguajes de programación.
No existe una sintaxis estándar para el pseudocódigo, pero como hemos comentado, en
el pseudocódigo se reflejan las instrucciones típicas de los lenguajes de programación,
como las instrucciones condicionales:
SI condición ENTONCES
instrucciones/pasos a realizar si se cumple la condición
SI NO
instrucciones/pasos a realizar si NO se cumple la
condición
FIN SI

Y las instrucciones repetitivas:

REPETIR n veces
instrucciones/pasos a
realizar
FIN REPETIR

REPETIR HASTA condición de salida

instrucciones/pasos a
realizar hasta que se cumpla
la condición de salida del

5
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

bucle

FIN REPETIR

En definitiva, el pseudocódigo se trata de un falso lenguaje, ya que apela a las normas de


estructura de un lenguaje de programación aunque está pensado para que pueda ser
leído por un ser humano y no interpretado por una máquina.
El pseudocódigo, en este sentido, está considerado como una descripción de un algoritmo
que resulta independiente de otros lenguajes de programación. Para que una persona
pueda leer e interpretar el código en cuestión, se excluyen diversos datos que no son
clave para su entendimiento. Veamos un par de ejemplos orientados a crear algoritmos
matemáticos:
Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de
un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo.
Programa: área
Entorno: BASE, ALTURA, AREA son números enteros
Algoritmo:
escribir "Introduzca la base y la altura"
leer BASE, ALTURA
calcular AREA = BASE * ALTURA
escribir "El área del rectángulo es "AREA"
Finprograma

Ejemplo: Realizar el pseudocódigo que permita al usuario introducir por teclado


dos notas, calculando la suma y el producto de las notas.
Programa: Suma Producto
Entorno: NOTA1, NOTA2, SUMA, PRODUCTO son números
enteros
Algoritmo:
escribir "Introduzca las notas"
leer NOTA1, NOTA2
calcular SUMA = NOTA1 + NOTA2

6
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

calcular PRODUCTO = NOTA1 * NOTA2


escribir "La suma de las dos notas es: "SUMA"
escribir "El producto de las dos notas es: "PRODUCTO".
Finprograma

Ningún ordenador podría interpretar estas instrucciones. Para crear un programa a partir
del algoritmo, una vez refinado el pseudocódigo, deberíamos reescribirlo en un leguaje de
programación: C, C++, Java, Scratch..

1.3. Pensar antes de programar


Si comienzas a programar directamente, salvo que lo que vas a hacer sea algo realmente
muy sencillo, lo más probable es que el algoritmo que crees no sea ni claro ni eficiente.
Aprender a programar es mucho más que escribir código: implica aprender a pensar. De
ahí la importancia de introducir la programación y el pensamiento computacional en
nuestras aulas: es un camino que permite fomentar el pensamiento crítico y la autonomía
en nuestros alumnos. En este artículo (en inglés) se explica cómo la programación es, en
realidad, un medio para alcanzar el verdadero fin último de la educación: aprender a
pensar.

Que un programa funcione no significa que esté bien hecho. Seguramente todos

7
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

podríamos construir una casa poniendo 10 columnas en medio del salón para que se
sostenga, pero no sería eficiente ni estético.
En programación, los usuarios no van a ver las columnas que hay dentro de la casa, pero
si tú como programador añades 10 columnas en medio del “salón” de tu programa, ese
programa será muy difícil de mantener o de actualizar en el futuro.
Veamos un ejemplo muy sencillo. Supongamos que queremos hacer un programa que
pida un número al usuario y muestre la tabla de multiplicar de ese número. Si no nos
paramos a pensar, una solución a la que podríamos haber llegado con Scratch y que
funcionaría sería la siguiente:

Pero éste no es un buen algoritmo, ya que estamos repitiendo la misma instrucción 10


veces (hemos metido 10 columnas en nuestro salón). Si antes de ponernos a programar,
nos sentásemos a pensar un poco en un algoritmo que calcule la tabla de multiplicar,
seguramente llegaríamos a una solución como ésta que seguramente todos somos

8
Pensamiento computacional en el aula con Scratch Algoritmos y pseudocódigo

capaces de entender:
ALGORITMO mostrar tabla de multiplicar
DATOS
número (el número que pedimos al usuario)
multiplica (el número por el que vamos multiplicando)
INICIO
Pedir un número al usuario y guardarlo en número
multiplica = 1
REPETIR 10 veces
ESCRIBIR EL TEXTO “número x multiplica =”
ESCRIBIR el resultado de multiplicar número x
multipica
INCREMENTAR en 1 multiplica
FIN REPETIR
FIN

Una vez que hemos pensado el algoritmo, el problema ya está resuelto, y simplemente
tendríamos que utilizar un lenguaje de programación para escribir este algoritmo (Scratch,
Java, JavaScript, C++, etc.).
Veamos cómo quedaría este algoritmo una vez que lo hemos programado en Scratch:

También podría gustarte