SlideShare una empresa de Scribd logo
Programación Orientada al Cálculo
Científico
Fundamentos
Angel Vázquez-Patiño
angel.vazquezp@ucuenca.edu.ec
Facultad de Ingeniería
Universidad de Cuenca
30 de marzo de 2021
Fundamentos Angel Vázquez-Patiño 3/68
Objetivos
1. Conocer cómo se representa el conocimiento
para que pueda ser relacionado a la
computación
2. Conocer qué es un algoritmo
3. Conocer cómo un algoritmo se ejecuta en una
computadora
4. Conocer los componentes de un lenguaje de
programación y los errores posibles al
programar
5. Pasos para solucionar problemas
Fundamentos Angel Vázquez-Patiño 4/68
Contenido
Computadoras
Pensamiento Computacional
Algoritmos
De los Algoritmos a las Máquinas
Lenguajes de Programación
Solución de problemas
Fundamentos Angel Vázquez-Patiño 5/68
Computadoras
Fundamentos Angel Vázquez-Patiño 6/68
Computadoras
●
Calcula y recuerda los resultados
●
Una computadora típica realiza billones de
cálculos en un segundo
●
Pequeñas computadoras tienen cientos de
gigabytes de memoria
Fundamentos Angel Vázquez-Patiño 7/68
Computadoras
Qué tipo de cálculos
●
Operaciones incorporadas en los lenguajes
●
Definidas por el programador
¡Exactamente lo que el programador le pide!
Fundamentos Angel Vázquez-Patiño 8/68
Computadoras
●
En la mayoría de la historia humana, la
computación estuvo limitada por la velocidad
del cerebro humano y la habilidad de grabar los
resultados a mano
●
Sólo problemas pequeños se podían resolver
computacionalmente
●
Aún con los computadores modernos hay
problemas irresolubles
Fundamentos Angel Vázquez-Patiño 9/68
Fundamentos Angel Vázquez-Patiño 10/68
Fundamentos Angel Vázquez-Patiño 11/68
Fundamentos Angel Vázquez-Patiño 12/68
Fundamentos Angel Vázquez-Patiño 13/68
Fundamentos Angel Vázquez-Patiño 14/68
Fundamentos Angel Vázquez-Patiño 15/68
Apollo Guidance Computer
https://es.wikipedia.org/wiki/Apollo_Guidance_Computer
Memoria
palabras de 16-bits
2048 palabras RAM,
4 KB de RAM
36864 palabras de ROM
72 KB de ROM
Fundamentos Angel Vázquez-Patiño 16/68
Dispositivos de telecomunicación
portátil
“Esto debe permitir a los astrofísicos triangular
ecuaciones complejas en tiempo real.”
https://youtu.be/vEgdeMGu4uQ?t=244
Fundamentos Angel Vázquez-Patiño 17/68
Fundamentos Angel Vázquez-Patiño 18/68
Fundamentos Angel Vázquez-Patiño 19/68
Pensamiento Computacional
Fundamentos Angel Vázquez-Patiño 20/68
Representación del Conocimiento
●
En psicología cognitiva dos maneras (en general) en que
se almacena la información en la memoria a largo plazo.
Conocimiento declarativo
●
Declaración de hechos, conceptos o ideas y que se
pueden almacenar como proposiciones
●
La raíz cuadrada de x es un número y tal que y×y=x
●
Pero no se dice nada de cómo hacerlo
Conocimiento imperativo
●
“El cómo”, o la receta para deducir la información
●
Para expresar mandatos, órdenes, etc.
Fundamentos Angel Vázquez-Patiño 21/68
Representación del Conocimiento
Conocimiento imperativo
●
Heron de Alejandría fue el primero para
documentar la manera de calcular la raíz
cuadrada de un número
●
Su método consiste en una serie de pasos bien
definidos
Fundamentos Angel Vázquez-Patiño 22/68
Cálculo de la Raíz Cuadrada de x
1. Suponer una primera aproximación, g.
2. Si g×g es suficientemente cercano a x, parar y
decir que g es la respuesta.
3. Caso contrario, crear una nueva aproximación
promediando g y x/g, i.e., (g + x/g)/2.
4. Con la nueva aproximación, llamada
nuevamente g, repetir el proceso hasta que
g×g sea suficientemente cercano a x.
Fundamentos Angel Vázquez-Patiño 23/68
Raíz cuadrada de 16
1. Iniciar g con un valor arbitrario, e.g. 2.
2. Se decide que 2×2=4 no es suficientemente
cercano a 16.
3. Asignar (2+16/2)/2=5 a g.
4. 5×5=25 no es suficientemente cercano a 16.
5. Asignar (5+16/5)/2=4.1 a g.
6. 4.1×4.1=16.81 es una buena aproximación y se
para el proceso.
Fundamentos Angel Vázquez-Patiño 24/68
Representación del Conocimiento
●
La descripción del método es una secuencia
clara de simples pasos, junto con un flujo de
control que especifica cuándo cada paso debe
ser ejecutado
●
Esa descripción se llama algoritmo.
●
Este es un ejemplo de un algoritmo guess-and-
check. Basado en que es fácil comprobar si la
aproximación es buena
Fundamentos Angel Vázquez-Patiño 25/68
Algoritmos
Fundamentos Angel Vázquez-Patiño 26/68
Algoritmo
Un algoritmo es una lista finita de instrucciones
que describe un cálculo, que cuando se ejecuta
con una serie de entradas, tendrá un conjunto de
estados bien definidos y eventualmente producirá
una salida.
Fundamentos Angel Vázquez-Patiño 27/68
Metáfora de la Receta
Pavo al horno
1) Precalentar el horno por 20 minutos
2) Sacar el pavo de la bolsa
3) Poner el pavo en el horno
4) Esperar 3 horas
5) Si el pavo está dorado, sacar el pavo
6) Si el pavo aún no está dorado, esperar 15
minutos más y volver al paso 5
Pruebas para saber si el proceso se completó
Saltar a una instrucción específica
Orden
Fundamentos Angel Vázquez-Patiño 28/68
Fundamentos Angel Vázquez-Patiño 29/68
Fundamentos Angel Vázquez-Patiño 30/68
Fundamentos Angel Vázquez-Patiño 31/68
De los algoritmos a las máquinas
Fundamentos Angel Vázquez-Patiño 32/68
De los algoritmos a las máquinas
1) Computadoras específicas (fixed-program
computers)
2) Computadoras de programas almacenados
(stored-program computers) o computadoras
de propósito general
Fundamentos Angel Vázquez-Patiño 33/68
Computadoras específicas
●
Diseñadas para hacer cosas puntuales,
mayormente para resolver problemas
matemáticos. E.g., ecuaciones lineales
●
Máquina Bombe de Alan Turing (WWII), para
romper códigos de la máquina Enigma
(Alemanes)
●
Cambiar el programa ≡ cambiar los circuitos
Fundamentos Angel Vázquez-Patiño 34/68
Computadoras específicas
Fundamentos Angel Vázquez-Patiño 35/68
Computadoras de propósito general
●
Almacena y manipula una secuencia de
instrucciones y tiene componentes que
ejecutan cualquier instrucción en esa secuencia
●
Máquina altamente flexible ya que contiene
una arquitectura con un conjunto de
instrucciones y se detalla el proceso (cálculo)
como una secuencia de esas instrucciones
(programa)
●
El intérprete es el corazón de la computadora,
ejecutando cualquier conjunto de instrucciones
Fundamentos Angel Vázquez-Patiño 36/68
Computadoras de propósito general
●
Los programas y los datos están en la memoria
●
Un contador de programa apunta a una
dirección particular de memoria y el cálculo
comienza ejecutando la instrucción en ese
punto
●
Comúnmente el intérprete simplemente apunta
hacia la siguiente instrucción en la secuencia
●
Pero cuando se realiza una prueba, la
ejecución puede saltar a otro punto en la
secuencia de instrucciones (control de flujo)
Fundamentos Angel Vázquez-Patiño 37/68
Arquitectura de una máquina básica
Memoria
Entrada Salida
Unidad de Control
Unidad Aritmética
Lógica (ALU)
Datos
12.2
Abc
True
Contador de programa
Instrucciones
------------
------------
------------
+ - * / ^ √ if copy
Fundamentos Angel Vázquez-Patiño 38/68
Metáfora de la Receta
Fundamentos Angel Vázquez-Patiño 39/68
Actividad
Fundamentos Angel Vázquez-Patiño 40/68
Lenguajes de Programación
Fundamentos Angel Vázquez-Patiño 41/68
Lenguajes de Programación
●
Para crear secuencias de instrucciones y darle
a las computadoras sus órdenes de máquina
●
Cualquier cosa que se pueda programar en un
lenguaje, se puede programar en otro (¿?)
●
Ofrecen un gran conjunto de primitivas para
“ensamblar” una secuencia de operaciones
No importa las primitivas ni la complejidad de
programar en uno u otro lenguaje, la computadora
hace exactamente lo que se le pide que haga
Fundamentos Angel Vázquez-Patiño 42/68
No importa las primitivas ni la
complejidad de programar en uno u otro
lenguaje, la computadora hace
exactamente lo que se le pide que haga.
Fundamentos Angel Vázquez-Patiño 43/68
Lenguajes de Programación
Lo que los conforma
1) Conjunto de constructos primitivos
2) Sintaxis
3) Semántica estática
4) Semántica
Fundamentos Angel Vázquez-Patiño 44/68
Lenguajes de Programación
Al igual que el lenguaje natural
●
Los contructos primitivos, son palabras
●
La sintaxis describe qué serie de palabras
constituyen una oración bien formada
●
La semántica estática define qué oraciones
tienen sentido
●
La semántica define el significado de esas
oraciones
●
En Python los constructos primitivos incluyen los
literales (1, ‘hola’) y los operadores infijos (-, *)
Fundamentos Angel Vázquez-Patiño 45/68
Constructos primitivos
Fundamentos Angel Vázquez-Patiño 46/68
Sintáxis
●
Juan atardecer cometa
●
<sustantivo> <sustantivo> <sustantivo>
●
Juan come pollo
●
<sustantivo> <verbo> <sustantivo>
Python
●
4.5 3.5 7.8 4.5 + 7.8
Fundamentos Angel Vázquez-Patiño 47/68
Semántica estática
●
Define qué conjunto de constructos primitivos
(palabras) sintácticamente correctos tienen
sentido
●
Ellos es rápido
●
<Pronombre> <verbo> <adjetivo>
●
Ellos son rápidos
Python
●
3.2/‘hola’
●
<literal> <operador> <literal>
Fundamentos Angel Vázquez-Patiño 48/68
Semántica
●
En lenguajes de programación, la semántica de
un lenguaje asocia un solo significado (¡sin
ambigüedad!) a cada conjunto de constructos
primitivos sintácticamente correctos y sin
errores de semántica estática
●
Cuando apoyé el cuadro sobre la mesa, se
rompió
●
Mi mamá me va a vender
●
Vimos a Juan paseando
Fundamentos Angel Vázquez-Patiño 49/68
Lenguajes de Programación
Errores
Sintaxis
●
Más comunes pero menos peligrosos
Semántica estática
●
Python lo revisa en la ejecución
Fundamentos Angel Vázquez-Patiño 50/68
Lenguajes de Programación
Cuando los programas tienen errores
●
Terminación espontánea (en tiempo de
ejecución; e.g. a/b)
●
Bucle infinito (error lógico)
●
Termina con una respuesta incorrecta (error
lógico)
●
Un programa con un error en sus resultados es
difícil de detectar en programas largos.
Fundamentos Angel Vázquez-Patiño 51/68
https://es.digitaltrends.com/autos/tesla-error-dog-mode/
Fundamentos Angel Vázquez-Patiño 53/68
https://archive.is/20130902010756/www.wired.com/software/coolapps/news/2005/11/69355?currentPage=1
Fundamentos Angel Vázquez-Patiño 54/68
Cuando los cálculos causan
muertes, Colapso del edificio Space
https://youtu.be/KIHmpCHMiKw
Fundamentos Angel Vázquez-Patiño 55/68
Cuando los cálculos causan
muertes
Fundamentos Angel Vázquez-Patiño 56/68
Solución de problemas
Fundamentos Angel Vázquez-Patiño 57/68
Solución de problemas
Polya (1957)
Fundamentos Angel Vázquez-Patiño 58/68
Solución de problemas
Entender el problema
●
Establecer los datos del problema
●
Aclarar lo que se va a resolver (¿Cuál es la
pregunta?)
●
Precisar el resultado que se desea lograr
●
Organizar la información
●
Trazar un diagrama que ayude a entender el
problema
Fundamentos Angel Vázquez-Patiño 59/68
Solución de problemas
Obtener un plan de solución
●
Escoger las operaciones a efectuar
●
No tomar en cuenta los datos inútiles
●
Descomponer el problema en otros más
pequeños
Fundamentos Angel Vázquez-Patiño 60/68
Solución de problemas
Aplicar el plan de solución
●
Ejecutar en detalle cada operación
Fundamentos Angel Vázquez-Patiño 61/68
Solución de problemas
Revisar la solución
●
Dar una respuesta completa
●
Verificar por apreciación que la respuesta es
adecuada
Fundamentos Angel Vázquez-Patiño 62/68
Solución de problemas y
programación
Fundamentos Angel Vázquez-Patiño 63/68
Problemas y programación
Fundamentos Angel Vázquez-Patiño 64/68
Problema y programación
Analizar el
problema
Fundamentos Angel Vázquez-Patiño 65/68
Actividad
Fundamentos Angel Vázquez-Patiño 66/68
Actividad
Resuelva los ejercicios de la sección Ejercicios
desde cero del documento Ejercicios Básicos de
Programación
●
Enlace https://goo.gl/X0UTxi
Fundamentos Angel Vázquez-Patiño 67/68
Conceptos y términos importantes
Fundamentos Angel Vázquez-Patiño 68/68
Conceptos y términos importantes
●
Computadora
●
Representación del conocimiento y Algoritmos
●
Fixed/stored-program computers
●
Lenguaje de programación y sus componentes
●
Pasos para resolver un problema
●
Qué esperar de un error de cálculo
¡Reprobaste!
Fundamentos Angel Vázquez-Patiño 69/68
Referencias
●
Guttag, J., 2016. Introduction to computation
and programming using Python: with
application to understanding data, 2nd ed. The
MIT Press, Cambridge, Massachusetts.
●
Polya, G., 1957. How to solve it: a new aspect
of mathematical method. Garden City, N.Y.:
Doubleday.
Fundamentos Angel Vázquez-Patiño 70/68
Preguntas

