La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

NOMBRE: ABIGAIL ALEJANDRA PIO LARA NOMBRE: ABIGAIL ALEJANDRA PIO LARA MATERIA: LENGUAJES Y AUTOMATAS MATERIA: LENGUAJES Y AUTOMATAS TEMA: RESUMEN DE LA.

Presentaciones similares


Presentación del tema: "NOMBRE: ABIGAIL ALEJANDRA PIO LARA NOMBRE: ABIGAIL ALEJANDRA PIO LARA MATERIA: LENGUAJES Y AUTOMATAS MATERIA: LENGUAJES Y AUTOMATAS TEMA: RESUMEN DE LA."— Transcripción de la presentación:

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

2

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 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 }; S4 = {todos los varones vivos llamados Juan}. S3 se describe como el conjunto de todas las x tales que x2- 6x 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 }; S4 = {todos los varones vivos llamados Juan}. S3 se describe como el conjunto de todas las x tales que x2- 6x 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. 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. 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). 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: LPara cualquier conjunto A, B, y C: A A = A; A A = A; A \ A = {}; A \ A = {}; A B = B A; A B = B A; (A B) C = A (B C); (A B) C = A (B C); C \ (A B) = (C \ A) (C \ B); C \ (A B) = (C \ A) (C \ B); C \ (B \ A) = (A C) (C \ B); C \ (B \ A) = (A C) (C \ B); (B \ A) C = (B C) \ A = B (C \ A); (B \ A) C = (B C) \ A = B (C \ A); (B \ A) C = (B C) \ (A \ C); (B \ A) C = (B C) \ (A \ C); A B sí y solamente si A B = A; A B sí y solamente si A B = A; A B sí y solamente si A B = B; A B sí y solamente si A B = B; A B sí y solamente si A \ B = Ø; A B sí y solamente si A \ B = Ø; A B = Ø sí y solamente si B \ A = B; A B = Ø sí y solamente si B \ A = B; A B A A B; A B A A B; A {} = Ø; A {} = Ø; A {} = A; A {} = A; {} \ A = Ø; {} \ A = Ø; A \ {} = A. A \ {} = A.

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. 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. 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. 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 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. 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. 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. 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

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. 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: 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 P : El aguila es un ave Q : La ballena es un mamifero 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. 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. ConectivaSí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. 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. PQ¬ P P Q VVFVVVV VFFFVFF FVVFVVF FFVFFVV

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. 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. 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. 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. PQRS P Q¬ ( P Q)R S¬ ( P Q) ( R S) VFVVFVVV

16 De la evaluación de una fórmula, se pueden definir los siguientes conceptos 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. 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. 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 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 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->Q y ¬ PvQ se observa que todas sus interpretaciones son iguales, por lo que se dice que ambas fórmulas son equivalentes Al evaluar las fórmulas P->Q y ¬ PvQ se observa que todas sus interpretaciones son iguales, por lo que se dice que ambas fórmulas son equivalentes EJEMPLO: EJEMPLO: PQ¬ P P Q¬ P Q VVFVV VFFFF FVVVV FFVVV

18 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 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 Ley de equivalenciaFórmula Doble Implicación F G = (F G) ( G H) Implicación F G = ¬ F G Distribución F ( G H ) = (F G ) ( F H ) Asociación (F G ) H = F ( G H ) Complementación F ¬ F = Contradicción F ¬ F = Tautología ¬ ¬ F = F Conmutación 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 Absorción F F Q = F F ( F Q ) = F F ¬ F Q = F Q Leyes de Morgan ¬ (F Q H ) = ¬ F ¬ Q ¬ H

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. 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. 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

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. 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. 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. Aquí se expone un breve panorama de los más importantes tipos de lenguajes de programación.

23 AÑOLENGUAJEINVENTORDESCRIPCION 1900BINARIOBoolprimer lenguaje 1946PlankalkulKonrad Zusecreado para jugar al ajedrez 1949Short Codelenguaje traducido a mano 1950ASM (ensamblador)lenguaje ensamblador 1951A-0Grace Hopperfue el primer compilador 1952AUTOCODEAlick E. Glennie compilador muy rudimentario 1956FORTRANIBM sistema de TRAducción de FORmulas matemáticas 1956COBOL Compilador 1958ALGOL LISP Interprete orientado a la Inteligencia Artificial 1961FORTRAN IVIBM sistema de TRAducción de FORmulas matemáticas

