NOMBRE: ABIGAIL ALEJANDRA PIO LARA - PowerPoint PPT Presentation

About This Presentation
Title:

NOMBRE: ABIGAIL ALEJANDRA PIO LARA

Description:

nombre: abigail alejandra pio lara materia: lenguajes y automatas tema: resumen de la i unidad profesor: m.c. jose angel toledo introduccion seg n lo leido en este ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 34
Provided by: Abi47
Learn more at: https://www.oocities.org
Category:

less

Transcript and Presenter's Notes

Title: NOMBRE: ABIGAIL ALEJANDRA PIO LARA


1
  • NOMBRE ABIGAIL ALEJANDRA PIO LARA
  • MATERIA LENGUAJES Y AUTOMATAS
  • TEMA RESUMEN DE LA I UNIDAD
  • PROFESOR M.C. JOSE ANGEL TOLEDO

2
TEORIA DE CONJUNTOS
3
INTRODUCCION
  • Según lo leido en este tema la Teoría de
    conjuntos, es una rama de las matemáticas a la
    que el matemático alemán Georg Cantor dio su
    primer tratamiento formal en el siglo XIX. El
    concepto de conjunto es uno de los más
    fundamentales en matemáticas

4
ALGUNAS DEFINICIONES
  • Un conjunto es una agrupación, clase o colección
    de objetos denominados elementos del conjunto, un
    conjunto se representa frecuentemente mediante
    llaves que contienen sus elementos, ya sea de
    forma explícita, escribiendo todos y cada uno de
    los elementos, o dando una fórmula, regla o
    proposición que los describa. Por ejemplo, S1
    2, 4 S2 2, 4, 6, ..., 2n, ... todos los
    enteros pares S3 x x2- 6x 11 3 S4
    todos los varones vivos llamados Juan. S3 se
    describe como el conjunto de todas las x tales
    que x2- 6x 11 3.
  • Subconjuntos y superconjuntos Si todo elemento
    de un conjunto R pertenece también al conjunto S,
    R es un subconjunto de S, y S es un superconjunto
    de R utilizando símbolos, R S, o S R. Todo
    conjunto es un subconjunto y un superconjunto de
    sí mismo.
  • Unión e intersección Si A y B son dos
    subconjuntos de un conjunto S, los elementos que
    pertenecen a A, a B o a ambos forman otro
    subconjunto de S llamado unión de A y B Los
    elementos comunes a A y B forman un subconjunto
    de S denominado intersección de A y B .
  • Diferencia y complementario El conjunto de
    elementos que pertenecen a A pero no a B se
    denomina conjunto diferencia entre A y B, escrito
    A - B (y a veces A\B). Si A es un subconjunto del
    conjunto l, el conjunto de los elementos que
    pertenecen a l pero no a A, es decir, l - A, se
    denomina conjunto complementario de A (con
    respecto a l), lo que se escribe l - A A' (que
    también puede aparecer como A, Ã o A).

5
ALGEBRA DE CONJUNTOS
  • LPara cualquier conjunto A, B, y C
  • A n A  A
  • A ? A  A
  • A \ A 
  • A n B  B n A
  • A ? B  B ? A
  • (A n B) n C  A n (B n C)
  • (A ? B) ? C  A ? (B ? C)
  • C \ (A n B)  (C \ A) ? (C \ B)
  • C \ (A ? B)  (C \ A) n (C \ B)
  • C \ (B \ A)  (A n C) ? (C \ B)
  • (B \ A) n C  (B n C) \ A  B n (C \ A)
  • (B \ A) ? C  (B ? C) \ (A \ C)
  • A ? B sí y solamente si A n B  A
  • A ? B sí y solamente si A ? B  B
  • A ? B sí y solamente si A \ B  Ø
  • A n B  Ø sí y solamente si B \ A  B
  • A n B ? A ? A ? B
  • A n   Ø

6
MULTIPLICACION DE CONJUNTOS
  • Si A y B son dos conjuntos, el conjunto de todos
    los posibles pares ordenados de elementos de la
    forma (a, b), donde a pertenece a A y b pertenece
    a B, se denomina producto cartesiano de A y B,
    que se escribe normalmente A B .

