top of page

Introducción al

Pensamiento computacional

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Actividad de consolidación.

App Mentimeter

MENTIMETER.jpg

Pensamiento computacional: Algoritmos

¿Alguna vez le diste instrucciones a una persona para llegar de un lugar a otro? o ¿le ayudaste a alguna persona mayor a crear un correo electrónico o una cuenta en Facebook? o ¿seguiste una receta de cocina para preparar un platillo?

 

Si tú respuesta a alguna de estas preguntas es sí, entonces ya conoces algo de Pensamiento Computacional.

Supongamos que queremos enseñarle a una persona a preparar un sencillo sándwich de jamón. Los pasos los podemos describir como lo siguiente:

- Tomar dos rebanadas de pan

- Colocar una rebanada de jamón sobre una de ellas

- Colocar una rebanada de queso sobre el jamón

- Colocar la segunda rebanada de pan sobre el queso

Y listo, ya tenemos un sencillo sándwich de jamón.

Observa que el proceso anterior lo describimos como una secuencia de pasos que se siguen en orden, esto es, uno detrás de otro.

 

Veamos otro ejemplo: queremos detallar el proceso de cambiar un foco de una lámpara. El proceso podría ser algo como lo siguiente:

- Sí me falta repuesto de foco

      comprar el repuesto

- Apagar el interruptor de la lámpara

- Repetir

      Girar el foco quemado en sentido a las manecillas del reloj

- Hasta sacarlo del portalámparas

- Tirar a la basura el foco quemado

- Colocar el repuesto del foco en el portalámparas

- Repetir

      Girar el foco en sentido contrario a las manecillas del reloj

- Hasta que quede apretada

Observa que de la misma forma, tenemos una secuencia de pasos en orden y también estamos utilizando una decisión:

- Sí me falta repuesto de foco

      comprar el repuesto

Y también repeticiones e iteraciones.

 

La secuencia, la decisión y la iteración son lo que llamamos ESTRUCTURAS DE CONTROL y con ellas podemos construir programas.

 

 

 

Describimos el proceso de preparar un sándwich o de cambiar el foco de una lámpara como un proceso paso a paso esta secuencia ordenada de pasos se llama ALGORITMO.

 

Los algoritmos describen el proceso para llevar a cabo una tarea o resolver un problema en una forma paso a paso. Pueden incluir secuencias, decisiones e iteraciones cómo se ilustró en los ejemplos anteriores.

 

Un aspecto muy importante en cuanto a los algoritmos es que deben tener las siguientes características. Un algoritmo debe ser:

 

Precisión. Debe tener instrucciones claras para que sea preciso.

Definido. Si se sigue más de una vez, siempre nos conducirá al mismo resultado.

Finito. Cuenta con determinados números de pasos con un inicio y un fin.

Para mostrar el primer punto, revisemos el siguiente ejemplo. Sigue en tu cuaderno o en una hoja las siguientes instrucciones para dibujar una figura:

- Dibuja un segmento de recta horizontal

- Dibuja un segmento de recta vertical que cruce al

  otro segmento.

- Une los extremos de los segmentos con líneas rectas

- En uno de los extremos dibuja una línea curva

¿Qué fue lo que resultó?  Se supone que lo que deseaba que dibujaras era lo siguiente.

El algoritmo que te mostré es demasiado ambiguo porque hay muchas maneras de interpretarlo. Seguramente todos los dibujos realizados por tus compañeros son figuras totalmente distintas que no se parecen a lo que trate yo de describir.

¿Puedes escribir un algoritmo más claro para dibujar la figura mostrada? Inténtalo y pruébalo con tus amigos.

Observa el siguiente video que te dará mayor información de lo que es un algoritmo

Como lo demuestra el ejemplo anterior es muy importante ser muy claro para dar instrucciones a un ser humano y mucho más cuando estamos hablando de sistemas de cómputo. Éstos solo siguen instrucciones y si no son claras para ellos, no funcionarán como deseamos.

Los lenguajes de programación visuales están diseñados con el fin de que la forma en que se dan las instrucciones por parte del usuario a los equipos de cómputo, sea de lo más intuitivo y fácil.

Es como si estuvieras armando un juego ¿quieres ver que podemos jugar programando o jugando programamos?

Ingresa a la siguiente página web: Blocky Games

blocky.jpg

En la misma encontrarás una serie de juegos que te permitirán conocer jugando, las estructuras de control de los lenguajes de programación visuales.

La página puede configurarse en español y te servirá mucho y a que si la dejas en Inglés, puedes aprovechar para practicar esta segunda lengua tan necesaria en la sociedad del conocimiento.

Te doy ejemplos de lo que podrás encontrar aquí:

spn.jpg

Para cada animal (bloque verde), adjunta su imagen, elige el número de patas que tiene y haz una lista de sus rasgos.

02.jpg
pato.jpg

Apila los bloques necesarios para ayudarme a alcanzar la meta.

Usa el comando 'cañón' para golpear el objetivo.

El primer parámetro es el ángulo, el segundo parámetro es el rango. Encuentra la combinación correcta.

03.jpg
04.jpg

Haz que suenen las primeras 4 notas de la canción "Martinillo"