Más contenido relacionado

La actualidad más candente

Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
Washington Velásquez
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
Norma Gamboa
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
Jose Luis Crespo
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacion
Marti Matura
 
Fundamento de Algoritmos
Fundamento de AlgoritmosFundamento de Algoritmos
Fundamento de Algoritmos
Jorge Luis Betancourt
 
Cuestionario video
Cuestionario videoCuestionario video
Cuestionario video
Leonardo Torres
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
charnisch
 
Programa 2
Programa 2Programa 2
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Karina Arguedas Ruelas
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
Omar B.
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
fior
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
cemayoral
 
07 funciones
07 funciones07 funciones
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
Ronal Palomino
 
Fp02
Fp02Fp02
Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)
Karlos Valladares
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
Pablo Haya
 
PhpLab04
PhpLab04PhpLab04
Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012
Gabii Méndez
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
FRESH221 C.R
 

La actualidad más candente (20)

Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacion
 
Fundamento de Algoritmos
Fundamento de AlgoritmosFundamento de Algoritmos
Fundamento de Algoritmos
 
Cuestionario video
Cuestionario videoCuestionario video
Cuestionario video
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
 
Programa 2
Programa 2Programa 2
Programa 2
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
07 funciones
07 funciones07 funciones
07 funciones
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Fp02
Fp02Fp02
Fp02
 
Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
 