CORRESPONDENCIA ENTRE CONJUNTOS Los elementos del
conjunto A 1, 2, 3 se pueden relacionar,
emparejar o hacer corresponder con los elementos
del conjunto B x, y, z de distintas maneras,
de forma que a todo elemento de B le corresponda
uno de A, a todo elemento de A le corresponda uno
de B, elementos distintos de un conjunto están
emparejados con elementos distintos del otro.
7
DIAGRAMA DE VENN
  • A cada conjunto se le considera encerrado
    dentro de una curva (plana) cerrada. Los
    elementos del conjunto considerado pueden ser
    específicamente dibujados o pueden quedar
    (implícitamente) sobreentendidos. Los diagramas
    son empleados, para representar tanto a los
    conjuntos como a sus operaciones, y constituyen
    una poderosa herramienta geométrica, desprovista
    de validez lógica
  • EJEMPLO

8
PRODUCTO CARTESIANO DE CONJUNTOS
  • Se dice que si A y B son dos conjuntos, el
    conjunto de todos los posibles pares ordenados de
    elementos de la forma (a, b), donde a pertenece a
    A y b pertenece a B, se denomina producto
    cartesiano de A y B, que se escribe normalmente A
    B.
  • Correspondencia entre conjuntos Se dice que
    existe una correspondencia de conjuntos si los
    elementos del conjunto A 1, 2, 3 se pueden
    relacionar o hacer corresponder mediante una
    correspondencia f con los del conjunto B x, y,
    z de modo que a todo elemento de A le
    corresponda uno, ninguno o varios elementos de B.
  • Como nota importante se debe saber que Cuando
    una correspondencia es tal que a cada elemento
    del primer conjunto le corresponde uno y sólo uno
    del segundo conjunto, entonces se llama
    aplicación

9
OPERACIONES CON CONJUNTOS
  • Unión Dados dos conjuntos cualesquiera A y B
    llamamos "Unión" de A y B al conjunto formado por
    todos los elementos que pertenecen a A o a B.
  • Intersección Dados dos conjuntos cualesquiera A
    y B llamamos "Interseccion" de A y B al conjunto
    formado por todos los elementos que pertenecen a
    A y pertenecen a B.
  • Diferencia Dados dos conjuntos cualesquiera A
    y B llamamos "Diferencia" de A "menos" B al
    conjunto formado por los elementos que pertenecen
    a A y no pertenecen a B.

10
LOGICA PROPOSICIONAL
11
INTRODUCCION
  • Se dice que la lógica proposicional trabaja con
    sentencias u oraciones a las cuales se les puede
    asociar un valor de verdad (cierto o falso)
    estas sentencias se conocen como sentencias
    declarativas o, simplemente, proposiciones pueden
    existir proposiciones que son simples, así como
    proposiciones que están construidas por otras
    proposiciones usando elementos (conectivas
    lógicas) que las asocian .
  • La lógica proposicional (o cálculo proposicional)
    tiene el propósito de simbolizar cualquier tipo
    de razonamiento para su análisis y tratamiento,
    esta usa sentencias declarativas a las que se
    puede asociar un valor de verdad (cierto o
    falso) es decir, usa proposiciones. Ejemplo P y
    Q son proposiciones
  • P El aguila es un ave
  • Q La ballena es un mamifero

12
CONECTIVAS LOGICAS
  • La construcción de fórmulas compuestas requiere
    del uso de elementos que permitan establecer una
    relación entre los átomos que la forman estos
    elementos se conocen como conectivas lógicas.

Conectiva Símbolos asociados
Negación (No) , , -
Conjunción (Y) Ù, ,
Disyunción (O) Ú, ,
Condicional (Si ... entonces)
Bicondicional (Si y solo si) ,
13
  • Como es posible determinar si una proposición es
    cierta o falsa, al encontrarse con proposiciones
    unidas por conectivas lógicas, es necesario
    conocer cuales son las reglas que se aplican para
    determinar si la proposición completa es cierta o
    falsa.

