Está en la página 1de 17

Pensamiento Computacional

Unidad 1
Utilizar habilidades de la computación para solucionar problemas en otros ámbitos.
Implica resolver problemas, diseñar sistemas y comprender el comportamiento humano
usando conceptos fundamentales de la informática. (Jeannette W, 2006)

Origen
Seymour Papert pionero del pensamiento computacional introdujo la idea que la
programación soluciona problemas con creatividad.
Jeannette Wing teórica informática describió como piensa un científico de computadoras.

Componentes
I. Descomposición del problema en fases más pequeñas.
II. Reconocimiento de patrones lo que está constante.
III. Abstracción de información irrelevante.
IV. Algoritmos escritos para la solución del problema.

Procesamiento de la Información
Elementos:
 Entrada de la información.
 Proceso crea respuesta.
 Salida de la respuesta.

Objetos:
Emisor Receptor

Registro sensorial Procesamiento Memoria a largo


plazo

Lenguajes
 Naturales Usado comunicación escrita, oral o no verbal (idiomas). Asociado con chats bots ChatGPT.
Habla habitual.
 Formales Centrados en la matemática robótica y computación, son símbolos y reglas, lenguajes de
programación para que un sitio web función bien.
 Educativos Diseñados para programar bloques de códigos por aplicaciones como Scratch, Logo,
Alice, y Python,
 Industriales Usado para apps de la industria, áreas como la banca, la salud y la manufactura, expresa
algoritmos y procesos computacionales.

Aprendizaje e Inteligencia
Aprendizaje Automático Cuando un computador trabaja por sí solo, aprende cosas por
si solo sin haberlas programado antes (IA).

Inteligencia Artificial Disciplina de la informática, elabora maquinas y sistemas que


imiten los trabajos que requerirían inteligencia humana. El Aprendizaje automática y el Profundo
son dos esferas de la IA.

Inicios de la IA
“La ciencia de hacer que las maquinas hagan cosas que requerirían inteligencia humana”

1936 Alan Turing, concepto de maquina universal automática.


1950 Hizo una prueba define la inteligencia llamada “El Test de Turing”
1956 términos IA acuñados por expertos en una conferencia.

Tipos de IA
Maquinas recreativas: No tienen memoria.

Memoria limitada: Memorizan poca información, la necesaria.

Teoría de la Mente: Entienden cómo funciona el entorno.

Autoconciencia: Independiente, aun no existe.


Unidad 2
Resolución de Problemas
A l g o r i t m o Serie ordenada de procesos que debe haberse para solucionar un
problema específico.
Características:
 Preciso y Ordenado El orden de sus pasos debe ser muy riguroso, de
manera lógica, no se podrá imprimir algo si no se ha prendido la
impresora.
 Definido Si se ejecuta de la en repetidas ocasiones usando los mismos
datos se debe producir el mismo resultado.
 Finto Siempre debe tener su inicio y su final, la ejecución de sus
introducciones de terminar al procesar los datos y entregar resultado.
 Legible Claridad en el texto, de tal manera sea entendible con facilidad.
Pasos para Construir un Algoritmo o Programa:
1. Definición del problema Identificamos y comprendemos el problema, importante
delimitar el problema, establecer objetivos y requisitos a cumplir.
2. Análisis del problema Profundizamos el problema para entender su estructura y
característica, exploramos posibles enfoques y estrategias para abordarlo.
3. Diseño de la solución Diseñamos solución eficiente, utilizamos herramientas y
técnicas para hacer un plan lógico y detallado.
4. Implementación de la solución Traducimos el diseño de la solución en código de
programación utilizando el lenguaje detallado de manera precisa.
5. Prueba y Depuración Verificamos la solución su funcionamiento correcto,
identificamos errores y fallos corrigiendo mediante técnicas de depuración.

Tipos de Instrucciones
Las más generales que se pueden implementar en un algoritmo y que son
soportadas en todos los lenguajes de programación son:
Instrucciones de BEGIN END
inicio/fin
Instrucciones de A <- 5 AUX <- A
Asignación
Instrucciones de Lectura READ
Instrucciones de WRITE
Escritura
Instrucciones de SI………ENTONCES
Bifurcación
Operadores Lógicos y Relacionales
Para evaluar expresiones hay un amplio conjunto de operadores.
Operadores Aritméticos
Operador Operación Expresión de muestra
- Negatividad Aritmética -12
^ Exponenciación 1^2
MOD Modulo 7%5
* Multiplicación 6*7
/ División 4/7
+ Suma 7+4
- Sustracción 8-8

OPERADORES RELACIONALES
Operador Relación Ejemplo Resultado de la
Expresión

= Igualdad 5=5 Verdadero


