Se presentan los fundamentos de computación y nociones básicas acerca de la resolución de problemas mediante la computación. Se indica lo que es el conocimiento imperativo, los algoritmos y los componentes de un lenguaje de programación.
La clase está en https://youtu.be/lRmk1wJBwTc
Se da una introducción a la manipulación y caracteres y cadenas en el lenguaje de programación C. Se muestran algunas funciones de librerías estándar de C con ejemplos de su uso. Se muestra el uso de punteros para manejar cadenas. Finalmente se muestra la conversión entre tipos de datos en C.
Fundamentos de programación: introducción a los algoritmos.
En esta presentación se explica lo que es un algoritmo y las formas de representar uno. Se explica detalladamente el concepto de variable y cómo realizar una prueba de escritorio de un algoritmo. Como una buena práctica de programación, se incentiva la documentación de un algoritmo.
Se da una introducción a la manipulación y caracteres y cadenas en el lenguaje de programación C. Se muestran algunas funciones de librerías estándar de C con ejemplos de su uso. Se muestra el uso de punteros para manejar cadenas. Finalmente se muestra la conversión entre tipos de datos en C.
Fundamentos de programación: introducción a los algoritmos.
En esta presentación se explica lo que es un algoritmo y las formas de representar uno. Se explica detalladamente el concepto de variable y cómo realizar una prueba de escritorio de un algoritmo. Como una buena práctica de programación, se incentiva la documentación de un algoritmo.
Trabajo en PowerPoint de Algoritmo y metodología para la resolución de problemas por computadora
Alumno:Luis Jose Jimenez
Carrera: Ingeniería en sistema
Se muestran y definen diferentes funciones, gráficas y su relación con los modelos matemáticos. Se analiza qué es un límite y los diferentes teoremas acerca de aquello. Finalmente, se estudia continuidad de una función en un número.
Matemáticas 2
Facultad de Arquitectura y Urbanismo
Universidad de Cuenca
Antiderivación
Técnicas de antiderivación
Área
Integral definida
Teorema del valor medio
Teorema fundamental del cálculo
Área de una región plana
Volúmenes de solidos
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
Extremos mínimos y máximos. Crecimiento y decrecimiento de una función. Concavidad de una función. Límites al infinito. Asíntotas horizontales y oblicuas. Análisis de funciones.
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
Climate consists of many components, for example, atmosphere, hydrosphere, cryosphere, and biosphere. All the components act under mechanisms that relate them in a highly nonlinear way, making the climate a complex system. This complexity is a challenge to study the climate and its implications at various spatiotemporal scales. However, the dependence of anthropogenic activities on the climate has encouraged its study in order, for example, to anticipate its periodic changes and, as far as possible, extreme events that may have adverse effects. As climate study is an intricate task, several approaches
have been used to unravel the underlying processes that dominate its behavior. Those approaches range from linear correlation analysis to complex machine learning-based knowledge discovery analysis. This last approach has become more relevant after the introduction of sophisticated climate simulation models and high-tech equipment (e.g., satellite) that allow a climate record of greater coverage (spatial and temporal) and that, together, have generated ubiquitous large databases. One of the knowledge discovery approaches based on this big data is based on climate networks. Nevertheless, causal reasoning methods have also been used recently to infer and characterize these networks, which
are called causal climate networks. Several studies have been carried out with climate networks; however, the recent introduction of causality methods makes the study of climate with causal climate networks an opportunity to explore and exploit them more widely. In addition, the particularities of the climate make it
necessary to understand specific operational issues that must be taken into account when applying networks. This thesis aims to propose new methodologies and applications of causal climate networks following as a common thread the characterization of physical phenomena that manifest
themselves at different spatial scales. For this, different case studies have been taken. They are the climate in South America and a large part of the Pacific and Atlantic oceans, then, reducing the scale, the surrounding factors that influence the rainfall of Ecuador, and, finally, the selection of predictors for downscaling models in an Andean basin. Among the main results are the following three.
First, a methodology for evaluating global climate models based on what is called here as causal flows. Second, an approach that studies causal flows and helps trace influence paths in flow fields. Third, the presentation of evidence that shows the effectiveness of methods based on causality in selecting predictors for downscaling models. The thesis contributes to efforts to bridge the gap between the climate science and causal inference communities. This through the study and application of causal reasoning and taking advantage of the enormous amounts of climate data available today.
Se explica lo que son los puntos fijos de una función, la condición para la existencia de un punto fijo, unicidad y convergencia del método y cómo aplicarlo para encontrar ceros de funciones.
Clase: https://youtu.be/2N9hyoUKwgE
Se indica cómo el intérprete trabaja cuando se interactua con objetos y cuando se lo hace usando variables para hacer referencia a dichos objetos. Además, se indica, con un ejemplo, la importancia de poner nombres nemotécnicos/descriptivos a las variables.
Clase: https://youtu.be/e_rwM31VnLU
Se indica que los métodos numéricos no son exactos y que es necesario aproximar/modelar los errores. Se explica lo que son las cifras significativas, la diferencia entre exactitud y precisión en los métodos numéricos y qué es lo que se espera en los que uno desarrolla, y, las definiciones de error.
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
Granger causal strength networks as metric for measuring GCMs performance.
Everything presented resulted in the following scientific article: Vázquez‐Patiño, A., Campozano, L., Mendoza, D., Samaniego, E., 2020. A causal flow approach for the evaluation of global climate models. Int J Climatol 1–21. https://doi.org/10.1002/joc.6470
En este trabajo se realizó una caracterización básica del río Tomebamba analizando las curvas de nivel de un área del Cantón Cuenca, visualizando el perfil topográfico del río y la cuenca hidrográfica y, finalmente, hacer una primera prueba de algún método para estudiar zonas de inundación.
El trabajo le pertenece a Daniel Gómez, Brian Mora y Ariana Román. Gráficos por Computador, semestre marzo-agosto 2018.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
Fase 1, Lenguaje algebraico y pensamiento funcional
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
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
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
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
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 (-, *)
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.
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
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
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
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.