P Q P PÙQ PÚQ P Q P Q
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
14
JERARQUIA DE CONECTIVAS
  • para determinar el valor de verdad de una
    proposición compuesta, es necesario conocer
    cuales son las reglas que se aplican para
    determinar si la proposición completa es cierta o
    falsa asimismo, al tener fórmulas con dos o más
    conectivas, se deben conocer las reglas de
    precedencia y asociatividad de las conectivas
    para asegurar que la evaluación es correcta.
  • donde (negación) es el operador con mayor
    jerarquía en la secuencia y (bicondicional) es
    el operador con el menor peso.

15
INTERPRETACION DE FORMULAS
  • Una interpretación de una fórmula es una
    asignación de valores de verdad a un conjunto de
    átomos para una fórmula con dos átomos se tienen
    dos posibles interpretaciones, para una con tres
    se tienen ocho interpretaciones, y en general
    para una fórmula con n átomos de tienen 2n
    interpretaciones.

P Q R S P Q ( P Q) RÙS ( P Q) ( RÙS)
V F V V F V V V
16
  • De la evaluación de una fórmula, se pueden
    definir los siguientes conceptos
  • Tautología o fórmula válida Una fórmula es una
    tautología si es verdadera para todas sus
    posibles interpretaciones. Una tautología también
    se conoce como una fórmula válida.
  • Contradicción, fórmula inconsistente o fórmula
    insatisfactible Una fórmula es una contradicción
    si es falsa para todas sus posibles
    interpretaciones. Una contradicción también se
    conoce como una fórmula inconsistente o una
    fórmula insatisfactible.
  • Fórmula consistente o fórmula satisfactible Una
    fórmula que al menos tiene una interpretación
    verdadera se conoce como una fórmula consistente
    o satisfactible.
  • Fórmula inválida Una fórmula es inválida si es
    falsa para al menos una interpretación

17
FORMULAS EQUIVALENTES
  • Al evaluar las fórmulas P-gtQ y PvQ se observa
    que todas sus interpretaciones son iguales, por
    lo que se dice que ambas fórmulas son
    equivalentes
  • EJEMPLO

P Q P P Q PÚQ
V V F V V
V F F F F
F V V V V
F F V V V
18
Ley de equivalencia Fórmula
Doble Implicación FG (F G)Ù(G H)
Implicación F G FÚG
Distribución FÚ(GÙH) (FÚG)Ù(FÚH)
FÙ(GÚH) (FÙG)Ú(FÙH)
Asociación (FÚG)ÚH FÚ(GÚH)
(FÙG)ÙH FÙ(GÙH)
Complementación FÙ F Contradicción
FÚ F Tautología
F F
Conmutación FÚG GÚF
FÙG GÙF
Cero FÚTautología Tautología
FÙContradicción Contradicción
Identidad FÚContradicción F
FÙTautología F
Idempotencia FÚF F
FÙF F
Absorción FÚFÙQ F
FÙ(FÚQ) F
FÚ FÙQ FÚQ
Leyes de Morgan (FÚQÚH) FÙ QÙ H
(FÙQÙH) FÚ QÚ H
  • Existen varias equivalencias entre fórmulas de la
    lógica proposicional, las cuales se conocen como
    leyes de equivalencia. La tabla 3 muestra estas
    leyes. Se utiliza el símbolo Tautología para
    indicar una tautología y el símbolo Contradicción
    para indicar una contradicción

19
CIRCUITOS LOGICOS
  • Debido a que una proposición puede ser evaluada y
    resultar solo verdadera o falsa, se puede deducir
    alguna equivalencia con el álgebra booleana, que
    maneja solamente dos valores (0 y 1). Las
    propiedades del cálculo proposicional son
    equivalentes a las del álgebra desarrollada por
    Boole.
  • En el álgebra booleana, una proposición es
    equivalente a una variables, y las conectivas
    lógicas se utilizan como compuertas lógicas. La
    figura 1 muestra las compuestas lógicas más
    representativas de esta álgebra. Los esquemas que
    resultan de aplicar las compuertas lógicas se
    conocen como circuitos lógicos.