Siguiendo con el tema de los algoritmos, una forma muy eficaz de representar un algoritmo es a través de los llamados diagramas de flujo.

 

Los diagramas de flujo se utilizan en diferentes disciplinas e industrias, entre ellas ingeniería, ciencias físicas y programación de computadoras, en los cuales se requiere una comprensión completa de los procesos o flujos de trabajo. Estos son diagramas que se utilizan para representar procesos o flujos de trabajo, es decir, simplemente ilustran cómo debe funcionar un proceso.

Es importante mencionar que, los diagramas de flujo no requieren terminología ni símbolos complejos y específicos de la industria o la disciplina.

Además, un diagrama de flujo debe ser fácil de entender sin tener que ser un experto en el campo elegido.

Como es la representación gráfica de un algoritmo, un diagrama de flujo debe mostrar los estados de entrada, las decisiones tomadas y los resultados de dichas decisiones.

Los principales símbolos utilizados en los diagramas de flujo son:

ALG01C.jpg

Estructura de control Secuencial

Esta es la estructura de control más sencilla ya que tal como su nombre lo indica simplemente son los procesos que se suceden uno a continuación de otro:

ALG02b.jpg

Un ejemplo sencillo de algoritmo secuencial es la suma de dos números. El siguiente sería el diagrama de flujo de este algoritmo:

ALG03.jpg

El proceso claramente se desarrolla en una consecución (una detrás de otra) de instrucciones.  

Estructura selectiva.

En estas estructuras se evalúan decisiones lógicas, así pues, también es llamada estructura de decisión o alternativa y, puede ser de dos tipos:

1. Selectiva simple.

 

Sí al evaluar la condición, esta es verdadera, entonces se lleva a cabo una acción o acciones consecutivas. En caso de ser falsa, no se lleva a cabo ninguna acción o acciones.

 

En el diagrama de flujo, esto se representa de la siguiente forma:

ALG04.jpg

Un ejemplo es el siguiente. La condicionante para poder votar en el día de las elecciones:

ALG05.jpg

Observa que el proceso lleva una lógica que, aunque por el momento es simple, nos da la base para resolver problemas aún más complejos. Este principio lógico nos entrena en el “pensamiento computacional” del que ya hablamos anteriormente.

2. Selectiva doble.

En esta estructura podemos seleccionar una de dos alternativas posibles, de tal forma que sí el resultado de la condición es verdadero seguimos ejecutando la(s) acción(es) correspondiente(s) por un camino; pero sí el resultado es falso entonces seguimos otro camino con su(s) acción(es) consecuente(s).

En el diagrama de flujo, esto se representa de la siguiente forma:

ALG06.jpg

Ejemplo: Hacer un algoritmo que calcule el pago total que hacen un grupo de jóvenes que entran a un museo teniendo en cuenta que sí el grupo es menor a 5 personas, el pago será de $15 por persona y, para grupos de 5 personas o más, el pago será de $10 por persona.

ALG07.jpg

Estructuras de control iterativas

Siguiendo con la revisión de las estructuras de control, diremos que en este tipo de estructuras es posible repetir un proceso o una secuencia de procesos, determinadas veces; según la naturaleza de la estructura. Se dividen en dos tipos:

  • Estructura iterativa por decisión.

Con la estructura iterativa por decisión, si la condición evaluada es verdadera, se ejecutará el ciclo de proceso(s) hasta que la misma condición resulte falsa.

 

El diagrama de flujo correspondiente se presenta a continuación:

ALG08.jpg

Observa que, si desde el principio la condición es falsa, el ciclo de procesos no se ejecutará ni una sola vez.

Un ejemplo concreto es el siguiente. Obtener la suma de los 100 primeros números enteros y escribirla como salida:

ALG09.jpg
  • Estructura iterativa por cantidad

Observa que en la estructura iterativa por decisión, no queda determinado el número de veces que el proceso ha de repetirse, es decir, el número de veces que debe iterarse, de modo que incluso, el mismo, podría realizarse infinitamente.

 

En la estructura iterativa por cantidad, es indispensable conocer el número de veces que se deberá repetir el ciclo. En el siguiente diagrama de flujo nota como el dato de entrada define el número en el que debe empezar el ciclo (contador inicial, Ci) como el número en el que debe detenerse (contador final, Cf). El contador inicial debe incrementarse en cada ciclo hasta llegar al contador final.

ALG10.jpg

Ejemplo: imagina un tablero de damas inglesas. Nos encontramos en la primera casilla de la esquina superior izquierda. Se pide avanzar la ficha hacia delante un determinado número de veces. 

ALG12.jpg
ALG11.jpg

Para finalizar, crea tu cuenta gratuita en el sitio Scratch

sitio.jpg

Para ello apóyate en la siguiente página: Creación de cuenta en Scratch

Si deseas iniciar tu primer programa en Scratch, sigue el siguiente ENLACE.

Tarea Semana 4

Productos y actividades solicitadas en clase:

  • T14.C1 Participación activa en clase

  • T15.C1 Ejercicio de Pensamiento computacional.

Productos DE TAREA A ENTREGAR:

  • T16.C1 Respuestas del Insumo6.docx "Letras desordenadas"

TIC3_Corte1_Insumo6.docx >>

bottom of page