Professional Documents
Culture Documents
INTRODUCCIN........................................................................................................... 2
1. INTRODUCCIN A LA TEORA DE LAS CIENCIAS.......................................................3
1.1 Definicin y caractersticas de conjuntos.............................................................3
1.2 Operaciones con conjuntos.................................................................................. 5
1.2.1 Unin de conjuntos........................................................................................ 5
1.2.2 Interseccin de conjuntos............................................................................... 8
1.2.3 Complemento del conjunto...........................................................................10
1.2.4 Notacin para conjuntos finitos, abiertos y cerrados......................................12
1.2.5 Producto cartesiano..................................................................................... 14
1.3 Alfabeto, cadena y lenguaje................................................................................ 15
1.4 Lenguaje de programacin y su relacin con los conceptos bsicos de ciencias
computacionales..................................................................................................... 17
CONCLUSIONES........................................................................................................ 20
FUENTES DE INFORMACIN...................................................................................... 25
INTRODUCCIN
Las ciencias de la computacin es el rea del conocimiento que se ocupa del estudio de
las bases tericas de la informacin y la computacin y de cmo se implementa en
sistemas computacionales. Existen diversos campos o disciplinas dentro de las
Ciencias de la Computacin o Ciencias Computacionales el diseo y anlisis de
algoritmos, inteligencia artificial, arquitectura y computacin en paralelo, bioinformtica
y biologa computacional, bases de datos y sistemas de informacin, grficos
visualizacin e interfaces humano computador.
En el presente documento se presentan los conceptos bsicos de la teora de conjuntos
con el fin de conocer y poner en prctica las operaciones de conjuntos as como el
estudio de las bases de los lenguajes de programacin sustentados en la teora de
autmatas para poder las ciencias computacionales dichos conceptos son alfabeto,
cadenas y lenguaje.
Finalmente se analiza la relacin que tienen los lenguajes de programacin con los
conceptos y fundamentos antes mencionados argumentando las aportaciones para
crear el lenguaje de programacin como se conoce hoy en da.
Ejemplo.
Dada la descripcin verbal el conjunto de nmeros que conforman el sistema
decimal, expresarlo por extensin, comprensin y por diagrama de Venn.
Solucin.
Por extensin: A = {0,1,2,3,4,5,6,7,8,9 }
Por comprensin: A = {x | x es un nmero del sistema decimal}
Por diagrama de Venn:
A
Figura 1 Diagrama de Venn de la representacin del conjunto
de nmeros del sistema decimal. Fuente: Elaboracin propia
Ejemplo 1:
Si A = {a, b, c, d, e} y B = {a, e, i, o}, entonces la unin de dichos conjuntos estar
formada por todos los elementos que estn en alguno de los dos conjuntos, expresado
es:
A U B = {a, b, c, d, e, i, o}
Representado mediante el diagrama de Venn:
U
b
C
d
A
a
e
i
o
B
Ejemplo 2:
IEU campus Online. Maestra en Ciencias de la Computacin y Telecomunicaciones
Introduccin a la teora de las ciencias computacionales. Julio de 2016. Pg. 6
U
naranja
manzana
mango
pera
fresa
pia
meln
sanda
pltano
Ejemplo 1:
IEU campus Online. Maestra en Ciencias de la Computacin y Telecomunicaciones
Introduccin a la teora de las ciencias computacionales. Julio de 2016. Pg. 8
a
1
b
2
Ejemplo 2:
Si A= {a, b, c} y B= {a, b, u, v}; se tiene que A B= {a, b}
a
b
u
v
B
Ejemplo 1:
Si el conjunto universal es U = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} y A = {0, 2, 4, 6, 8},
entonces el complementario de A respecto de U est formado por los elementos del
universo que no estn en A, esto es: A = {1, 3, 5, 7, 9}
A
1
5
3
7
2
6
4
8
Ejemplo 2:
complementario de A respecto de U est formado por los elementos del universo que no
estn en A, esto es:
A = {a, e}
Los conjuntos {a, e} y {b, c, d} son complementarios.
Expresado mediante el diagrama de Venn:
U
A
b
a
e
c
d
a) Conjuntos finitos
Este tipo de conjunto se distingue por la cantidad de elementos que posee, es decir,
en un conjunto es finito se puede contar la cantidad de elementos que lo conforman.
Descrito de una manera ms formal formal; un conjunto finito tiene una cantidad de
elementos o su cardinalidad igual a un nmero natural
Ejemplos:
A= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} es un conjunto finito de 10 elementos
El ejemplo anterior tambin se puede expresar con la notacin #A = 10
Se debe tomar en cuenta que los elementos adems de ser numricos tambin
podemos tener un conjunto con smbolos o elementos no numricos como se muestra a
continuacin:
B= {Christian, Emmanuel, Michelle, Allison, Andrea}
#B = 5
Propiedades de los conjuntos infinitos:
b) Conjuntos abiertos
M
A
En todo espacio mtrico siempre encontramos dos conjuntos abiertos, que son de
poco inters y por lo tanto los llamamos los abiertos triviales, que son el vaco,
denotado por y el mismo espacio M.
Toda bola abierta es un conjunto abierto. Para demostrar este hecho, supngase que
se tiene una bola con centro en a y radio r, B (a, r). Si b es un punto dentro de esta bola,
probaremos que existe un radio s, tal que la bola con centro en b y radio s est dentro
de B (a, r). Se puede expresar como:
B (b, s) B (a, r), para algn s > 0
c) Conjuntos cerrados
En un espacio mtrico (M, d), un conjunto F se dice cerrado, si su complemento M \
F es un conjunto abierto.
Ejemplo:
En el espacio de los nmeros reales, todo intervalo cerrado [a, b] es un conjunto
cerrado, pues su complementario es la unin de dos conjuntos abiertos (- , a) U (b, ),
el cual es un conjunto abierto.
1.2.5 Producto cartesiano.
AxB
a
b
c
d
1
(1, a)
(1, b)
(1, c)
(1, d)
2
(2, a)
(2, b)
(2, c)
(2, d)
3
(3, a)
(3, b)
(3, c)
(3, d)
4
(4, a)
(4, b)
(4, c)
(4, d)
b) Cadena
Una cadena es una secuencia finita de smbolos unidos. Por ejemplo en el
abecedario ingles {a, b, c, d, e, f,.., x, y, z} la unin de varios smbolos pueden formar
la cadena programming.
La longitud de una cadena w que se denota como |w|, es el nmero de smbolos que
componen la cadena. Por ejemplo programming tiene una longitud 11.
La cadena vaca, denotada por E es aquella que presenta cero apariciones de
smbolos, es una cadena que puede construirse en cualquier alfabeto.
Una cadena w es una subcadena o subpalabra de otra cadena z si existen las cadenas
x e y para las cuales z= xwy.
La concatenacin es construir una cadena nueva aadindole nuevos smbolos tras
los smbolos de la primera. Se representa con un punto () normalmente, a veces si no
es necesario se omite.
Tomando como ejemplo cadenas generadas el alfabeto ingls: java programming =
javaprogramming
c) Lenguaje
Un lenguaje es un conjunto de cadenas sobre un alfabeto determinado
IEU campus Online. Maestra en Ciencias de la Computacin y Telecomunicaciones
Introduccin a la teora de las ciencias computacionales. Julio de 2016. Pg. 15
Una vez que se tienen establecido los smbolos que se pueden utilizar para el
desarrollo de aplicaciones web basadas en el lenguaje PHP, el desarrollador tiene la
posibilidad de incluir cadenas de texto dentro de su aplicacin, el lenguaje incluye un
conjunto de palabras reservadas las cuales se podran considerar como algunas de las
cadenas predefinidas del lenguaje.
__halt_compi
ler()
break
clone
die()
empty()
endswitch
final
global
include_once
list()
as
callable (a
partir de PHP
5.4)
const
do
enddeclare
case
catch
class
continue
echo
endfor
default
elseif
endif
endwhile
finally (a partir
de PHP 5.5)
goto (a partir
de PHP 5.3)
instanceof
eval()
for
declare
else
endforea
ch
exit()
foreach
impleme
nts
interface
include
or
public
switch
require
throw
use
var
require_once
trait (a partir
de PHP 5.4)
while
private
return
namespace(a
partir de PHP
5.3)
protected
static
try
unset()
xor
yield (a partir de
if
insteadof (a
partir de PHP
5.4)
new
extends
function
isset()
PHP 5.5)
PHP al ser un lenguaje que permite crear aplicaciones web dinmicas con conexin
a base de datos en este caso se tomar como referencia el SGBD MYSQL para permitir
a la aplicacin realizar las operaciones con registros de las tablas.
Con el uso de INNER JOIN, LEFTOUTER JOIN, RIGHT OUTER JOIN y FULL OUTER
JOIN se podrn realizar consultas multitabla las cuale pueden obtener registros
relacionados y los registros relacionados ms los registros no relacionados en uno de
los dos lados o en ambos, bsicamente estas combinaciones de los datos de dos
tablas:
Sin duda los conceptos antes mencionados fueron bases primordiales para conocer los
lenguajes como los conocemos hoy en da, Segn Fanar (2016) en los inicios de la
programacin
lenguaje del ms bajo nivel (0,1), es decir, el sistema binario conocido como cdigo
mquina, siendo ste demasiado complicado para programar. Para facilitar el trabajo de
programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar
las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del
ingls; las codificaron y crearon as un lenguaje de mayor nivel, que se conoce como
assembly o lenguaje ensamblador.
Sin embargo escribir en lenguaje ensamblador es igual de complicado que hacerlo en
lenguaje mquina, solo que las letras y palabras son bastante ms fciles de recordar y
entender que secuencias de nmeros binarios.
A medida que la complejidad de las tareas que realizaban las computadoras
aumentaba, se hizo necesario disponer de un mtodo sencillo para programar.
Entonces, se crearon los lenguajes de alto nivel.
Analizado lo anterior se puede entender la gran ventaja que aportaron todas las bases
de las ciencias de la computacin en el desarrollo de lenguajes de programacin hoy en
da, pues programar en un lenguaje de alto nivel permite al programador escribir las
instrucciones de un programa utilizando expresiones y palabras sintcticas muy
similares al ingls, utilizar las operaciones bsicas suma, resta, multiplicacin y divisin
y por supuesto que el programador tenga un buen nivel de lgica para analizar y
resolver los problemas que se presenten.
Anlisis semntico:
Revisa el programa fuente para tratar de encontrar errores semnticos y
rene la informacin sobre los tipos para la fase posterior de generacin de
cdigo. En ella se utiliza la estructura jerrquica determinada por la fase de
anlisis sintctico para identificar los operadores y operandos de expresiones y
proposiciones.
Un componente importante del anlisis semntico es la Verificacin de Tipos.
Aqu, el compilador verifica si cada operador tiene operandos permitidos por la
especificacin del lenguaje fuente.
b) Sntesis
Su objetivo es la generacin de la salida expresada en el lenguaje objeto y suele
estar formado por una o varias combinaciones de fases de generacin de cdigo
(normalmente se trata de cdigo intermedio o de cdigo objeto) y de optimizacin de
cdigo (en las que se busca obtener un cdigo lo ms eficiente posible).
CONCLUSIONES
Como profesionistas del rea de TI es indispensable contar con fundamentos slidos en
lgica y matemticas para entender las ciencias computacionales la cual se ocupa del
estudio de los fundamentos tericos de la informacin y la computacin.
Con los conocimientos tericos adquiridos en ciencias computacionales se pueden
implementar nuevas soluciones a las exigencias de los sistemas computacionales esto
se puede ver con el conocimientos y aplicacin de teora de conjuntos puede ser
utilizada como base para las matemticas modernas y el desarrollo de soluciones
tecnolgicas complejas para distintas plataformas sabiendo que actualmente los
requerimientos para el desarrollo aplicaciones es cada vez ms complejo y donde
deben gestionar una gran cantidad de informacin, en el presente documento se
analiz la relacin que existe entre los lenguajes de programacin y las operaciones
con conjuntos donde se concluy
FUENTES DE INFORMACIN
Campus MVP. (9 de Julio de 2016). Obtenido de
http://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Operacionescon-conjuntos.aspx
Fanar, J. (9 de Julio de 2016). Time Rime. Obtenido de
http://timerime.com/es/linea_de_tiempo/1904120/La+Evolucin+de+la+Progra
macin+de+Computadoras+y+sus+Lenguajes--Jose+Fanar/
INEF. (8 de Julio de 2016). Descartes- Matemticas Interactivas. Obtenido de
http://recursostic.educacion.es/descartes/web/materiales_didacticos/teoria_co
njuntos_pdas/conjuntos_5.htm
Ivorra, C. (2012). Introduccin a la lgica matemtica. En lgica y Tepra de
Conjuntos. Valencia: Universidad de Valencia.
Manual de PHP. (9 de Julio de 2016). Obtenido de
http://php.net/manual/es/reserved.keywords.php
Mis apuntes de autmatas. (9 de Julio de 2016). Obtenido de
http://automatasjaenman.blogspot.mx/2012/12/cadenas-alfabetos-ylenguajes.html
Prez, A. (2010). Relaciones. En Lgica. conjuntos, relaciones y funciones. San Luis
Potos, Mxico: Publicaciones Electrnicas Sociedad Matemtica Mexicana.
Snchez , A., & Manzano, M. (2002). Relaciones y funciones. En teora de conjuntos.
Espaa: USAL.
Schokosva, & Buskova. (2013). Qu es esa cosa llamada Ciencias
Computacionales?, Qu es esa cosa llamada Ciencias Computacionales?,
Revista Antioquea de las Ciencias Computacionales y la Ingeniera del
Software. RACCIS.
WikiLibros - lgebra Fundamental/Operaciones entre Conjuntos. (8 de Julio de 2016).
Obtenido de https://es.wikibooks.org/wiki/
%C3%81lgebra_Fundamental/Operaciones_entre_Conjuntos
Wikipedia - Programming language theory. (9 de Julio de 2016). Obtenido de
https://en.wikipedia.org/wiki/Programming_language_theory