20
HISTORIA DE LOS LENGUAJES
21
INTRODUCCION
  • Es muy importante, el lenguaje de programación es
    el medio de comunicación entre el hombre y la
    máquina. El modelo general de las computadoras,
    desde que fue esbozado por von Neumann, no ha
    cambiado mucho, mientras que la invención humana
    para proponerse nuevos problemas a resolver,
    usando la computadora, parece no tener límites.
    Un lenguaje es un conjunto de palabras. Por tanto
    el conjunto 1,12,123,1234,12345,123456 es un
    lenguaje sobre el alfabeto compuesto por digitos.
    De forma similar, la colección de palabras
    inglesas correctas es un lenguaje sobre el
    alfabeto ingles. Obsérvese que si ? es un
    alfabeto, también es un lenguaje, el formado por
    todas las cadenas con un único símbolo.

22
  • En consecuencia, los lenguajes de programación
    tienen que adaptarse a éstas crecientes
    necesidades y aumentar la expresividad para poder
    resolver problemas muy diversos y cada vez más
    complejos. Además, tienen que ofrecer cierta
    eficiencia en la ejecución. Es un logro difícil
    de alcanzar y por lo tanto, se requiere una
    búsqueda constante de nuevos lenguajes para ello.
  • Aquí se expone un breve panorama de los más
    importantes tipos de lenguajes de programación.

23
AÑO LENGUAJE INVENTOR DESCRIPCION
1900 BINARIO Bool primer lenguaje
1946 Plankalkul Konrad Zuse creado para jugar al ajedrez
1949 Short Code lenguaje traducido a mano
1950 ASM (ensamblador) lenguaje ensamblador
1951 A-0 Grace Hopper fue el primer compilador
1952 AUTOCODE Alick E. Glennie compilador muy rudimentario
1956 FORTRAN IBM sistema de TRAducción de FORmulas matemáticas
1956 COBOL Compilador
1958 ALGOL 58
1960 LISP Interprete orientado a la Inteligencia Artificial
1961 FORTRAN IV IBM sistema de TRAducción de FORmulas matemáticas
24
AÑO LENGUAJE INVENTOR DESCRIPCION
1961 COBOL 61 Extendido
1960 ALGOL 60 Revisado
1964 PASCAL Niklaus Wirth programacion estructurada
1964 BASIC Universidad de Dartmouth (california) Beginners All Purpose Symbolic Instruction Code