<> Desigualdad 8<>3 Verdadero
< Menor que 8 < 15 Verdadero
> Mayor que 9>6 Verdadero
<= o =< Menor que o igual a 8 <= 8 Falso
>= o => Mayor que o igual a 8 >= 8 Verdadero

Operadores Lógicos
Operador Descripción Ejemplo de Expresión Resultado de ejemplo

&& Y (AND) (5>2 && 5<4) FALSE

II O (OR) (5>2 I I 5<4) TRUE

! NO (NOT) !(5>7)

Operador Nombre Ejemplo de su uso Resultado de la Expresión

Y Conjunción Verdadero y falso falso


O Disyunción Verdadero o falso Verdadero

no Negación No verdadero Falso

Tablas de Verdad
AND OR

NOT

Tipos de
Datos
El dato la
unidad
mínima de
información, los
tipos de datos se
refieren al
valor que se
puede
almacenar en una
variable o
constante en un programa. Algunos de los tipos de datos más
comunes son:

Números enteros (sin coma) = Rango es negativos y positivos.


758 -48 8/2=4 -48-2=50
Números reales o de puntos flotantes (con coma) = Rango es negativos
y positivos, números con parte decimal.
7,5 -4,8 8/3=2,66 -4,8-2,0=-6,8
Carácter= Cualquier Símbolo o letra.
# z B Hola mundo
Lógico (Booleano)= Puede tener 2 valores: Falso o Verdadero.
Verdadero Falso
True false
V f

Variables
Es un nombre simbólico que identifica una dirección de memoria, su valor puede
cambiar durante la ejecución de un programa. Una Variable debe ser:

o Declarada
o Inicializada
o Utilizada
Constantes
Es el un elemento de almacenamiento de datos o direcciones de memoria, que no
varían durante la ejecución de un programa.
En la declaración de una variable se debe indicar el tipo de dato al que pertenece

Ejemplo:
𝝿
Area de un circulo
 La variable “radio” almacena el
valor de rradio de un circulo, este es ingresado por el usuario.
 La constante “pi” almacena el valor de pi, que se mantiene
constante en toda la ejecución del programa.
 La variable “área” almacena el resultado del calculo del área
del circulo.
Expresiones
Son comibinaciones de constantes, variables y operadores de
diferentes tipos que nos permiten manipular datos para
obtener información nueva.
Los lenguajes de programación usan los mismo conceptos
de las operaciones matemáticas tradicionales, como el
agrupamiento y la precedencia de operadores.
Estan compuestas de un operando y dos operadores y tienen
un valor.
El valor se obtiene al tomar valores del operando y aplicarles
al operador.
Los operando pueden ser constantes, variables u otras
expresiones y se clasifican en aritméticos, relacionales,
lógicos y de conversión dependiendo del tipo de los operando
que manipulan y del tipo de valor que ingresan.
Ejemplo:
25 + 8 * 4 < 35/7 + 1 ^ (56/7) - 4 AND 20 – 8 >15
25 + 8 * 4 < 35/7 + 1 ^ (8) - 4 AND 20 – 8 >15
25 + 32 < 5 + 1 - 4 AND 20 – 8 >15
57 < 2 AND 12 >15
Falso ^ Falso
Falso

Análisis de Requerimientos
Es un estudio profundo de una necesidad tecnológica que tiene una empresa,
organización o negocio. En este proceso, se realiza un análisis exhaustivo
del sistema que se va a desarrollar. Se definen y aplican técnicas que
permitan analizar los requisitos necesarios para su buen desarrollo.
Estructura de un Pseudocódigo
Es un lenguaje intermedio entre el lenguaje natural y cualquier lenguaje de
programación específico, como son: C, FORTRAN, Pascal, etc.
No existe una notación formal o estándar de pseudocódigo, sino que, cada
programador puede utilizar una notación propia.
 Es una forma de expresar los distintos pasos que va a realizar un
programa, de la forma más parecida a un lenguaje de programación. Su
principal función es representar por pasos la solución a un problema o
algoritmo, de la forma más detallada posible, utilizando un lenguaje
cercano al de programación. Ocupa menos espacio en una hoja de papel.
 No puede ejecutarse en un ordenador ya que entonces dejaría de ser
pseudocódigo, como su propio nombre indica, se trata de un código falso
(pseudo = falso), es un código escrito para que lo entienda el ser humano y
no la máquina.
 La ventaja del pseudocódigo es que, en su uso, en la planificación de un
programa, el programador se puede concentrar en la lógica y en las
estructuras de control y no preocuparse de las reglas de un lenguaje
específico.
 Permite representar en forma fácil operaciones repetitivas complejas.
 Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de
programación.
 Si se siguen las reglas se puede observar claramente los niveles que tiene
cada operación.
Nota: Es importante en los pseudocódigos el uso de la indotación o sangría.
Ejemplo:
Palabras claves utilizadas de modo general en un lenguaje de programación:

 La estructura de un pseudocódigo comienza con la palabra start y finaliza