PhpLab04
PhpLab04PhpLab04
PhpLab04
 
Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 

Similar a Fundamentos de Computación y Programación

Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
gabriela eraso
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
ValeryPatarroyohoyos
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
ssuserf18419
 
Comparto '00000' contigo
Comparto '00000' contigoComparto '00000' contigo
Comparto '00000' contigo
ValeriaDavila6
 
Unidad2 compu luis jimenez
Unidad2 compu luis jimenezUnidad2 compu luis jimenez
Unidad2 compu luis jimenez
LuisJoseJimenez
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
ValeryPatarroyohoyos
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
mariagarciauchima
 
Desarrollo de habilidades de pensamiento-PERIODO 3
Desarrollo de habilidades de pensamiento-PERIODO 3Desarrollo de habilidades de pensamiento-PERIODO 3
Desarrollo de habilidades de pensamiento-PERIODO 3
nicolasacosta53
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
sarasepulveda12
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
AndrsRueda13
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
StebanSanchez2
 
conceptos básicos de programación
conceptos básicos de programación conceptos básicos de programación
conceptos básicos de programación
SamuelTrivio
 
Tema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxTema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptx
docmarcoantoniosotov
 
Tema 1 - Introducción
Tema 1  - IntroducciónTema 1  - Introducción
Tema 1 - Introducción
Pablo Haya
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
Lincoln School
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
juandabaronaac
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Unidad 1Unidad 1
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientos
pabloandresbueno
 
