DESCRIPCION FORMAL DE LENGUAJES
|
|
- Mercedes Martín Ríos
- hace 5 años
- Vistas:
Transcripción
1 Apéndice 1 1 DESCRIPCION FORMAL DE LENGUAJES A1.1. Léxico, Sintaxis, Semántica. Un programa es una secuencia de símbolos y puede considerarse como un texto. Los símbolos de un lenguaje pertenecen a un conjunto que se denomina vocabulario o léxico. Los símbolos también se denominan elementos léxicos o tokens. Léxico significa diccionario; y aplicado en el ambiente de lenguajes de programación se utiliza para denotar los símbolos del lenguaje. Estos símbolos, a su vez, están formados por secuencias de caracteres; y existen reglas que determinan cómo puede generarse o producirse un símbolo a partir de caracteres. Cada lenguaje de programación define reglas que permiten componer el texto de un programa como una secuencia de símbolos. El conjunto de estas reglas se denomina gramática, o más usualmente, la sintaxis del lenguaje. Sintaxis significa con orden. Cada regla establece una clase definida de objetos o categorías sintácticas; como ejemplos pueden darse algunas partes típicas de un programa: acciones, declaraciones, condiciones, expresiones, etc. Asociado a cada palabra (símbolo) y a cada frase o sentencia (categoría sintáctica) debe existir un significado, el cual se traduce en valores de los objetos (constantes y variables) de acuerdo a sus tipos; o en nombres de objetos o grupos de acciones; o en la especificación de las operaciones que deben efectuarse sobre esos objetos. Todas las reglas que aportan esta información se denomina: Semántica del lenguaje. Si bien las reglas para construir símbolos y frases son finitas, el conjunto de programas es infinito. Para describir con rigurosidad los lenguajes de programación se emplea una notación formal que se denomina Metalenguaje. El formulismo más conocido, y que emplearemos en la descripción, es el Formalismo Extendido Backus-Nauer. (BNF, Backus Nauer Formalism). Básicamente consiste en describir una frase, (categoría sintáctica) o parte abstracta de un programa, mediante la secuencia de componentes, de menor categoría, que pueden reemplazar
2 2 Estructuras de Datos y Algoritmos dicha frase. Las reglas deben especificar hasta llegar al reemplazo por los símbolos que componen el diccionario. En este ambiente, los elementos léxicos del lenguaje se denominan símbolos terminales. Las componentes estructurales del lenguaje que serán reemplazadas, se denominan símbolos no terminales. La regla que establece el reemplazo de un símbolo no terminal por una secuencia de símbolos terminales y no terminales se denomina producción. Las reglas deben permitir verificar, con facilidad, si una secuencia de símbolos es o no una sentencia correcta del lenguaje. Un programador debe conocer cómo generar secuencias de símbolos terminales que cumplen la gramática. A1.2. Metalenguaje BNF. A Producción. Existe sólo una acción primitiva, es la producción. Es una ecuación sintáctica que permite definir una categoría sintáctica, S; mediante una expresión E. En símbolos: <S> ::= <E> Gráficamente: S E Figura A1.1. Producción Los paréntesis de ángulo, delimitan los símbolos no terminales. En el gráfico esto se representa por un rectángulo. La secuencia ::=, es el metasímbolo para la producción. Y se lee: puede ser reemplazado por. Una producción puede considerarse la instancia de definición de S en términos de E. Lo usual es que S corresponda a una parte o concepto del lenguaje. Por ejemplo: acciones, condiciones, tipos, etc. La expresión E, debe especificar una secuencia de símbolos; éstos, a su vez, deben especificar, en forma precisa, cómo se estructura una parte en términos de sus componentes.
3 Apéndice 1. Descripción formal de lenguajes 3 A Secuenciación de símbolos. Los lenguajes estructurados suelen disponer tres formas básicas para establecer secuencias: La alternativa, la concatenación, y la iteración. A Alternativa. Una expresión puede considerarse como una lista de términos sintácticos alternativos. En símbolos: Gráficamente: <E> ::= <T1> <T2> --- <Tn> n>0 T1 T2 E Ti Tn Figura A1.2. Alternativa El metasímbolo se lee como o excluyente. La producción anterior explica que una expresión puede remplazarse por uno (y sólo uno) de los términos de la lista. Ejemplo: <clase de almacenamiento> ::= 'auto ' 'extern ' 'register ' 'static ' 'typedef ' Nótese que los símbolos terminales, se indican por una secuencia de caracteres entre comillas simples. A Concatenación. Cada término puede ser reemplazado por la concatenación (o producto) de factores sintácticos. En símbolos: <T> ::= <F1><F2> ---- <Fn> n>0
4 4 Estructuras de Datos y Algoritmos Gráficamente: T F1 F2 Fi Fn Figura A1.3. Concatenación Ejemplo: <acción repetitiva> ::= 'while' '(' <expresión> ')' <acción> A Opción. a) Opción. Una o ninguna. Una forma de reemplazar un factor es mediante la opción. En símbolos: <F> ::= [ E ] Gráficamente: F S Figura A1.4. Opción. Los paréntesis cuadrados son los metasímbolos empleados para la opción, se indica que el factor puede ser reemplazado por la expresión o por nada. Se dice que [E] es opcional; puede estar o no. Y si está, lo hace sólo una vez. Ejemplo: <signo> ::= [ '+' '-' ]
5 Apéndice 1. Descripción formal de lenguajes 5 Signo + - Figura A1.5. Sintaxis de Signo Debe notarse que los símbolos terminales se representan encerrados en ovoides o círculos, en la descripción gráfica. La ausencia de símbolo, suele ser tratada como la ocurrencia del símbolo vacío. b) Repetición. Un factor también puede ser reemplazado por la repetición, de cero o más veces, de una expresión. En símbolos: <F> ::= { E } Gráficamente: F E Los paréntesis de llave denotan la repetición. Ejemplo: Figura A1.6. Repetición <número entero sin signo> ::= <dígito>{dígito} Para delimitar el número máximo de repeticiones, suele agregarse un valor entero como superíndice. Ejemplo: {digito}^3 indica a lo más 3 cifras.
6 6 Estructuras de Datos y Algoritmos c) Repetición de a lo menos una vez. Una alternativa de reemplazo de factor, es la repetición, de una expresión, por lo menos una vez. En símbolos: La que es semánticamente equivalente a: <F> ::= <E> {E} <F> ::= {E} <E> Estableceremos la siguiente equivalencia, como convenio, para simplificar la notación: Gráficamente: <F> ::= {E*} F E d) Lista. Una construcción de uso frecuente es: Figura A1.7. Repetición de a lo menos una vez. <lista> ::= { <entidad> <separador> } <entidad> La lista está formada por una entidad a lo menos; en caso de existir varias entidades, éstas aparecen separadas por el separador. Nótese que después de la última entidad no debe existir un separador. Debido a su frecuente uso, la sintaxis de lista puede convenirse en anotarla, en forma abreviada, según: <lista> ::= { <entidad>* <separador> }
7 Apéndice 1. Descripción formal de lenguajes 7 A Agrupaciones. En las ocasiones que sean necesarias pueden agruparse términos y factores sintácticos mediante paréntesis redondos. Ejemplo: <término simple> ::= ('A' 'B')('C' 'D') Las siguientes secuencias cumplen la sintaxis de término simple: AC AD BC BD A Sintaxis de factor. En símbolos: <F> ::= <S> <símbolo terminal> (E) E [ E ] { E } Los símbolos terminales son secuencias de símbolos tomados del vocabulario del lenguaje. Y se representan entre comillas simples. La entidad sintáctica <S> debe considerarse representada por su identificador o nombre; y debe estar definida previamente. A Descripción formal de BNF. El BNF es un lenguaje formal, y como veremos puede emplearse para describirse a sí mismo. Las siguientes producciones definen el formalismo: <sintaxis> ::= <producción> <producción> ::= <identificador> '::=' <expresión> <expresión> ::= <término> { ' ' <término> } <término> ::= <factor> { <factor> } <factor> ::= <identificador> <símbolo terminal> '(' <expresión> ')' <expresión> '[' <expresión> ']' '{' <expresión> '}' El identificador denota una entidad sintáctica.
8 8 Estructuras de Datos y Algoritmos A Ejemplos. a) 'A'['B']'C' genera ABC y AC b) 'A'{'BA'} genera A ABA ABABA... c) {'A' 'B'}'C' genera C AC BC AAC A Árboles de Derivación. Una forma de ayudar a reconocer las frases y su estructura es el desarrollo de árboles de derivación. Ejemplo: Dadas las producciones: <entero con signo>::=<signo><entero> <signo>::='+' '-' <entero>::=<dígito><entero> <dígito> <dígito>::='0' '1' (definición recursiva) Verificar si +10 pertenece o no al lenguaje. Específicamente si es o no un entero con signo. Una forma de verificación es la construcción de un árbol de derivación, que consiste en representar gráficamente los reemplazos que se efectúan desde el símbolo de partida (raíz) hasta llegar a elementos terminales (hojas). [top-down] El entero con signo puede reemplazarse por la secuencia: signo entero. enteroconsigno signo entero Figura A1.8. Secuencia signo entero A su vez, signo se reemplaza por + (ya es terminal). Y entero por: dígito entero. enteroconsigno signo entero + dígito Figura A1.9. Dígito entero entero Dígito por el terminal 1, y entero por dígito. Finalmente dígito por el terminal 0.
9 Apéndice 1. Descripción formal de lenguajes 9 enteroconsigno signo entero + dígito entero 1 dígito Figura A1.10. Entero con signo 0 El procedimiento de reconocimiento puede también efectuarse a la inversa, desde las hojas hacia la raíz. (bottom up) A Recursividad en Producciones. Consiste, en este caso, en definir un símbolo no terminal en términos de sí mismo. La recursividad permite definir lenguajes con un número finito de producciones. La definición recursiva permite generar símbolos de longitud variable. El factor básico de repetición puede describirse explícitamente en forma recursiva. Se tiene que: <A>::={<B>} (i) es equivalente a: <A>::=<vacío> <A><B> (ii) En forma gráfica: A B Figura A1.11. Repetición (i)
10 10 Estructuras de Datos y Algoritmos A A B Figura A1.12. Repetición recursiva (ii) Se dice que la definición ii) de A es recursiva. Puede comprobarse que existen otras formas equivalentes. Son equivalentes porque generan las mismas secuencias; cuestión que puede verificarse desarrollando árboles de derivación. Otras formas equivalentes son: <A> ::= <vacío> <B><A> <A> ::= <vacío> <A><B><A> (iii) (iv) La secuencia BBBB, puede lograrse para el caso (ii) según: A es reemplazado por: AB; luego A es nuevamente reemplazado por AB: ABB; luego A por AB, queda: ABBB; otra vez A por AB, queda: ABBBB; finalmente A por el símbolo vacío. Ejemplo: <S>::='z' 'y'<s> S z y S Figura A1.13. Producción recursiva Genera las secuencias: z yz yyz yyyz...
11 Apéndice 1. Descripción formal de lenguajes 11 Puede escribirse: <S>::={'y'}'z' S z A Asociatividad en Producciones. Figura A1.14. Simplificación a no recursiva. El uso de recursividad en las producciones, permite establecer reglas de asociatividad sin uso de paréntesis. Puede emplearse recursividad por la izquierda. Ejemplo: <expresión>::= <expresión><operador><variable> <variable> <operador> ::= '+' '*' <variable> ::= 'x' 'y' La secuencia x+y*x+y se interpreta: ((x+y)*x)+y y Con la derivación: exp exp op var exp op var + y exp op var * x var + y x Figura A1.15. Derivación Se refleja la asociatividad, agrupando primero las hojas más alejadas de la raíz. También puede emplearse recursividad por la derecha:
12 12 Estructuras de Datos y Algoritmos Ejemplo: <expresión> ::=<variable><operador><expresión> <variable> <operador> ::='+' '*' <variable> ::='x' 'y' La secuencia x+y*x+y se interpreta: x+(y*(x+y)) Con la derivación: exp var op exp x + var op exp y * var op exp x + var A Ambigüedad en Producciones. Figura A1.16. Derivación y Ciertas producciones pueden llevar a ambigüedades semánticas: Ejemplo: <expresión> ::=<expresión><operador><expresión> <variable> <operador> ::='+' '*' <variable> ::='a' 'b' 'c' Puede comprobarse que la secuencia: a+b*c puede interpretarse como a+(b*c) y también como (a+b)*c. Comprobar lo anterior generando los árboles de derivación correspondientes. Obviamente en una gramática deben evitarse producciones que generen ambigüedades.
13 Apéndice 1. Descripción formal de lenguajes 13 A Precedencia de operadores en expresiones aritmético lógicas. El formalismo BNF, permite reflejar el orden o jerarquía de los operadores en una expresión aritmética o lógica. Por ejemplo: Si se tiene que el operador * tiene precedencia (o mayor jerarquía) que el operador +; entonces la secuencia a+b*c se interpreta como: a+(b*c) Es decir, se realiza primero la multiplicación, luego la adición. El uso cuidadoso de las reglas de composición de expresiones aritméticas y lógicas, permite escribirlas sin usar paréntesis. Sin embargo, para mejorar la legibilidad en ciertos casos, suelen emplearse éstos. Cuando se escriben expresiones complejas empleando paréntesis, suele usarse la regla de contar los paréntesis abiertos y los cerrados: deben estar balanceados. A Reglas para construir Expresiones. i) Las expresiones están formadas por operadores y operandos. ii) Son fórmulas o reglas para computar valores. iii) Precedencia de operadores iv) Los grupos de operadores de igual precedencia se ejecutan de acuerdo a su regla de asociatividad. La siguiente lista muestra los operadores agrupados, en niveles de precedencia, en orden descendente de ésta. Cada grupo está separado del siguiente por una línea en blanco. La columna a la derecha establece la asociatividad del operador. Operador Ejemplo notación Asociatividad Post-incremento X++ desde izquierda hacia la derecha Post-decremento X-- subíndice X[Y] llamado a función X(Y) selección de miembro X.Y apunta a miembro X->Y sizeof sizeof X desde derecha a izquierda pre-incremento ++X pre-decremento --X dirección de &X indirección *X más +X menos -X
14 14 Estructuras de Datos y Algoritmos NOT al bit ~X NOT lógico!x casteo de tipo (declaración)x multiplicación X * Y desde izquierda a derecha división X / Y Resto (modulo) X % Y suma X + Y desde izquierda a derecha resta X Y Corrimiento a izquierda X << Y desde izquierda a derecha Corrimiento a derecha X >> Y Menor que X < Y desde izquierda a derecha Menor o igual que X <= Y Mayor que X > Y Mayor o igual que X >= Y Igualdad X == Y desde izquierda a derecha No igualdad X!= Y AND al bit X & Y desde izquierda a derecha OR exclusivo al bit X ^ Y desde izquierda a derecha OR inclusivo al bit X Y desde izquierda a derecha AND lógico X && Y desde izquierda a derecha OR lógico X Y desde izquierda a derecha Condicional Z? X : Y desde derecha a izquierda Asignación X = Y desde derecha a izquierda Multiplica y asigna X *= Y X=X*Y Divide y asigna X /= Y X=X/Y Resto y asigna X %= Y Suma y asigna X += Y Resta y asigna X -= Y Left shift assign X <<= Y right shift assign X >>= Y AND al bit y asigna X &= Y OR ex al bit y asigna X ^= Y OR inclusive al bit asigna X = Y
15 Apéndice 1. Descripción formal de lenguajes 15 coma X, Y desde izquierda a derecha Figura A1.17. Reglas de precedencia y asociatividad. La precedencia se refiere al orden de evaluación. Es decir, cuáles operadores reciben primero sus operandos. Ejemplos: La semántica de a/b/c es (a/b)/c de acuerdo a la regla iv) ya que hay secuencia de operadores de igual precedencia y se asocia desde izquierda a derecha. En forma similar: a/b*c se interpreta: (a/b)*c y = m * x + b se interpreta como y = ((m * x) + b) *p++ = -X->Y se interpreta como (*(p++)) = (-(X->Y)) Para la expresión: a + b*c, aplicando la regla iii), la multiplicación tiene precedencia sobre la suma, por lo tanto se ejecuta primero. Se interpreta: a + (b*c) A1.3. Símbolos del lenguaje. Léxico. El texto de un programa está formado por una secuencia de símbolos o elementos léxicos. Los elementos léxicos, a su vez, están formados por secuencias de caracteres. Existen reglas de composición que determinan cómo pueden generarse o producirse un símbolo a partir de caracteres; que en el caso de programas de alto nivel, se consideran símbolos terminales. El conjunto de símbolos terminales es el vocabulario del lenguaje (reglas léxicas). A Conjuntos de Caracteres. Los caracteres están estandarizados y les corresponde un código único (de un código de 7 bits, ISO estándar). Con 7 bits pueden codificarse 128 caracteres diferentes. Suele emplearse el código ASCII (Código Estándar Americano para el Intercambio de Información), que usa 8 bits por carácter, dejando un bit para controlar la paridad. La paridad consiste en dejar un número par o impar de unos en una palabra del código, y se emplea con fines de detección de errores. Los elementos del código que se representan (visualmente) mediante un símbolo gráfico se denominan caracteres gráficos. Entre ellos 26 letras mayúsculas, 26 minúsculas, 10 dígitos decimales, 32 caracteres especiales (signos), y el espacio.
16 16 Estructuras de Datos y Algoritmos El resto del código (33 símbolos, no gráficos) está formado por caracteres de control, que se emplean para dar efectos de formato y para controlar la comunicación de caracteres entre un equipo y otro. Se denominan de formato a: tabulación horizontal y vertical, retorno de carro, alimentación de nueva línea y alimentación de nuevo formulario. En el texto de un programa sólo se permiten caracteres gráficos y de formato. A Elementos Léxicos (tokens). En lenguajes de alto nivel es usual definir las siguientes unidades: i) Delimitadores ii) Identificadores iii) Números (literal numérico) iv) Carácter v) Strings vi) Comentarios vii) Separadores El efecto de un programa depende solamente de la particular secuencia de elementos léxicos que lo forman. Existen reglas que determinan como puede generarse una frase a partir de los elementos léxicos. El conjunto de reglas se denomina gramática del lenguaje. La gramática o estructura del lenguaje permite determinar si una secuencia de palabras (tokens) es una sentencia correcta o no. La estructura de las frases es esencial en el reconocimiento del significado de éstas (semántica). A Separadores En algunos casos es necesario un separador explícito para separar elementos léxicos adyacentes. Se consideran separadores al espacio, a los caracteres con efecto de formato y el final de una línea. Suele no definirse qué causa el fin de línea, en algunos sistemas pueden ser uno o más caracteres de control. Reglas para el uso de separadores: a) Se requiere a lo menos un separador entre un identificador o número y el identificador o número adyacente. b) Se permite uno o más separadores entre dos elementos léxicos adyacentes. También se acepta uno o más separadores, antes del primer elemento léxico del programa y después del último. (Formato libre)
17 Apéndice 1. Descripción formal de lenguajes 17 c) Los comentarios son considerados separadores. A Comentarios. Los comentarios se emplean para mejorar la legibilidad del programa; y deben ocuparse con frecuencia para aclarar el significado de variables, o de acciones. Los comentarios pueden sacarse del texto sin alterar el significado del programa. Cualquier secuencia de caracteres encerrados entre los símbolos /* y */ se denomina comentario. Hay comentarios de fin de línea, de línea completa o de varias líneas. Alternativamente un comentario puede comenzar con el doble símbolo: //. A Carácter. Un carácter literal se forma encerrando uno de los 95 caracteres gráficos (incluyendo el espacio) entre comillas simples. Ej: '*' '"' 'g' ' ' A Strings. ( tira, mensaje, texto, hileras, cadenas) Son secuencias de caracteres gráficos entre comillas dobles. Para incluir una comilla doble, se la precede con \. O/ Higgins. El largo del string es el número de caracteres que forman la secuencia. Se emplean para intercalar texto (legible) en la salida. Pueden usarse para alertar al operador que se requiere una entrada o una operación de su parte (prompts); o bien para hacer más comprensible la salida (mensajes). A Números. Se habla de literal numérico cuando se quiere enfatizar que se está haciendo referencia a cómo se escribe un número como una secuencia de caracteres. Existen enteros y reales. Los reales incluyen un punto (la coma decimal). Entre los reales, se habla de punto fijo y punto flotante (o formato científico y exponencial; llevan la letra E). <signo> ::= ['+' '-'] <constante entera sin signo> ::= { dígito* } <constante entera> ::= <signo> <constante entera sin signo> <real punto fijo> ::= {dígito*} '.' {dígito} <exponente> ::= ('e' 'E')<constante entera> <real punto flotante> ::= {dígito*} ['.'{dígito*}] <exponente> <constante real> ::= <real punto fijo> <real punto flotante>
18 18 Estructuras de Datos y Algoritmos Un resumen de las producciones anteriores es: número + - dígito. dígito + E dígito - Figura A1.18. Sintaxis de número La representación anterior no considera aspectos prácticos como máximo número representable, exactitud de representación, etc., que dependen de la instalación. La sintaxis de número se abstrae de estos detalles y sólo explica cómo se escriben. A Identificadores. Se usan como nombres y también como palabras reservadas. Comienzan con una letra, que puede ser seguida de cualquier combinación de letras y números. El espacio no se acepta dentro de un identificador. Sirven para dar nombre a: constantes, tipos de datos, variables, procedimientos, funciones. identificador letra letra dígito Figura A1.19. Sintaxis de identificador Las palabras reservadas tienen un significado especial en el lenguaje y no pueden emplearse como identificadores de objetos. Los siguientes símbolos son palabras reservadas: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Estos símbolos también pueden ser clasificados como delimitadores.
19 Apéndice 1. Descripción formal de lenguajes 19 Existen también identificadores estándares que el lenguaje predefine. Por ejemplo, el nombre de algunas funciones y constantes. Pueden usarse sin definirse previamente. Además podrían ser redefinidos dentro del programa; es decir, cambiar el significado estándar. A Delimitadores. Es uno de los siguientes caracteres especiales: ~ + ; ] %, < ^ & - = { (. > ) /? }! * : [ O uno de los siguientes delimitadores, compuestos de dos caracteres especiales adyacentes:... && -= >= <<= &= -> >> >>= *= /= ^=!= ++ << = %= += <= -- == Algunos delimitadores se usan como operadores. Otros para establecer mecanismos de acceso o selección de datos estructurados. A Resumen. <texto de un programa> ::= { { <separador> } <token> } <separador> ::= <espacio> <fin de línea> <comentario> <token> ::= <palabra reservada> <delimitador> <nombre> <constante> <constante> ::= <contante entera> <constante real> <constante caracter> <string> A Ejemplos. A Indicar mediante paréntesis como se evalúan las expresiones: a) 80/5/4 La expresión se evalúa ((80/5)/4) b) sqrt(sqr(3)+11*5)
20 20 Estructuras de Datos y Algoritmos Se evalúa: sqrt(sqr(3)+(11*5)) c) x =2*y-5.02 Se evalúa: x = ((2*y) ) A Escribir todas las secuencias que cumplen la sintaxis dada por: a) {'A' 'B'}'C' b) 'A'{'BA'} c) ('A' 'B')('C' 'D') d) 'A'['B']('C' 'D') Si el número de secuencias es mayor que 10, escribir por lo menos 5 de ellas. a) {'A' 'B'}'C' número de secuencias>10 1) C 2) AC 3) BC 4) ABC 5) AAC b) 'A'{'BA'} A B C número de secuencias >10 1) A 2) ABA 3) ABABA 4) ABABABA 5) ABABABABA c) ('A' 'B')('C' 'D') A AB número de secuencias = 4 1) AC 2) AD 3) BC 4) BD d) 'A'['B']('C' 'D') A B C D número de secuencias = 4 1) AC 2) AD 3) ABC 4) ABD A B C D
21 Apéndice 1. Descripción formal de lenguajes 21 Índice general. APÉNDICE DESCRIPCION FORMAL DE LENGUAJES... 1 A1.1. LÉXICO, SINTAXIS, SEMÁNTICA A1.2. METALENGUAJE BNF A Producción A Secuenciación de símbolos A Alternativa... 3 A Concatenación A Opción a) Opción. Una o ninguna b) Repetición c) Repetición de a lo menos una vez d) Lista A Agrupaciones A Sintaxis de factor A Descripción formal de BNF A Ejemplos A Árboles de Derivación A Recursividad en Producciones A Asociatividad en Producciones A Ambigüedad en Producciones A Precedencia de operadores en expresiones aritmético lógicas A Reglas para construir Expresiones A1.3. SÍMBOLOS DEL LENGUAJE. LÉXICO A Conjuntos de Caracteres A Elementos Léxicos (tokens) A Separadores A Comentarios A Carácter A Strings. ( tira, mensaje, texto, hileras, cadenas) A Números A Identificadores A Delimitadores A Resumen A Ejemplos A Indicar mediante paréntesis como se evalúan las expresiones: A Escribir todas las secuencias que cumplen la sintaxis dada por: ÍNDICE GENERAL ÍNDICE DE FIGURAS
22 22 Estructuras de Datos y Algoritmos Índice de figuras. FIGURA A1.1. PRODUCCIÓN... 2 FIGURA A1.2. ALTERNATIVA... 3 FIGURA A1.3. CONCATENACIÓN... 4 FIGURA A1.4. OPCIÓN FIGURA A1.5. SINTAXIS DE SIGNO... 5 FIGURA A1.6. REPETICIÓN... 5 FIGURA A1.7. REPETICIÓN DE A LO MENOS UNA VEZ FIGURA A1.8. SECUENCIA SIGNO ENTERO... 8 FIGURA A1.9. DÍGITO ENTERO... 8 FIGURA A1.10. ENTERO CON SIGNO... 9 FIGURA A1.11. REPETICIÓN (I)... 9 FIGURA A1.12. REPETICIÓN RECURSIVA (II) FIGURA A1.13. PRODUCCIÓN RECURSIVA FIGURA A1.14. SIMPLIFICACIÓN A NO RECURSIVA FIGURA A1.15. DERIVACIÓN FIGURA A1.16. DERIVACIÓN FIGURA A1.17. REGLAS DE PRECEDENCIA Y ASOCIATIVIDAD FIGURA A1.18. SINTAXIS DE NÚMERO FIGURA A1.19. SINTAXIS DE IDENTIFICADOR... 18
Un programa es una secuencia de símbolos y puede considerarse como un texto.
7. DESCRIPCION FORMAL DE LENGUAJES 7.1. Léxico, Sintaxis, Semántica. Un programa es una secuencia de símbolos y puede considerarse como un texto. Los símbolos de un lenguaje pertenecen a un conjunto que
Lección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno
1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->
Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Tipos de Datos en C. Palabras reservadas en C
Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Tema 05: Elementos de un programa en C
Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
08 Análisis léxico IV
2 Contenido Expresiones regulares Lenguaje generado por una expresión regular Precedencia de las operaciones con las expresiones regulares Ejemplos Definiciones regulares Extensiones de las expresiones
Programación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
Laboratorio de Arquitectura de Redes. Operadores y expresiones en lenguaje C
Laboratorio de Arquitectura de Redes Operadores y expresiones en lenguaje C Operadores y expresiones en lenguaje C Expresiones numéricas y operadores Operadores aritméticos Operadores lógicos y de relación
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Operadores y expresiones en Operadores y expresiones en Expresiones numéricas y operadores Operadores aritméticos Operadores lógicos y de relación
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Programación Estructurada. Sesión 2:El lenguaje de programación C
Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas
UNIDAD 2 Descripción de un programa
Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos
LENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Elementos léxicos del lenguaje de programación C
Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
Curso de Programación Avanzada en C
Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados
Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.
Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C
Introducción a la Programación
Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación
Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Instituto Tecnológico de Celaya
ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.
Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado
Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa
Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación
Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.
Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos
El lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN
NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
LENGUAJES Y GRAMÁTICAS
LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas
Operadores aritméticos. / División operando enteros o reales si operandos son entero resultado es entero. Resto de caso resultado real
7.1 Operadores aritméticos Operadores aritméticos operadores Operación + Suma operandos pueden ser enteros o reales - Resta operandos pueden ser enteros o reales * Multiplicación operando enteros o reales
JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.
Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Preliminares: programación con C++
Preliminares: programación con C++ JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Archivos y Comentarios Todo programa en lenguaje C++ debe tener la siguiente extensión: file.c, file.cc file.cpp
Programación en Lenguaje C
Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo
Características de JavaScript
Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual
UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.
UNIDAD 1 1.1 Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Al-khawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado
Algoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
Expresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias
Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores
Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir
Descripción de un Programa
Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a
1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv
Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos
Introducción a Java. Introducción a Java. Programación I
Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.
Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación
abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
3.3 Conceptos Básicos del Lenguaje Java
3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos
Datos Elementales y formato de un programa en Java
Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:
Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes
0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales
Sintaxis de los aspectos generales de un lenguaje de programación
Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para
4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Introducción al lenguaje C
Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos
Programación En Lenguaje C
Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un
GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:
Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda
Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).
PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y
Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz
Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.
Operadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
Informática Ingeniería en Electrónica y Automática Industrial
Características del lenguaje C (I) Informática Ingeniería en Electrónica y Automática Industrial Tuvo mucho éxito desde el principio por ser Compacto Estructurado Portátil Flexible De tipo medio Muy difundido
Programación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica
Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 4. Se dice que el lenguaje C es un lenguaje de nivel medio. La razón de esta indicación está
SSL Guia de Ejercicios
1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.
Ejemplo No. 2 Empleando esta notación, los conjuntos del ejemplo anterior se pueden escribir como:
UNIDAD 1: CONJUNTOS NUMÉRICOS En esta unidad se ofrece una información general sobre los diferentes conjuntos de números que se utilizaran en el desarrollo de este curso. Comencemos con un breve repaso
Desarrollo de lenguajes y Compiladores [MII-771] Capítulo 1: Lenguajes y Gramáticas Formales
Desarrollo de lenguajes y Compiladores [MII-771] Capítulo 1: Lenguajes y Gramáticas Formales Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia
Java. Introducción a la Programación Orientada a Objetos
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Conceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.
1.6. EXPRESIONES CONCEPTO: Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado. Los operandos pueden ser constantes, variables, otras expresiones e incluso funciones.
Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa
Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,
Fundamentos de Programación 2017-I
Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis
Tipos de datos y Operadores Básicos
Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?
Datos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas
No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:
1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.
Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales
UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo
Un calculadora avanzada... y algo más!
INFORMÁTICA, GRUPO D Un calculadora avanzada... y algo más! Vamos a familiarizarnos con el entorno interactivo de Python. Vamos a construir expresiones aritméticas y a guardar los resultados en variables
Introducción al Lenguaje de Programación C
Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado
CAPITULO 2: VARIABLES Y CONSTANTES
CAPITULO 2: VARIABLES Y CONSTANTES 1. TIPOS DE DATOS. Existen cinco tipos de datos atómicos en C; char: carácter, int: entero, float: real coma flotante, double: real de doble precisión y void: sin valor.
Tipos de Datos. Tipos de Datos Simples Estándar
Departamento de Informática Universidad Técnica Federico Santa María Tipos de Datos Programación de Computadores Profesor: Teddy Alfaro Tipos de Datos Simples Estándar char es un carácter (alfanumérico),
Se pueden agrupar las reglas que tienen la misma parte izquierda:
GRAMÁTICA DE CONTEXTO LIBRE Gramática de contexto libre G = (V N, V T, P, S) que genera oraciones copulativas: V N = { , , , , V T = {el, la, hombre, niña,
Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28
Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes
AMBIENTES DE COMPILACION
AMBIENTES DE COMPILACION Los compiladores a menudo producen como resultado del análisis semántico, una forma de representación intermedia del código fuente. Hoy en día, es cada vez más común que, en ambientes
Informática PRÀCTICA 3 Curs Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida.
Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida. Objetivos de la práctica: - Mostrar la sintaxis de los diferentes tipos de datos presentes en C/C++.
VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
CONJUNTOS. Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas.
CONJUNTOS CPR. JORGE JUAN Xuvia-Narón Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas. Un conjunto está formado por una serie de elementos susceptibles de poseer
Lenguaje de programación C. Introducción
Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la
Introducción a c++ Introducción a la programación EIS Informática III
Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas
INTRODUCCIÓN AL LENGUAJE C
INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión II La Sintaxis de Java I... 6 Tipos de Datos... 7 Tipos de Datos Simples... 8 Tipos de datos Referenciales...