con la palabra end, en inglés (en español, inicio, fin). Entre estas palabras,
sólo se escribe una instrucción o acción por línea.
INICIO
 variables
 instrucciones u operaciones
 resultados
FIN
Un ejemplo aclaratorio en el uso del pseudocódigo podría ser un sencillo algoritmo
del arranque de un carro.
INICIO //arranque de un carro
1. poner palanca de cambio en neutro
2. introducir la llave de contacto
3. girar la llave de contacto
4. si el motor se enciende entonces esperar unos instantes a que se caliente el motor, continuar
con la sentencia (línea 5) de lo contrario revisar por qué no encendió, solucionado la falla
mecánica regresar a la sentencia (línea 4)
5. fin del si
6. poner palanca de cambio en primera
7. pisar el acelerador lentamente
8. Continuar con el viaje
FIN
Abstracción
Es una estrategia de resolución de problemas en la cual el programador se
concentra en resolver una parte del problema ignorando completamente los
detalles sobre cómo se resuelven el resto de las partes.
En este proceso se considera que el resto de las partes ya han sido resueltas y por
lo tanto pueden servir de apoyo para resolver la parte que recibe la atención.
Una vez hecho los subproblemas, resulta natural resolver cada uno en un
procedimiento.
Como los subproblemas son más sencillos que el problema original, su
complejidad (dada por su tamaño y número de variables) será inferior a la
complejidad del mismo problema resuelto por medio de un solo procedimiento.
La abstracción es la estrategia de programación más importante en
computación. Sin abstracción las personas serían incapaces de abordar los
problemas complejos.
La pericia de un programador no está en ser veloz para escribir líneas de
programa, si no en saber descubrir, en el proceso de diseño, cuáles son las partes
del problema, y luego resolver cada una de ellas abstrayéndose de las otras.
Un ejemplo de abstracción es el hecho de que uno pueda conducir un
automóvil sin ser un mecánico. Al conducir, uno se abstrae de cómo
funciona la combustión en el motor. Sólo se requiere saber cómo se
maneja el volante y los pedales, y cuáles son las reglas del
tránsito.
DIFERENTES MODELOS DE ABSTRACCIÓN DEL TÉRMINO
CARRO
Un carro es la combinación de diferentes partes, tales como motor, carrocería, cuatro
ruedas, cinco puertas, etc.
Un coche es un concepto común para diferentes tipos de coches.
Pueden clasificarse por el nombre del fabricante (Audi, BMW, SEAT, Toyota, Chrisler...)
Por su categoría (turismo, deportivo, todoterreno...),
Por el carburante que utilizan (gasolina, gasoil, gas, híbrido...).
Diagramas de Flujo, Tipos y Simbología
Es un diagrama que describe un proceso, sistema o algoritmo informático. Usado en
campos para documentar, estudiar, planificar, mejorar y comunicar procesos que
suelen ser complejos en diagramas claros y fáciles de comprender.
Reglas para hacer un diagrama
 Todo diagrama debe tener inicio y fin.
 Solamente puedes utilizar líneas rectas en dirección vertical y horizontal.
 No deben existir líneas sin conexión.
 Todas deben indicar la dirección del flujo del diagrama hacia un símbolo; conexión,
proceso, impresión, decisión o fin de diagrama.
 La dirección de lectura del diagrama debe ser de arriba abajo, de izquierda a derecha o
las dos combinadas.
 La simbología de los diagramas debe ser la estandarizada, independientemente del uso
del diagrama; ejemplo un lenguaje de programación.
 Utilizar los comentarios para expresar ideas adicionales que permitan la comprensión
del diagrama.
 En caso que el diagrama sea muy grande y complejo, recuerda enumerar las páginas y
utilizar los conectores adecuados.
Tipos de Estructura Comunes 4
 Secuencia: Se trata de diagramar una secuencia de pasos que se ejecutan uno
tras de otro. Es la más básica y utilizada.
 Decisión: También conocido como condicional. Es perfecto para utilizarlo en
la toma de decisiones, teniendo en cuenta el flujo de datos que ingresa al
diagrama. Se utiliza a menudo en programación de algoritmos.
 Ciclo: Se utiliza en casos donde es necesario repetir múltiples pasos hasta
obtener la respuesta o acción necesaria para salir del ciclo y continuar el
diagrama.
 Caso: Es una estructura de decisión, que posee más de dos situaciones
posibles, para seguir el proceso determinado por la respuesta.

Símbolos mas utilizados para realizar diagramas de flujo son:

Del pseudocódigo al flujograma