Trabajo tecnología
Trabajo tecnologíaTrabajo tecnología
Trabajo tecnología
SantiagoMercadoRiver
 

Similar a Fundamentos de Computación y Programación (20)

Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
 
Comparto '00000' contigo
Comparto '00000' contigoComparto '00000' contigo
Comparto '00000' contigo
 
Unidad2 compu luis jimenez
Unidad2 compu luis jimenezUnidad2 compu luis jimenez
Unidad2 compu luis jimenez
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
 
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdfTALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
TALLER ANEXO SOBRE ESTRUCTURAS BÁSICAS.pdf
 
Desarrollo de habilidades de pensamiento-PERIODO 3
Desarrollo de habilidades de pensamiento-PERIODO 3Desarrollo de habilidades de pensamiento-PERIODO 3
Desarrollo de habilidades de pensamiento-PERIODO 3
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
 
Imforme escrito periodo 3
Imforme escrito periodo 3Imforme escrito periodo 3
Imforme escrito periodo 3
 
conceptos básicos de programación
conceptos básicos de programación conceptos básicos de programación
conceptos básicos de programación
 
Tema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptxTema 2 Algoritmo Concepto y Ejemplos.pptx
Tema 2 Algoritmo Concepto y Ejemplos.pptx
 
Tema 1 - Introducción
Tema 1  - IntroducciónTema 1  - Introducción
Tema 1 - Introducción
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientos
 
Trabajo tecnología
Trabajo tecnologíaTrabajo tecnología
Trabajo tecnología
 

Más de Angel Vázquez Patiño

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
Angel Vázquez Patiño
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
Angel Vázquez Patiño
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
Angel Vázquez Patiño
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
Angel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
Angel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
Angel Vázquez Patiño
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
Angel Vázquez Patiño
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
Angel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
Angel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
Angel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
Angel Vázquez Patiño
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
Angel Vázquez Patiño
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
Angel Vázquez Patiño
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
Angel Vázquez Patiño
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
Angel Vázquez Patiño
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
Angel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Angel Vázquez Patiño
 
Caracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, EcuadorCaracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, Ecuador
Angel Vázquez Patiño
 

Más de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 
Caracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, EcuadorCaracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, Ecuador
 

Último

Instructivo de Habilidades Socioemocionales y Factores de Riesgo Ccesa007.pdf
Instructivo de Habilidades Socioemocionales y Factores de Riesgo  Ccesa007.pdfInstructivo de Habilidades Socioemocionales y Factores de Riesgo  Ccesa007.pdf
Instructivo de Habilidades Socioemocionales y Factores de Riesgo Ccesa007.pdf
Demetrio Ccesa Rayme
 