1965 SNOBOL
1965 APL solo anotacion
1965 COBOL 65
1966 PL/I
1966 FORTRAN 66 IBM sistema de TRAducción de FORmulas matemáticas
1967 SIMULA 67
25
AÑO LENGUAJE INVENTOR DESCRIPCION
1968 ALGOL 68
1968 SNOBOL4
1970 GW-BASIC antiguo y clasico BASIC
1970 APL/360
1972 SMALLTALK Centro de Investigación de Xerox en Palo Alto pequeño y rapido
1972 C Laboratorios Bell lenguaje con tipos
1974 COBOL 74
1975 PL /I Lenguaje sencillo
1977 FORTRAN 77 IBM sistema de TRAducción de FORmulas matemáticas
1980s SMALLTALK/V Digitalk pequeño y rapido
1980 C con clases Laboratorios Bell lenguaje con clases
26
AÑO LENGUAJE INVENTOR DESCRIPCION
1981 PROLOG Ministerio Japonés de Comercio Internacional e Industria (MITI) Lenguaje estandar para la Inteligencia Artificial
1982 ADA Ministerio de Defensa de los EE.UU lenguaje muy seguro
1984 C ATT Bell Laboratories (Bjarne Stroustrup) compilador
1985 CLIPPER compilador para bases de datos
1985 QuickBASIC 1.0 Microsoft compilador de BASIC
1986 QuickBASIC 2.0 Microsoft soporte de tarjeta gráfica EGA
1987 QuickBASIC 3.0 Microsoft 43 lineas con la tarjeta EGA
1987 QuickBASIC 4.0 Microsoft tarjetas Hercules, VGA
27
AÑO LENGUAJE INVENTOR DESCRIPCION
1987 CLIPPER SUMMER '87 compilador para bases de datos
1988 QuickBASIC 4.5 Microsoft tarjeta SVGA
1989 QuickBASIC 7.1 Microsoft ultima version de QuickBASIC
1989 ASIC v5.0 interprete tipo QBASIC shareware
1990 VISUAL C
1990 VISUAL BASICScript Microsoft lenguaje de script
1990 HTML Tim Berners-Lee para internet
1993 XML C. M. Sperberg-McQueen para internet
1993 SGML Charles F. Goldfarb para internet
28
AÑO LENGUAJE INVENTOR DESCRIPCION
1990 WML para internet
1990 ASP Microsoft para internet
1990 PHP para internet
1995 JAVA Sun Microsystems para internet y proposito general
1995 CLIPPER 5.01 compilador para bases de datos
1995 GNAT ADA95 Ministerio de Defensa de los EE.UU lenguaje muy seguro
1995 FORTRAN 95 IBM sistema de TRAducción de FORmulas matemáticas
1991 VISUAL BASIC 1.0 Microsoft
1992 VISUAL BASIC 2.0 Microsoft
29
AÑO LENGUAJE INVENTOR DESCRIPCION
1993 VISUAL BASIC 3.0 Microsoft
1994 VISUAL BASIC 4.0 Microsoft
1995 VISUAL BASIC 5.0 Microsoft
1998 VISUAL BASIC 6.0 Microsoft
1990s C
2001 VISUAL BASIC .NET Microsoft La evolución de Visual Basic
30
  • Los primeros lenguajes de programación surgieron
    de la idea de Charles Babagge a mediados del
    siglo XIX.  Consistía en lo que el denominaba la
    maquina analítica, pero que por motivos técnicos
    no pudo construirse hasta mediados del siglo XX.
  • Con el colaboro Ada Lovelace, la cual es
    considerada como la primera programadora de la
    historia, pues realizo programas para aquella
    supuesta maquina de Babagge, en tarjetas
    perforadas. Como la maquina no llego nunca a
    construirse, los programas de Ada, lógicamente,
    tampoco llegaron a ejecutarse, pero si suponen un
    punto de partida de la programación.
  • En 1936, Turing y Post introdujeron un formalismo
    de manipulación de símbolos (la denominada
    máquina de Turing) con el que se puede realizar
    cualquier cómputo que hasta ahora podemos
    imaginar. Los "Lenguajes Maquina" y los
    "Lenguajes Ensambladores" (primera y segunda
    generación)  son dependientes de la maquina. Cada
    tipo de maquina, tal como VAX de digital, tiene
    su propio lenguaje maquina distinto y su lenguaje
    ensamblador asociado. El lenguaje ensamblador es
    simplemente una representación simbólica del
    lenguaje maquina asociado, lo cual permite una
    programación menos tediosa que con el anterior.
    Sin embargo, es necesario un conocimiento de la
    arquitectura mecánica subyacente para realizar
    una programación efectiva en cualquiera de estos
    niveles lenguajes.
  •  Los lenguajes de alto nivel son normalmente
    fáciles de aprender porque están formados por
    elementos de lenguajes naturales, como el inglés.

31
  • Lenguajes Imperativos. En este tipo de
    lenguajes, cuyo origen está ligado a la propia
    arquitectura de von Neumann, la arquitectura
    consta de una secuencia de celdas, llamadas
    memoria, en la cual se pueden guardar en forma
    codificada, lo mismo datos que instrucciones y
    de un procesador, el cual es capaz de ejecutar de
    manera secuencial una serie de operaciones,
    principalmente aritméticas y booleanas, llamadas
    comandos. En general, un lenguaje imperativo
    ofrece al programador conceptos que se traducen
    de forma natural al modelo de la máquina. Los
    lenguajes imperativos más destacados de la
    historia han sido FORTRAN, Algol, Pascal, C,
    Modula-2, Ada.
  • Lenguajes Funcionales.  Una función convierte
    ciertos datos en resultados. Si supiéramos cómo
    evaluar una función, usando la computadora,
    podríamos resolver automáticamente muchos
    problemas. Así pensaron algunos matemáticos, que
    no le tenían miedo a la máquina, e inventaron los
    lenguajes de programación funcionales.
  • Aprovecharon la posibilidad que tienen las
    funciones para manipular datos simbólicos, y no
    solamente numéricos, y la propiedad de las
    funciones que les permite componer, creando de
    esta manera, la oportunidad para resolver
    problemas complejos a partir de las soluciones a
    otros más sencillos. También se incluyó la
    posibilidad de definir funciones recursivamente.
  • El lenguaje funcional más antiguo, y seguramente
    el más popular hasta la fecha, es LISP.  En la
    década de los 80 hubo una nueva ola de interés
    por los lenguajes funcionales, añadiendo la
    tipificación y algunos conceptos modernos de
    modularización y polimorfismo, como es el caso
    del lenguaje ML.

