Módulo 1 Parte 2
Introducción
UNIDAD 1 DE 7
La primera persona en hablar de pensamiento computacional fue Jeannette
Wing(se abre en una nueva pestaña), que dijo:
“A la lectura, escritura y aritmética, debemos agregar el pensamiento
computacional en la habilidad analítica de cada niño. Así como la imprenta facilitó
la difusión de la lecto escritura y el conocimiento matemático, […] la computación
y las computadoras facilitan la difusión del pensamiento computacional. El
pensamiento computacional implica resolver problemas, diseñar sistemas y
comprender el comportamiento humano, profundamente en los conceptos
fundamentales de la informática.”
Ala, 2006
Las habilidades necesarias para programar no solo están enfocadas en entender
cómo funciona una computadora y qué es capaz de hacer, sino también
en desarrollar herramientas y técnicas para analizar los problemas y diseñar
sus posibles soluciones. Estos conocimientos y habilidades a los que se hace
referencia son los que brindan el tipo de pensamiento llamado pensamiento
computacional.
Este pensamiento, entonces, no debe preferir como una forma superadora de
todos los métodos disponibles para solucionar problemas, sino como una forma
complementaria, propia de este tiempo, que se puede utilizar más allá de
las tecnologías.
La resolución de problemas puede dividirse en tres fases:
1 de 11
🖥️¿Cómo proceder para resolver un problema usando el pensamiento
computacional?
Este proceso puede verse en el siguiente diagrama de flujo, que muestra cómo
resolver un problema de la vida cotidiana:
diagrama de flujo
2 de 11
1. Características
UNIDAD 2 DE 7
🖥️El pensamiento computacional es un proceso de solución de
problemas que incluye:
Formular problemas de manera que permitan usar computadores y otras
herramientas para solucionarlos.
Organizar datos de manera lógica y analizarlos.
Representar datos mediante abstracciones, como modelos y simulaciones.
Identificar, analizar e implementar posibles soluciones con el objeto de encontrar la
combinación de pasos y recursos más eficientes y efectivos.
Automatizar soluciones mediante pensamiento algorítmico (una serie de pasos
ordenados).
Generalizar y transferir ese proceso a una gran solución de problemas.
00:00
Audio: el pensamiento computacional
Asimismo, las actividades que promueven el pensamiento
computacional fomentan en las personas el desarrollo de una serie
de destrezas particulares, entre las que se incluyen:
1. CONFIANZA AL TRABAJAR CON LA COMPLEJIDAD.
2. CAPACIDAD PARA LIDIAR CON PROBLEMAS ABIERTOS Y CERRADOS
3. PERSISTENCIA AL TRABAJAR CON PROBLEMASDIFICILES
4. TOLERANCIA A LA AMBIGÜEDAD
5. CAPACIDAD PARA COMUNICARSE Y TRABAJAR CON OTROS PARA
LOGRAR UNA META COMUN.
Todas estas habilidades y características nos permitirán crear programas más
eficientes, al permitirnos analizar el problema de una manera que se acerca a
la manera que trabajan las máquinas: exactas, sin ambigüedades, con un inicio
claro y un fin predeterminado.
3 de 11
2. Algoritmos
4 de 11
UNIDAD 3 DE 7
2. Algoritmos
Se puede entender un algoritmo como una secuencia de pasos finitos bien
definidos que resuelven un problema.
Por ejemplo, la ejecución de tareas cotidianas tan simples como cepillarse los
dientes, lavarse las manos o seguir el manual de instrucciones de armado de un
mueble, se pueden ver como un algoritmo.
Preparar un rico mate
Algoritmos computacionales o informáticos
La resolución de problemas mediante el pensamiento computacional, donde
encontramos una secuencia de instrucciones finita (que tiene un inicio y un fin) con
pasos secuenciales ordenados, se denomina algoritmo computacional o
informático. Muchas veces generalizamos y hablamos de algoritmo cuando nos
referimos a un algoritmo computacional.
El procedimiento para crear un programa que la computadora pueda
ejecutar, es el siguiente:
✅ Comprender el problema al que se le está buscando solución y especificar
qué información se le obtendrá al programa, datos de entrada y qué tipo de
información arrojará el programa como respuesta, datos de salida.
✅ Diseñar el algoritmo del programa que eliminó los datos de entrada al
programa en los datos de salida del programa.
5 de 11
✅ Codificar el algoritmo en un lenguaje de alto nivel. Usar un editor de textos
para editar el código. Este código se conoce como programa fuente.
✅ Convertir el programa fuente a código maquina usando un
compilador. Este proceso se llama compilar el programa.
Normalmente nuestro código fuente tendrá errores de sintaxis que el compilador
detectará y nos lo indicará. Deberemos regresar al editor para corregirlos y repetir
el paso anterior hasta que nuestro código no tenga errores de sintaxis. El código
máquina resultó, también llamado código ejecutable es un programa que la
máquina puede ejecutar.
✅ Ejecutar el programa alimentándolo con datos para los cuales
conozcamos los resultados que nos arrojará el programa y compare los
resultados obtenidos del programa con los resultados esperados.
Es frecuente que los resultados obtenidos no coincidan con los esperados. Esto se
debe a que nuestro algoritmo contiene algún error lógico que deberá encontrarse y
corregirse.
Entonces, para elaborar un programa, independientemente de su tamaño, en la
fase de análisis identificamos las posibles soluciones a un problema oa la
necesidad del cliente y como parte de la resolución ideamos una estructural de
pasos (diseño de un algoritmo) descrito en tres fases como lo son la fase
de entrada, la fase de procesos y la fase de salida, que conlleva dar vida al
programa informático.
Los algoritmos computacionales son una secuencia ordenada de pasos
finitos que serán ejecutados de forma secuencial permitiéndonos llevar a
cabo una serie de procesos, con la finalidad de cumplir el objetivo ya bien
sea dar una respuesta para solventar una necesidad o tomar alguna decisión
a través de medios informática, como lo son los programas.
Características de los algoritmos computacionales
Algunas de las principales características que todo algoritmo debe cumplir son:
Debe ser preciso y estar bien definido.
Debe indicar el orden secuencial de realización de cada uno de los
pasos que lo conforman.
Debe ser finito (tener un final) en alguno de los puntos la secuencia
debe culminar.
6 de 11
¿Cómo se representan los algoritmos
computacionales?
El algoritmo debe ser independiente del lenguaje de programación que vayamos a
utilizar. Y de alguna manera, tenemos que poder representarlo para asegurarnos
de su eficacia. Vamos a ver algunos métodos:
✅ Diagrama de flujo (DFD)
Es una de las técnicas más utilizadas desde la antigüedad a la actualidad, se basa
en representar la serie de pasos establecidos en el algoritmo a través de cajas que
van unidas por líneas de flujo (flechas) que indican qué dirección y/o curso debe
tomar el flujo según sea la petición.
diagrama de flujo
✅ Diagrama NSD (Diagrama Nassi - Schneiderman)
Diseñado en 1972 por Isaac Nassi y Ben Shneiderman encontramos este
diagrama que se encuentra basado en el diseño “top – down” que va a manejar los
procesos de lo complejo a lo simple, tomando como fase inicial el problema global
y posteriormente lo dividirá en sub -problemas de forma tal que estos sean cada
vez más pequeños hasta llegar al punto en el que quedemos con instrucciones
simples a recrear representando la estructura del programa
informático. Básicamente, el NSD (Diagrama Nassi - Schneiderman) combina a
nivel gráfico la representación que podemos notar al establecer el DFD (Diagrama
de Flujo) con lo que sería el texto del pseudocódigo.
7 de 11
Diagrama NSD
✅ Pseudocódigo
Es otra de las formas de representar algoritmos. Lo veremos en detalle en el
próximo bloque.
3. Pseudocódigo
UNIDAD 4 DE 7
3. Pseudocódigo
El pseudocódigo consiste en expresar un lenguaje coloquial las operaciones que
describen el algoritmo asociado a un programa informático.
Básicamente, se trata de traducir las operaciones que se describen en un
diagrama de flujo a frases del lenguaje común, sin emplear símbolos.
8 de 11
El lenguaje utilizado para describir los algoritmos mediante pseudocódigo
debe ser fácil de interpretar por parte de una persona. Las palabras y
expresiones utilizadas en los mismos deben indicar de forma clara y precisa
las tareas a realizar. Y es que, el objetivo del pseudocódigo es intentar
describir un algoritmo de la forma más detallada posible.
Podemos definirlo como una simple herramienta de programación que nos permite
escribir en palabras (inglés o español) el algoritmo ya definido, lo que nos permitirá
su fácil interpretación a la vista de un usuario. El pseudocódigo no es un
lenguaje de programación que podrá ser interpretado en lenguaje de
máquina (para ello se deberá llevar a cabo el desarrollo de éste en el lenguaje de
programación de nuestra preferencia).
🖥️Supongamos que queremos escribir el pseudocódigo para un
programa que pida dos números y diga cuál es el mayor. Podría ser
así:
Algoritmo en pseudocódigo
El pseudocódigo llega donde el diagrama de flujo no lo hace. La solución de un
diagrama de flujo suele ser la ideal, pero no suele ser fácil de implementar al crear
el programa. El pseudocódigo permite que el diseño del programa y su
implementación sean muy parecidos.
Resumiendo: para que un algoritmo pueda ejecutarse se requiere de un
lenguaje. Este lenguaje debe permitirnos, además de la descripción de los
pasos para resolver el problema, modelar la representación de la
solución. Esto último significa que, a partir de la descripción de la solución,
9 de 11
otra persona además de la que escribió el algoritmo sea capaz de llegar a la
misma solución. Tal lenguaje se llama pseudocódigo. Un algoritmo escrito
en pseudocódigo, es un conjunto de sentencias escritas siguiendo cierta
sintaxis o reglas de construcción.
Cierre
UNIDAD 5 DE 7
En este módulo aprendimos qué es el pensamiento computacional, conocimos la
estructura de un sistema informático y qué significa programar.
Reflexionamos sobre la importancia de plasmar la resolución de diferentes
problemas a través de algoritmos computacionales, mediante la escritura
de pseudocódigo. Al momento de comenzar un proyecto es importante definir
con qué lenguaje de programación vamos a trabajar, y sobre todo definir el
problema y los pasos para resolverlo.
Se sugiere tener presente esta cuestión para lograr resultados
eficientes.
Ejercicios de practica
UNIDAD 6 DE 7
¡A practicar! ⌨️
1. Realice el algoritmo computacional correspondiente a un
programa que lea un número y muestre un texto que indique si
el número es par o impar.
2. Diseñar un algoritmo computacional que lea dos números y
realice la suma de todos los números pares comprendidos entre
ambos números.
Durante el encuentro sincrónico analizaremos sus respuestas. Estas
consignas las encontrarán también en el Campus Virtual, en la
sección Actividades del Módulo 1.
10 de 11
Bibliografía consultada
UNIDAD 7 DE 7
Mario D. Albarracín, Eduardo Alcalde Lancharro, Miguel García
López (1996): "Introducción a la informática". Buenos Aires,
McGraw-Hill.
Joyanes Aguilar, Luis (2003): "Fundamentos de programación.
Algoritmos, estructuras de datos y objetos". 3.ª ed., Madrid,
McGraw-Hill.
Empleo, C. (sf). Conecta Empleo 2023. Vídeo disponible
en: [Link]
web/ar-fundamentos-de-programacion-ftm-ed-11(se abre en una
nueva pestaña)
Hernándes Yáñez, L. (2013). "Fundamentos de
programación". Universidad Complutense. Disponible
en: [Link] abre en una
nueva pestaña)
Bordignon, FRA e Iglesias, AA (2020). "Introducción al
pensamiento computacional". Universidad Pedagógica Nacional
y Educar SE.
[Link] (2018). Documento de sensibilización - Pensamiento
computacional y programación. Disponible
en: [Link]
sensibilizacion-pensamiento-computacional-y-pro/download/
inline
11 de 11