Inteligencia Artificial en el Aprendizaje Basado en Proyectos Ccesa007.pdf
Inteligencia Artificial  en el  Aprendizaje Basado en Proyectos  Ccesa007.pdfInteligencia Artificial  en el  Aprendizaje Basado en Proyectos  Ccesa007.pdf
Inteligencia Artificial en el Aprendizaje Basado en Proyectos Ccesa007.pdf
Demetrio Ccesa Rayme
 
Maikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdfMaikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdf
DevinsideSolutions
 
Sesion-de-Proyecto-Eureka para proyectos
Sesion-de-Proyecto-Eureka para proyectosSesion-de-Proyecto-Eureka para proyectos
Sesion-de-Proyecto-Eureka para proyectos
orlandoAragonVelasqu1
 
DIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdfDIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdf
Alfaresbilingual
 
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdfPRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
Fernanda Salazar
 
EL increible reino Fungi y sus características
EL increible reino Fungi y sus característicasEL increible reino Fungi y sus características
EL increible reino Fungi y sus características
cjach2502
 
planificación diaria trastorno del lenguaje.docx
planificación diaria trastorno del lenguaje.docxplanificación diaria trastorno del lenguaje.docx
planificación diaria trastorno del lenguaje.docx
Elsa71869
 
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdfGui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
FRANCISCO PAVON RABASCO
 
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdfPLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
Karlos Rivero
 
Calidad de vida laboral - Ética y Responsabilidad Social Empresarial
Calidad de vida laboral - Ética y Responsabilidad Social EmpresarialCalidad de vida laboral - Ética y Responsabilidad Social Empresarial
Calidad de vida laboral - Ética y Responsabilidad Social Empresarial
JonathanCovena1
 
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADORApoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
NicoleEnriquez19
 
Ejercicios propuestos (if , switch).docx
Ejercicios propuestos (if , switch).docxEjercicios propuestos (if , switch).docx
Ejercicios propuestos (if , switch).docx
sebastianjacome1808
 
Clasificación de los animales vertebrados
Clasificación de los animales vertebradosClasificación de los animales vertebrados
Clasificación de los animales vertebrados
DianaLopez859290
 
examen tercer trimestre repaso primer grado.pdf
examen tercer trimestre repaso primer grado.pdfexamen tercer trimestre repaso primer grado.pdf
examen tercer trimestre repaso primer grado.pdf
SangreRS
 
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
sahoriperezyupe
 
Presentación sector la arenita_paijan pptx
Presentación sector la arenita_paijan pptxPresentación sector la arenita_paijan pptx
Presentación sector la arenita_paijan pptx
Aracely Natalia Lopez Talavera
 
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
manuelhinojosa1950
 
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptxLa orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
PaolaAlejandraCarmon1
 
Módulo de lectoescritura para primer grado
Módulo de lectoescritura para primer gradoMódulo de lectoescritura para primer grado
Módulo de lectoescritura para primer grado
marilynfloresyomona1
 

Último (20)

Instructivo de Habilidades Socioemocionales y Factores de Riesgo Ccesa007.pdf
Instructivo de Habilidades Socioemocionales y Factores de Riesgo  Ccesa007.pdfInstructivo de Habilidades Socioemocionales y Factores de Riesgo  Ccesa007.pdf
Instructivo de Habilidades Socioemocionales y Factores de Riesgo Ccesa007.pdf
 
Inteligencia Artificial en el Aprendizaje Basado en Proyectos Ccesa007.pdf
Inteligencia Artificial  en el  Aprendizaje Basado en Proyectos  Ccesa007.pdfInteligencia Artificial  en el  Aprendizaje Basado en Proyectos  Ccesa007.pdf
Inteligencia Artificial en el Aprendizaje Basado en Proyectos Ccesa007.pdf
 
Maikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdfMaikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdf
 
Sesion-de-Proyecto-Eureka para proyectos
Sesion-de-Proyecto-Eureka para proyectosSesion-de-Proyecto-Eureka para proyectos
Sesion-de-Proyecto-Eureka para proyectos
 
DIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdfDIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdf
 
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdfPRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
PRESENTO TRABAJO DE APLICACIONES EN INTERNET.pdf
 
EL increible reino Fungi y sus características
EL increible reino Fungi y sus característicasEL increible reino Fungi y sus características
EL increible reino Fungi y sus características
 
planificación diaria trastorno del lenguaje.docx
planificación diaria trastorno del lenguaje.docxplanificación diaria trastorno del lenguaje.docx
planificación diaria trastorno del lenguaje.docx
 
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdfGui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
 
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdfPLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
PLAN DE MONITOREO Y ACOMPAÑAMIENTO PEDAGÓGICO 2024.pdf
 
Calidad de vida laboral - Ética y Responsabilidad Social Empresarial
Calidad de vida laboral - Ética y Responsabilidad Social EmpresarialCalidad de vida laboral - Ética y Responsabilidad Social Empresarial
Calidad de vida laboral - Ética y Responsabilidad Social Empresarial
 
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADORApoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
Apoplejia_UNIVERSIDAD CENTRAL DEL ECUADOR
 
