Está en la página 1de 37

Presentación Curso

Programación
Matemática y Programación

Fundamentos de Programación

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática, UCT, UNAB


MGINGI/48767/50081
raul@iarobotics.cl

June 6, 2022

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Contenidos

1 Presentación Curso
¿Qué sabemos?
2 Programación
¿Cómo aprenderemos a Programar?
Abstracción
3 Matemática y Programación
Teorı́a de Conjuntos
Algebra de Conjuntos: Definiciones
Álgebra de Conjuntos: Ejercicios Práctica

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Preguntas Iniciales

¿Qué sabemos?, Sócrates Dijo:


Este
hombre, por una parte, cree que sabe
algo, mientras que no sabe nada...
Por otra parte, yo, que igualmente
no sé, tampoco creo saber nada.

Apologı́a de Sócrates. Sócrates (470ac - 399ac)


Platón (427ac - 347ac)

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Preguntas Iniciales

Programación ¿Arte o Ciencia?


¿Qué es Arte?.
¿Qué es Ciencia?
¿Qué es Programar?
Think out of the box!!
K.I.S.S.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Preguntas Iniciales

Definición de Arte según R.A.E.


Capacidad, habilidad para hacer algo.
Manifestación de la actividad humana mediante la cual se
interpreta lo real o se plasma lo imaginado con recursos
plásticos, lingüı́sticos o sonoros.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Preguntas Iniciales

Definición de Ciencia según R.A.E.


Conjunto de conocimientos obtenidos mediante la observación
y el razonamiento, sistemáticamente estructurados y de los
que se deducen principios y leyes generales con capacidad
predictiva y comprobables experimentalmente.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación ¿Qué sabemos?
Matemática y Programación

Preguntas Iniciales
Definición de Programación !!
Programación es lo que ustedes quieran que sea.
Administración.
Visión Artificial.
Control de dispositivos.
Inteligencia Artificial.
Aprendizaje automático.
Ciencia de Datos.
Big Data.
Minerı́a de Datos.
Simulación.
Juegos; Y un largo etc.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación Abstracción
Matemática y Programación

Contenidos

1 Presentación Curso
¿Qué sabemos?
2 Programación
¿Cómo aprenderemos a Programar?
Abstracción
3 Matemática y Programación
Teorı́a de Conjuntos
Algebra de Conjuntos: Definiciones
Álgebra de Conjuntos: Ejercicios Práctica

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación Abstracción
Matemática y Programación

Para aprender a programar, utilizaremos diversas técnicas que nos


permitirán ver y analizar problemas de manera ”diferente”;
eso nos permitirá dar soluciones ”diferentes”; dentro del marco
de la tecnologı́a de la información, es decir: con Programas.
La primera de estas técnicas sera descubrir nuestras capacidades de
Abstracción y luego sistematizaremos ese aprendizaje utilizando y
aprendiendo Lógica Matemática.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación Abstracción
Matemática y Programación

Concepto
Que es Abstracción
La abstracción es una capacidad intelectual que consiste en separar
un elemento de su contexto para analizarlo y hacerse un concepto
de este.
La palabra proviene del latı́n abstrahĕre, que quiere decir ”arrastrar
lejos”, ”separar” o ”apartar”. De esta manera, abstracción
significa acción y efecto de apartar algo para comprenderlo.
La abstracción es útil e indispensable para la formación del
conocimiento humano. En efecto, todo conocimiento pasa por un
proceso de abstracción que da como resultado un “concepto
abstracto”, es decir, una idea o noción.
Por ende, los seres humanos están dotados de capacidad de
abstracción, esto es, de la capacidad para seleccionar segmentos
de la realidad y analizarlos de manera ordenada y sistemática.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación Abstracción
Matemática y Programación

Algunos Ejemplos

Representación de objetos cotidianos. Todas las personas


pueden hacerse una representación mental de los objetos que
conocen (como una mesa, una silla o un perro) a partir de la
identificación de los rasgos generales comunes a esos grupos
de objetos y desestimando los aspectos puntuales en los que
podrı́an diferir.
Elaboración de definiciones. Las personas retienen los
aspectos fundamentales del elemento que describen al
elaborar este tipo de enunciados explicativos y breves. Para
elaborarlos es necesario descartar las cuestiones menos
relevantes que no reflejan la esencia del concepto.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso
Programación Abstracción
Matemática y Programación

Algunos Ejemplos

Clasificación de animales. Cuando se pide a los alumnos que


agrupen a las distintas especies de animales en sus distintas
clases, se les está solicitando que hagan una abstracción,
identificando en cada una las caracterı́sticas fundamentales
que podrı́an asociarse con los mamı́feros, los anfibios, los
reptiles, los peces o las aves.
Resolución de cálculos matemáticos. Las personas, al realizar
una operación matemática reemplazan de manera
abstracta algunos aspectos de las cosas y aplican reglas
lógicas para manejar esas abstracciones. La matemática es
una ciencia abstracta y es por eso que tiene una gran
variedad de aplicaciones.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Contenidos