32
  • Lenguajes Lógicos.  El conocimiento básico de las
    matemáticas se puede representar en la lógica en
    forma de axiomas, a los cuales se añaden reglas
    formales para deducir cosas verdaderas (teoremas)
    a partir de los axiomas. Algunos matemáticos, a
    finales de siglo XX y principios de XXI,
    encontraron la manera de automatizar
    computacionalmente el razonamiento lógico que
    permitió que diera origen a los lenguajes
    lógicos.
  • También se conoce a estos lenguajes, y a los
    funcionales, como lenguajes declarativos, porque
    el programador, parar solucionar un problema,
    todo lo que tiene que hacer es describirlo vía
    axiomas y reglas de deducción en el caso de la
    programación lógica y vía funciones en el caso de
    la programación funcional.
  • En los lenguajes lógicos se utiliza el formalismo
    de la lógica para representar el conocimiento
    sobre un problema y para hacer preguntas que, si
    se demuestra que se pueden deducir a partir del
    conocimiento dado en forma de axiomas y de las
    reglas de deducción estipuladas, se vuelven
    teoremas. Así se encuentran soluciones a
    problemas formulados como preguntas.
  • El PROLOG es el primer lenguaje lógico y el más
    conocido y utilizado. También en este caso, las
    aplicaciones a la Inteligencia Artificial
    mantienen el lenguaje vivo y útil.
  • Lenguajes Orientados a Objetos. 
  • A mediados de los años 60 se empezó a vislumbrar
    el uso de las computadoras para la simulación de
    problemas del mundo real. Pero el mundo real está
    lleno de objetos.
  • Así es que a dos noruegos, Dahl y Nygaard, se les
    ocurrió el concepto de objeto y sus colecciones,
    llamadas clases de objetos, que permitieron
    introducir abstracciones de datos a los lenguajes
    de programación.  A ellos también les debemos el
    concepto de polimorfismo introducido vía
    procedimientos virtuales.
  • Todos estos conceptos fueron presentados en el
    lenguaje Simula 67, desde el año 1967. En los
    años 80 hubo una verdadera ola de propuestas de
    lenguajes de programación con conceptos de
    objetos encabezada por Smalltalk, C, Modula-3,
    Ada 95 y terminando con Java.

33
  • Lenguajes Concurrentes, Paralelos y
    Distribuidos. 
  • La necesidad de ofrecer concurrencia en el acceso
    a los recursos computacionales se remonta a los
    primeros sistemas operativos.  Por ejemplo,
    mientras un programa realizaba una operación de
    entrada o salida otro podría gozar del tiempo del
    procesador para sumar dos números.
  • Cuando los procesadores cambiaron de tamaño y de
    precio, se abrió la posibilidad de contar con
    varios procesadores en una máquina y ofrecer el
    procesamiento en paralelo, es decir, procesar
    varios programas al mismo tiempo. Esto dio el
    impulso a la creación de lenguajes que permitían
    expresar el paralelismo. Finalmente, llegaron las
    redes de computadoras, que también ofrecen la
    posibilidad de ejecución en paralelo, pero con
    procesadores distantes, lo cual conocemos como la
    programación distribuida.
  • Históricamente encontramos en la literatura
    soluciones conceptuales y mecanismos tales como
    semáforos, regiones críticas, monitores, envío de
    mensajes (CSP), llamadas a procedimientos remotos
    (RPC), que posteriormente se incluyeron como
    partes de los lenguajes de programación en
    Concurrent Pascal, Modula, Ada, OCCAM, y
    últimamente en Java.
Write a Comment
User Comments (0)
About PowerShow.com