Ejercicios propuestos (if , switch).docx
Ejercicios propuestos (if , switch).docxEjercicios propuestos (if , switch).docx
Ejercicios propuestos (if , switch).docx
 
Clasificación de los animales vertebrados
Clasificación de los animales vertebradosClasificación de los animales vertebrados
Clasificación de los animales vertebrados
 
examen tercer trimestre repaso primer grado.pdf
examen tercer trimestre repaso primer grado.pdfexamen tercer trimestre repaso primer grado.pdf
examen tercer trimestre repaso primer grado.pdf
 
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
agua- José María Arguedas- resumen de 2 de los cuetos de la obra "Agua"
 
Presentación sector la arenita_paijan pptx
Presentación sector la arenita_paijan pptxPresentación sector la arenita_paijan pptx
Presentación sector la arenita_paijan pptx
 
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
 
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptxLa orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
 
Módulo de lectoescritura para primer grado
Módulo de lectoescritura para primer gradoMódulo de lectoescritura para primer grado
Módulo de lectoescritura para primer grado
 

Fundamentos de Computación y Programación

  • 1. Programación Orientada al Cálculo Científico Fundamentos Angel Vázquez-Patiño angel.vazquezp@ucuenca.edu.ec Facultad de Ingeniería Universidad de Cuenca 30 de marzo de 2021
  • 2. Fundamentos Angel Vázquez-Patiño 3/68 Objetivos 1. Conocer cómo se representa el conocimiento para que pueda ser relacionado a la computación 2. Conocer qué es un algoritmo 3. Conocer cómo un algoritmo se ejecuta en una computadora 4. Conocer los componentes de un lenguaje de programación y los errores posibles al programar 5. Pasos para solucionar problemas
  • 3. Fundamentos Angel Vázquez-Patiño 4/68 Contenido Computadoras Pensamiento Computacional Algoritmos De los Algoritmos a las Máquinas Lenguajes de Programación Solución de problemas
  • 5. Fundamentos Angel Vázquez-Patiño 6/68 Computadoras ● Calcula y recuerda los resultados ● Una computadora típica realiza billones de cálculos en un segundo ● Pequeñas computadoras tienen cientos de gigabytes de memoria
  • 6. Fundamentos Angel Vázquez-Patiño 7/68 Computadoras Qué tipo de cálculos ● Operaciones incorporadas en los lenguajes ● Definidas por el programador ¡Exactamente lo que el programador le pide!
  • 7. Fundamentos Angel Vázquez-Patiño 8/68 Computadoras ● En la mayoría de la historia humana, la computación estuvo limitada por la velocidad del cerebro humano y la habilidad de grabar los resultados a mano ● Sólo problemas pequeños se podían resolver computacionalmente ● Aún con los computadores modernos hay problemas irresolubles
  • 14. Fundamentos Angel Vázquez-Patiño 15/68 Apollo Guidance Computer https://es.wikipedia.org/wiki/Apollo_Guidance_Computer Memoria palabras de 16-bits 2048 palabras RAM, 4 KB de RAM 36864 palabras de ROM 72 KB de ROM
  • 15. Fundamentos Angel Vázquez-Patiño 16/68 Dispositivos de telecomunicación portátil “Esto debe permitir a los astrofísicos triangular ecuaciones complejas en tiempo real.” https://youtu.be/vEgdeMGu4uQ?t=244
  • 18. Fundamentos Angel Vázquez-Patiño 19/68 Pensamiento Computacional
  • 19. Fundamentos Angel Vázquez-Patiño 20/68 Representación del Conocimiento ● En psicología cognitiva dos maneras (en general) en que se almacena la información en la memoria a largo plazo. Conocimiento declarativo ● Declaración de hechos, conceptos o ideas y que se pueden almacenar como proposiciones ● La raíz cuadrada de x es un número y tal que y×y=x ● Pero no se dice nada de cómo hacerlo Conocimiento imperativo ● “El cómo”, o la receta para deducir la información ● Para expresar mandatos, órdenes, etc.
  • 20. Fundamentos Angel Vázquez-Patiño 21/68 Representación del Conocimiento Conocimiento imperativo ● Heron de Alejandría fue el primero para documentar la manera de calcular la raíz cuadrada de un número ● Su método consiste en una serie de pasos bien definidos
  • 21. Fundamentos Angel Vázquez-Patiño 22/68 Cálculo de la Raíz Cuadrada de x 1. Suponer una primera aproximación, g. 2. Si g×g es suficientemente cercano a x, parar y decir que g es la respuesta. 3. Caso contrario, crear una nueva aproximación promediando g y x/g, i.e., (g + x/g)/2. 4. Con la nueva aproximación, llamada nuevamente g, repetir el proceso hasta que g×g sea suficientemente cercano a x.
  • 22. Fundamentos Angel Vázquez-Patiño 23/68 Raíz cuadrada de 16 1. Iniciar g con un valor arbitrario, e.g. 2. 2. Se decide que 2×2=4 no es suficientemente cercano a 16. 3. Asignar (2+16/2)/2=5 a g. 4. 5×5=25 no es suficientemente cercano a 16. 5. Asignar (5+16/5)/2=4.1 a g. 6. 4.1×4.1=16.81 es una buena aproximación y se para el proceso.
  • 23. Fundamentos Angel Vázquez-Patiño 24/68 Representación del Conocimiento ● La descripción del método es una secuencia clara de simples pasos, junto con un flujo de control que especifica cuándo cada paso debe ser ejecutado ● Esa descripción se llama algoritmo. ● Este es un ejemplo de un algoritmo guess-and- check. Basado en que es fácil comprobar si la aproximación es buena
  • 25. Fundamentos Angel Vázquez-Patiño 26/68 Algoritmo Un algoritmo es una lista finita de instrucciones que describe un cálculo, que cuando se ejecuta con una serie de entradas, tendrá un conjunto de estados bien definidos y eventualmente producirá una salida.
  • 26. Fundamentos Angel Vázquez-Patiño 27/68 Metáfora de la Receta Pavo al horno 1) Precalentar el horno por 20 minutos 2) Sacar el pavo de la bolsa 3) Poner el pavo en el horno 4) Esperar 3 horas 5) Si el pavo está dorado, sacar el pavo 6) Si el pavo aún no está dorado, esperar 15 minutos más y volver al paso 5 Pruebas para saber si el proceso se completó Saltar a una instrucción específica Orden
  • 30. Fundamentos Angel Vázquez-Patiño 31/68 De los algoritmos a las máquinas
  • 31. Fundamentos Angel Vázquez-Patiño 32/68 De los algoritmos a las máquinas 1) Computadoras específicas (fixed-program computers) 2) Computadoras de programas almacenados (stored-program computers) o computadoras de propósito general
  • 32. Fundamentos Angel Vázquez-Patiño 33/68 Computadoras específicas ● Diseñadas para hacer cosas puntuales, mayormente para resolver problemas matemáticos. E.g., ecuaciones lineales ● Máquina Bombe de Alan Turing (WWII), para romper códigos de la máquina Enigma (Alemanes) ● Cambiar el programa ≡ cambiar los circuitos
  • 33. Fundamentos Angel Vázquez-Patiño 34/68 Computadoras específicas
  • 34. Fundamentos Angel Vázquez-Patiño 35/68 Computadoras de propósito general ● Almacena y manipula una secuencia de instrucciones y tiene componentes que ejecutan cualquier instrucción en esa secuencia ● Máquina altamente flexible ya que contiene una arquitectura con un conjunto de instrucciones y se detalla el proceso (cálculo) como una secuencia de esas instrucciones (programa) ● El intérprete es el corazón de la computadora, ejecutando cualquier conjunto de instrucciones
  • 35. Fundamentos Angel Vázquez-Patiño 36/68 Computadoras de propósito general ● Los programas y los datos están en la memoria ● Un contador de programa apunta a una dirección particular de memoria y el cálculo comienza ejecutando la instrucción en ese punto ● Comúnmente el intérprete simplemente apunta hacia la siguiente instrucción en la secuencia ● Pero cuando se realiza una prueba, la ejecución puede saltar a otro punto en la secuencia de instrucciones (control de flujo)
  • 36. Fundamentos Angel Vázquez-Patiño 37/68 Arquitectura de una máquina básica Memoria Entrada Salida Unidad de Control Unidad Aritmética Lógica (ALU) Datos 12.2 Abc True Contador de programa Instrucciones ------------ ------------ ------------ + - * / ^ √ if copy
  • 37. Fundamentos Angel Vázquez-Patiño 38/68 Metáfora de la Receta
  • 39. Fundamentos Angel Vázquez-Patiño 40/68 Lenguajes de Programación
  • 40. Fundamentos Angel Vázquez-Patiño 41/68 Lenguajes de Programación ● Para crear secuencias de instrucciones y darle a las computadoras sus órdenes de máquina ● Cualquier cosa que se pueda programar en un lenguaje, se puede programar en otro (¿?) ● Ofrecen un gran conjunto de primitivas para “ensamblar” una secuencia de operaciones No importa las primitivas ni la complejidad de programar en uno u otro lenguaje, la computadora hace exactamente lo que se le pide que haga
  • 41. Fundamentos Angel Vázquez-Patiño 42/68 No importa las primitivas ni la complejidad de programar en uno u otro lenguaje, la computadora hace exactamente lo que se le pide que haga.
  • 42. Fundamentos Angel Vázquez-Patiño 43/68 Lenguajes de Programación Lo que los conforma 1) Conjunto de constructos primitivos 2) Sintaxis 3) Semántica estática 4) Semántica
  • 43. Fundamentos Angel Vázquez-Patiño 44/68 Lenguajes de Programación Al igual que el lenguaje natural ● Los contructos primitivos, son palabras ● La sintaxis describe qué serie de palabras constituyen una oración bien formada ● La semántica estática define qué oraciones tienen sentido ● La semántica define el significado de esas oraciones ● En Python los constructos primitivos incluyen los literales (1, ‘hola’) y los operadores infijos (-, *)
  • 44. Fundamentos Angel Vázquez-Patiño 45/68 Constructos primitivos
  • 45. Fundamentos Angel Vázquez-Patiño 46/68 Sintáxis ● Juan atardecer cometa ● <sustantivo> <sustantivo> <sustantivo> ● Juan come pollo ● <sustantivo> <verbo> <sustantivo> Python ● 4.5 3.5 7.8 4.5 + 7.8
  • 46. Fundamentos Angel Vázquez-Patiño 47/68 Semántica estática ● Define qué conjunto de constructos primitivos (palabras) sintácticamente correctos tienen sentido ● Ellos es rápido ● <Pronombre> <verbo> <adjetivo> ● Ellos son rápidos Python ● 3.2/‘hola’ ● <literal> <operador> <literal>
  • 47. Fundamentos Angel Vázquez-Patiño 48/68 Semántica ● En lenguajes de programación, la semántica de un lenguaje asocia un solo significado (¡sin ambigüedad!) a cada conjunto de constructos primitivos sintácticamente correctos y sin errores de semántica estática ● Cuando apoyé el cuadro sobre la mesa, se rompió ● Mi mamá me va a vender ● Vimos a Juan paseando
  • 48. Fundamentos Angel Vázquez-Patiño 49/68 Lenguajes de Programación Errores Sintaxis ● Más comunes pero menos peligrosos Semántica estática ● Python lo revisa en la ejecución
  • 49. Fundamentos Angel Vázquez-Patiño 50/68 Lenguajes de Programación Cuando los programas tienen errores ● Terminación espontánea (en tiempo de ejecución; e.g. a/b) ● Bucle infinito (error lógico) ● Termina con una respuesta incorrecta (error lógico) ● Un programa con un error en sus resultados es difícil de detectar en programas largos.
  • 50. Fundamentos Angel Vázquez-Patiño 51/68 https://es.digitaltrends.com/autos/tesla-error-dog-mode/
  • 51. Fundamentos Angel Vázquez-Patiño 53/68 https://archive.is/20130902010756/www.wired.com/software/coolapps/news/2005/11/69355?currentPage=1
  • 52. Fundamentos Angel Vázquez-Patiño 54/68 Cuando los cálculos causan muertes, Colapso del edificio Space https://youtu.be/KIHmpCHMiKw
  • 53. Fundamentos Angel Vázquez-Patiño 55/68 Cuando los cálculos causan muertes
  • 54. Fundamentos Angel Vázquez-Patiño 56/68 Solución de problemas
  • 55. Fundamentos Angel Vázquez-Patiño 57/68 Solución de problemas Polya (1957)
  • 56. Fundamentos Angel Vázquez-Patiño 58/68 Solución de problemas Entender el problema ● Establecer los datos del problema ● Aclarar lo que se va a resolver (¿Cuál es la pregunta?) ● Precisar el resultado que se desea lograr ● Organizar la información ● Trazar un diagrama que ayude a entender el problema
  • 57. Fundamentos Angel Vázquez-Patiño 59/68 Solución de problemas Obtener un plan de solución ● Escoger las operaciones a efectuar ● No tomar en cuenta los datos inútiles ● Descomponer el problema en otros más pequeños
  • 58. Fundamentos Angel Vázquez-Patiño 60/68 Solución de problemas Aplicar el plan de solución ● Ejecutar en detalle cada operación
  • 59. Fundamentos Angel Vázquez-Patiño 61/68 Solución de problemas Revisar la solución ● Dar una respuesta completa ● Verificar por apreciación que la respuesta es adecuada
  • 60. Fundamentos Angel Vázquez-Patiño 62/68 Solución de problemas y programación
  • 61. Fundamentos Angel Vázquez-Patiño 63/68 Problemas y programación
  • 62. Fundamentos Angel Vázquez-Patiño 64/68 Problema y programación Analizar el problema
  • 64. Fundamentos Angel Vázquez-Patiño 66/68 Actividad Resuelva los ejercicios de la sección Ejercicios desde cero del documento Ejercicios Básicos de Programación ● Enlace https://goo.gl/X0UTxi
  • 65. Fundamentos Angel Vázquez-Patiño 67/68 Conceptos y términos importantes
  • 66. Fundamentos Angel Vázquez-Patiño 68/68 Conceptos y términos importantes ● Computadora ● Representación del conocimiento y Algoritmos ● Fixed/stored-program computers ● Lenguaje de programación y sus componentes ● Pasos para resolver un problema ● Qué esperar de un error de cálculo ¡Reprobaste!
  • 67. Fundamentos Angel Vázquez-Patiño 69/68 Referencias ● Guttag, J., 2016. Introduction to computation and programming using Python: with application to understanding data, 2nd ed. The MIT Press, Cambridge, Massachusetts. ● Polya, G., 1957. How to solve it: a new aspect of mathematical method. Garden City, N.Y.: Doubleday.