1 Presentación Curso
¿Qué sabemos?
2 Programación
¿Cómo aprenderemos a Programar?
Abstracción
3 Matemática y Programación
Teorı́a de Conjuntos
Algebra de Conjuntos: Definiciones
Álgebra de Conjuntos: Ejercicios Práctica

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Teorı́a de Conjuntos - Lógica

En programación, normalmente usamos conceptos y notaciones


matemáticas, ası́ representamos los problemas a su vez
sistematizamos la resolución de ellos a través de la generación de
algoritmos, para aprender esta forma de trabajo estudiaremos la
Teorı́a de Conjuntos y La Lógica.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones

¿Qué es?
La teorı́a de conjuntos es una rama de las matemáticas (y de la
lógica) que se dedica a estudiar las caracterı́sticas de los conjuntos
y las operaciones que pueden efectuarse entre ellos.
Por tanto, se encarga de analizar tanto los atributos que poseen,
como las relaciones que pueden establecerse entre ellos. Es decir,
su unión, intersección, diferencia,complemento y diferencia
simétrica.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones

Relaciones que se pueden establecer ente conjuntos - Enunciados


Unión de conjuntos
Intersección de conjuntos
Diferencia de conjuntos
Diferencia simétrica
Producto cartesiano
Complemento

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Razonamiento Diagramático

Los conjuntos pueden ser analizados visualmente


Para la observación de el algebra de conjuntos utilizaremos una
herramienta de análisis llamada Diagrama de Venn, nos permitirá a
través de una representación gráfica comprender como se
relacionan los conjuntos.
John Venn, fue un matemático y lógico británico miembro de la
Real Sociedad de Londres. Es especialmente conocido por su
método de representación gráfica de proposiciones y silogismos**
conocido como los diagramas de Venn.
** tipo de razonamiento deductivo que hace parte de la lógica de
origen griego.Consta de dos proposiciones como premisas y otra
como conclusión, siendo la última una inferencia necesariamente
deductiva de las otras dos.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Digrama de Venn

Definición
Un diagrama de Venn muestra conjuntos de elementos y sus
interacciones por medio de lı́neas cerradas (cı́rculos), siendo la
exterior (cuadrado) la que representa al conjunto universal (U).

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Conjuntos y Diagramas de Venn

Un (1) Conjunto
De un
conjunto: Cuenta con dos U
regiones, la región de los
elementos que pertenecen
al conjunto, y la región A
de los elementos que
están fuera del conjunto.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Conjuntos y Diagramas de Venn

Dos (2) Conjuntos


De dos
conjuntos: Tiene un total U
de 4 regiones: Las regiones
con los elementos que
solo pertenecen al conjunto A B
A o solo al conjunto B,
la región de los elementos
que pertenecen a los dos
conjuntos (sombreado con
el color verde), y la región
donde están los elementos que no pertenecen a ninguno de los dos
conjuntos pero pertenecen al Universo al igual que A y B.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Conjuntos y Diagramas de Venn


Tres (3) Conjuntos
De tres conjuntos:
Siguiendo U
la lógica de
la categorı́a anterior,
tiene un total A B
de ocho regiones,
pues hay cuatro C
intersecciones
(entre dos o entre
los tres conjuntos),
tres regiones donde
están los elementos
que pertenecen a solo uno de los tres conjuntos, y una región donde
se ubican los elementos que no pertenecen a ningún conjunto.
Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación
Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Unión de conjuntos

U Ejemplo: Sean los


conjuntos A y B

A B A = {1, 2, 3, 4}

B = {5, 6, 7, 8}
A∪B A∪B = {1, 2, 3, 4, 5, 6, 7, 8}

La Unión de dos o más conjuntos contiene cada


elemento que pertenece, al menos, a alguno de ellos.
Notación: A ∪ B
Se lee: Unión de A y B.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Intersección de


conjuntos

U Ejemplo: Sean los


conjuntos A y B

A B A = {a, b, c, d, e}

B = {e, f , g , h}
A∩B A ∩ B = {e}

La Intersección de dos o más conjuntos incluye todos


los elementos que estos conjuntos comparten.
Notación: A ∩ B
Se lee: Intersección de A y B.
Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación
Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Diferencia de conjuntos

U Ejemplo: Sean los


conjuntos A y B

A B A = {1, 2, 3, 4, 5}

B = {5, 6, 7, 8}
A−B A − B = {1, 2, 3, 4}

La Diferencia de un conjunto respecto a otro es igual


a los elementos del primer conjunto menos los
elementos del segundo.
Notación: A − B ó A \ B
Se lee: Diferencia de A y B.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Diferencia Simétrica

U Ejemplo: Sean los


conjuntos A y B

A B A = {a, b, c, d, e}

B = {e, f , g , h}
A△B A △ B = {a, b, c, d, f , g , h}

La Diferencia Simétrica de un conjunto respecto a


otro son los elementos que pertenecen a uno de los
conjuntos iniciales, pero no a ambos a la vez.
Notación e igualdad:
A △ B = (A ∪ B) \ (A ∩ B) = (A \ B) ∪ (B \ A)
Se lee: Diferencia Simétrica de A y B ó Excluyente.
Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación
Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Producto Cartesiano