El pseudocódigo es una versión simplificada de los conceptos de algunos
lenguajes de programación. Se escribe en algún lenguaje natural como
español o inglés y funciona para que se represente de una manera entendible
el algoritmo para un programa.
El pseudocódigo no debe considerarse un lenguaje de programación, ya que
no tiene una sintaxis específica y no puede ser interpretado por una
computadora.
En muchos casos los algoritmos se presentan usando pseudocódigo dado
que pueden ser leídos y entendidos por programadores familiarizados con
lenguajes de programación.
permite incluir distintas estructuras de control como while, if-then-else,
repeat-until, for y case. Que se encuentran presentes en muchos lenguajes de
programación.
Tanto el pseudocódigo como los diagramas de flujo sirven para representar
de un modo fácil de entender para personal no-técnico los pasos que
realizará, por ejemplo, un algoritmo.
La diferencia principal entre ambas es que el pseudocódigo es un medio
escrito en algún lenguaje, por ejemplo español, mientras que el diagrama de
flujo es una representación gráfica que utiliza símbolos establecidos.
Declaración de variables y constantes
La declaración de variables consiste en listar al
principio del algoritmo todas las variables que se
usarán, además de colocar el nombre de la variable se
debe decir qué tipo de variable es.
 Contador: ENTERO
 Edad, I: ENTERO
 Dirección: CADENA_DE_CARACTERES
 Salario Básico : REAL
 Opción : CARÁCTER
 En el momento de declarar constantes debe indicarse que lo es y colocarse
su respectivo valor.
 CONSTANTE Pi 3.14159
 CONSTANTE Msg ”Presione una tecla y continue”
 CONSTANTE Altura 40
 Cuando se trabaja con algoritmos por lo general no se acostumbra a
declarar las variables ni tampoco constantes debido a razones de
simplicidad, es decir, no es camisa de fuerza declarar las variables.
 La mayoría de los lenguajes de programación (entre ellos C++) requieren
que necesariamente se declaren las variables que se van a usar en los
programas.

Estructuras de Control IF-SIMPLE

Estructuras de Control IF-COMPUESTO

Estructuras de Control IF-ANIDADOS


Estructura de Control Switch

Ejercicio 1: Realizar un
diagrama de
flujo que
permita
ingresar un
numero,
presentar un
mensaje que
indique si dicho
numero es
Positivo o Negativo.

Ejercicio 2: Realice un algoritmo para determinar


cuánto se debe pagar por X cantidad de lápices
considerando que si son 1000 o más el costo es de
$ 0.85; de lo contrario, el precio es de $0.90
Realizar un diagrama que dé solución a este
problema.

Ejercicio 5: Determinar el tipo de medicina aplicar a


un paciente con base al nivel de temperatura, que
registra al llegar a la sala de emergencias.
Unidad 3
Lenguaje de programación visual
Scratch
Scratch es un lenguaje gráfico de programación, diseñado para principiantes
que quieran aprender a programar utilizando una interfaz amigable,
intuitiva, y fácil de entender.
Desarrollado por MIT Media Lab, es gratis.
Permite trabajar con diferentes medios (imágenes, textos, sonido, video)
para crear juegos, simulaciones, música, arte… y después compartirlo por
Internet.
Caracteristicas
Trabaja con bloques de construcción, de tal manera que para programar se
deben encajar los bloques de instrucciones, formando una columna con
ellos, estos están diseñados para encajar unos en otros, pero solo si son
sintácticamente correctos.
Instalacion de Scracht
Su nombre proviene de la palabra: “Scratching” que, en los lenguajes de
programación, significa aquellos trozos de código que pueden ser usados de
una forma más amigable, como creando un rompecabezas. ha tenido una
enorme difusión gracias a su gratuidad y a su facilidad de uso.
Es una aplicación que podemos descargar a nuestro ordenador (está
disponible para varios sistemas operativos: Windows, Ubuntu, Sugar, Mac),
así como una aplicación web que podemos ejecutar desde nuestro
navegador.
OPCIÓN 1: Para descargar Scratch en tu ordenador ingresa el siguiente link:
https://scratch.mit.edu/download
OPCIÓN 2: Ejecuta desde el navegador, la aplicación web mediante el siguiente link:
https://scratch.mit.edu/

Pantalla Principal de Scracht


La interfaz de la herramienta se divide en zonas.
En la parte superior del programa se encuentra el menú. El cual contiene un
grupo de acciones que permiten realizar funciones relacionadas con el
proyecto que se está trabajando.
Bloques
Permiten diferentes acciones para los objetos o personajes. En función del
bloque que sea seleccionado se muestra el conjunto de instrucciones que se
pueden utilizar en la creación de programas.

Disfraces
Espacio que permite agregar imágenes, las cuales son asociadas al objeto.
Existen diferentes opciones y herramientas para realizarlo.

Sonidos
En esta pestaña se pueden elegir y agregar los sonidos y asociarlo al objeto,
teniendo la opción de utilizar las herramientas para manipularlos

También podría gustarte