24 1961COBOL 61 Extendido 1960ALGOL 60 Revisado 1964PASCALNiklaus Wirthprogramacion estructurada 1964BASIC Universidad de Dartmouth (california) Beginners All Purpose Symbolic Instruction Code AÑOLENGUAJEINVENTORDESCRIPCION 1965SNOBOL 1965APLsolo anotacion 1965COBOL PL/I 1966FORTRAN 66IBM sistema de TRAducción de FORmulas matemáticas 1967SIMULA 67

25 AÑOLENGUAJEINVENTORDESCRIPCION 1968ALGOL SNOBOL4 1970GW-BASICantiguo y clasico BASIC 1970APL/ SMALLTALK Centro de Investigación de Xerox en Palo Alto pequeño y rapido 1972CLaboratorios Belllenguaje con tipos 1974COBOL PL /ILenguaje sencillo 1977FORTRAN 77IBM sistema de TRAducción de FORmulas matemáticas 1980sSMALLTALK/VDigitalkpequeño y rapido 1980C con clasesLaboratorios Belllenguaje con clases

26 AÑOLENGUAJEINVENTORDESCRIPCION 1981PROLOG Ministerio Japonés de Comercio Internacional e Industria (MITI) Lenguaje estandar para la Inteligencia Artificial 1982ADA Ministerio de Defensa de los EE.UU lenguaje muy seguro 1984C++ AT&T Bell Laboratories (Bjarne Stroustrup) compilador 1985CLIPPER compilador para bases de datos 1985QuickBASIC 1.0Microsoft®compilador de BASIC 1986QuickBASIC 2.0Microsoft® soporte de tarjeta gráfica EGA 1987QuickBASIC 3.0Microsoft®43 lineas con la tarjeta EGA 1987QuickBASIC 4.0Microsoft®tarjetas Hercules, VGA

27 AÑOLENGUAJEINVENTORDESCRIPCION 1987CLIPPER SUMMER '87 compilador para bases de datos 1988QuickBASIC 4.5Microsoft®tarjeta SVGA 1989QuickBASIC 7.1Microsoft® ultima version de QuickBASIC 1989ASIC v5.0 interprete tipo QBASIC shareware 1990VISUAL C VISUAL BASICScriptMicrosoft®lenguaje de script 1990HTMLTim Berners-Leepara internet 1993XML C. M. Sperberg- McQueen para internet 1993SGML Charles F. Goldfarb para internet

28 AÑOLENGUAJEINVENTORDESCRIPCION 1990WMLpara internet 1990ASPMicrosoft®para internet 1990PHPpara internet 1995JAVA Sun Microsystems para internet y proposito general 1995CLIPPER 5.01 compilador para bases de datos 1995GNAT ADA95 Ministerio de Defensa de los EE.UU lenguaje muy seguro 1995FORTRAN 95IBM sistema de TRAducción de FORmulas matemáticas 1991VISUAL BASIC 1.0Microsoft® 1992VISUAL BASIC 2.0Microsoft®

29 AÑOLENGUAJEINVENTORDESCRIPCION 1993VISUAL BASIC 3.0Microsoft® 1994VISUAL BASIC 4.0Microsoft® 1995VISUAL BASIC 5.0Microsoft® 1998VISUAL BASIC 6.0Microsoft® 1990sC# 2001VISUAL BASIC.NETMicrosoft®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. 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. 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. 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. 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 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 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. Todos estos conceptos fueron presentados en el lenguaje Simula 67, desde el año 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. 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. 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. 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. 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.


Descargar ppt "NOMBRE: ABIGAIL ALEJANDRA PIO LARA NOMBRE: ABIGAIL ALEJANDRA PIO LARA MATERIA: LENGUAJES Y AUTOMATAS MATERIA: LENGUAJES Y AUTOMATAS TEMA: RESUMEN DE LA."

Presentaciones similares


Anuncios Google