U Ejemplo: Sean A y B
A B
a 1 A = {a, b}, B = {1, 2}

b 2
 
(a, 1) (a, 2)
AxB AxB =
(b, 1) (b, 2)

El Produto Cártesiano es el conjunto de todas


combinaciones de pares ordenados de dos conjuntos
dados tal que la primera componente pertenece al
conjunto A y la segunda al B.
Notación: A △ B
Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación
Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Complemento

U Ejemplo: Sean A,B,C


Conjuntos y U universo.

A A = {1, 2, 3}

U = {A, B, C }
Ac Ac = (B \ A) ∪ (C \ A)

El Complemento de un conjunto son los elemento no


contenidos en si mismo, pero que forman parte del
universo.
Notación: Ac
Se lee: Complemento de A.
Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación
Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Conjunto Vacı́o

El conjunto vacı́o es el conjunto que no tiene elementos. Es


subconjunto de todo conjunto; ya que todo conjunto contiene
el vacı́o (no es necesario representar el vacı́o). Es respuesta
válida como resultado de operaciones de conjuntos.
Se representa con el simbolo ∅
Ejemplo: Sean A,B Conjuntos.

A = {∅, 1, 2, 3}

B = {∅, A, B, C }
A ∩ Ac = {∅}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Notación de Conjuntos

La descripción de conjuntos puede ser realizada por extensión


y por comprensión, esta última permite describir los
elementos de un conjunto a través de un enunciado con
sı́mbolos matemáticos. De acuerdo a lo anterior tenemos
los siguientes casos:

Extensión Comprensión
A = {1, 2, 3} A = {x : x ∈ Z+ , 1 ≤ x ≤ 3}
B = {a, e, i, o, u} B = {x : x es vocal}
C = {−3, 3} C = {x : x 2 = 9}
D = {1, 3, 5, 7, 9} D = {x : x ∈ N, impar, 0 < x < 10}
E = {0, 1} E = {x : x es dı́gito binario}
F = {∅} F = {x : x, x ̸= x}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Notación de Conjuntos

Con la descripción por comprensión también podemos


representar las relaciones entre conjuntos.

Comprensión
A ∪ B = {x : x ∈ A∨ ∈ B}
A ∩ B = {x : x ∈ A∧ ∈ B}
A \ B = {x : x ∈ A, x ∈
/ B}
Ac = {x : x ∈ U, x ∈/ A}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Definiciones Álgebra de Conjuntos: Notación de Conjuntos

Listado de sı́mbolos y su significado.

Sı́mbolo Significado
∈ Pertenece

/ No Pertenece
∅ Conjunto Vacı́o
U Universo
:, | Tal Que
∪ Unión
∩ Intersección
∨ O, Disyunción Lógica
∧ Y, Conjunción Lógica

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn 1

Ejercicio: Sean A,B,C, Conjuntos y U Universo.

U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

A = {1, 2, 3, 4}, B = {3, 4, 5, 6, 7}, C = {2, 3, 8, 9}

Dibujar diagrama de Venn asociado al ejercicio.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn (Solución)

Solución: Diagrama de Venn: SDV1.

U
A B

1 5
4 6
3 7
2

9
8

C 10

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn Extensión

Ejercicio: Usando la solución SDV1, Describir por Extensión:


A∪B
A∪C
A∩B
B ∪C
C \B
B \ (A ∩ C )
Dibujar diagrama de Venn asociado a cada caso.

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn Extensión Solución

Solución: Diagramas de Venn Extensión: SDVE1


A ∪ B = {1, 2, 3, 4, 5, 6, 7}
A ∪ C = {1, 2, 3, 4, 8, 9}
A ∩ B = {3, 4}
B ∪ C = {2, 3, 4, 5, 6, 7, 8, 9}
C \ B = {2, 8, 9}
B \ (A ∩ C ) = {4, 5, 6, 7}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn Comprensión

Ejercicio: Usando la solución SDVE1, Describir por


Comprensión:
{1, 2, 3, 4, 5, 6, 7}
{1, 2, 3, 4, 8, 9}
{3, 4}
{2, 3, 4, 5, 6, 7, 8, 9}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación


Presentación Curso Teorı́a de Conjuntos
Programación Algebra de Conjuntos: Definiciones
Matemática y Programación Álgebra de Conjuntos: Ejercicios Práctica

Ejercicios Práctica: Diagramas de Venn Comprensión

Solución: Diagramas de Venn Comprensión: SDVC1


{1, 2, 3, 4, 5, 6, 7} = {x|x ∈ N, 0 < x < 8}
{1, 2, 3, 4, 8, 9} = {x|x ∈ N, 0 < x < 5 ∨ 7 < x < 10}
{3, 4} = {x|x ∈ Z+ , dos numeros consecutivos}
{2, 3, 4, 5, 6, 7, 8, 9} = {x|x ∈ Z+ , 2 ≤ x ≤ 9}

Raúl Espinoza,Ing., Mg. Ingenierı́a Informática. Fundamentos de Programación

También podría gustarte