SlideShare una empresa de Scribd logo
6
Elementos léxicos y sintácticos
Un lenguaje de programación es un idioma artificial diseñado para expresar
computaciones que pueden ser llevadas a cabo por máquinas como las
computadoras. Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar algoritmos con
precisión, o como modo de comunicación humana. Está formado por un conjunto
de símbolos y reglas sintácticas y semánticas que definen su estructura y el
significado de sus elementos y expresiones. Al proceso por el cual se escribe, se
prueba, se depura, se compila y se mantiene el código fuente de un
programa informático se le llama programación.
Dentro de los elementos del lenguaje de programación hablaremos de léxico y
sintaxis.
Léxico
Léxico es un lenguaje de programación didáctico en español que facilita el
aprendizaje y la enseñanza de la programación orientada a objetos.
A la forma visible de un lenguaje de programación se le conoce como sintaxis. La
mayoría de los lenguajes de programación son puramente textuales, es decir,
utilizan secuencias de texto que incluyen palabras, números y puntuación, de
manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos
lenguajes de programación que son más gráficos en su naturaleza, utilizando
relaciones visuales entre símbolos para especificar un programa.
Sintaxis
La sintaxis de un lenguaje de programación describe las combinaciones posibles
de los símbolos que forman un programa sintácticamente correcto. El significado
que se le da a una combinación de símbolos es manejado por su semántica (ya
sea formal o como parte del código duro de la referencia de implementación).
Dado que la mayoría de los lenguajes son textuales, este artículo trata de la
sintaxis textual.
7
La sintaxis de los lenguajes de programación es definida generalmente utilizando
una combinación de expresiones regulares (para la estructura léxico. Este es un
ejemplo de una gramática simple:
expresión ::= átomo | lista
átomo ::= número | símbolo
número ::= [+-]?['0'-'9']+
símbolo ::= ['A'-'Z'<nowiki>'</nowiki>a'-'z'].*
lista ::= '(' expresión* ')'
Constantes
En programación, una constante es un valor que no puede ser alterado durante la
ejecución de un programa. Corresponde a una longitud fija de un área reservada
en la memoria principal del ordenador, donde el programa almacena valores fijos.
El nombre de las constantes suele escribirse en mayúsculas en la mayoría de
lenguajes.
La palabra constante tiene en C++ dos connotaciones sutilmente diferentes
aunque relacionadas:
1.1 La primera es el sentido normal de la palabra constante en lenguaje natural; es
decir, datos (de cualquiera de los tipos posible) cuyos valores se han definido en el
momento de escribir el código del programa, y no pueden ser modificados más
tarde en tiempo de ejecución (lo que significa que sus valores deben ser resueltos
en tiempo de compilación). Dicho en otras palabras: el compilador sabe cuál es el
valor de los objetos declarados como constantes y en base a este conocimiento
puede hacer cuantas suposiciones sean válidas para conseguir la mayor eficiencia
en tiempo de ejecución.
En este sentido, el concepto constante es justamente el opuesto a variable, que
corresponde a aquellos objetos-dato que pueden recibir nuevas asignaciones de
valor a lo largo del programa. Dicho en otras palabras: entidades cuyo valor solo
es conocido en tiempo de ejecución.
1.2 La segunda connotación es la de tipo de objeto-dato. En este sentido podemos
afirmar que en C++ los enteros (variables) forman un tipo distinto de los enteros
8
constantes (constantes enteras), y que los caracteres (variables) forman un tipo
distinto de las constantes carácter. Así pues, distinguimos entre un tipo char y un
tipo const char. Como prácticamente todos los tipos de objeto-dato posibles en
C++ puede declararse constantes, existe un universo de tipos C++, simétrico al de
los tipos de objetos variables, pero de objetos constantes.
Por ejemplo, un entero y una constante entera son tipos distintos y que una
constante entera C++ significa algo más que un entero al que no se le puede
cambiar su valor.
Lo que hace el compilador con los objetos declarados inicialmente como
constantes depende de la implementación. Esto significa que no está garantizado
que tales objetos tengan un Lvalue. Por ejemplo: en const int x = 5; no está
garantizado que el compilador le asigne a x un Lvalue, es decir, un espacio en
memoria determinado (que se permita modificar o no su valor es otra cuestión).
Puede ocurrir que, por razones de eficacia, sea simplemente una especie de
"define". Una especie de nemónico que hace que el compilador lo sustituya por un
5 en cada trozo de código donde aparezca x. Incluso en sitios donde aparezca
asociada a otras constantes puede estar resuelto el valor en tiempo de
compilación. Por ejemplo, si en otro sitio del programa aparece: const int z = 7; y
más tarde: int w = x + z + y; puede ocurrir que el compilador establezca
directamente: int w = 12 + y.
Por esta razón no está garantizado que el operador const_cast funcione con
objetos declarados inicialmente como constantes.
Variable
En programación, una variable está formada por un espacio en el sistema de
almacenaje (memoria principal de un ordenador) y un nombre simbólico
(un identificador) que está asociado a dicho espacio. Ese espacio contiene una
cantidad o información conocida o desconocida, es decir un valor. El nombre de la
variable es la forma usual de referirse al valor almacenado: esta separación entre
nombre y contenido permite que el nombre sea usado independientemente de la
información exacta que representa. El identificador, en el código fuente de la
9
computadora puede estar ligado a un valor durante el tiempo de ejecución y el
valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del
programa. El concepto de variables en computación puede no corresponder
directamente al concepto de variables en matemática. El valor de una variable en
computación no es necesariamente parte de una ecuación o fórmula como en
matemáticas. En computación una variable puede ser utilizada en un proceso
repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, más
adelante reasignársele un nuevo valor para más tarde utilizarla de la misma
manera. Procedimientos de este tipo son conocidos con el nombre de iteración. En
programación de computadoras, a las variables, frecuentemente se le asignan
nombres largos para hacerlos relativamente descriptivas para su uso, mientras
que las variables en matemáticas a menudo tienen nombres escuetos, formados
por uno o dos caracteres para hacer breve en su transcripción y manipulación.
El espacio en el sistema de almacenaje puede ser referido por distintos
identificadores diferentes. Esta situación es conocida entre los angloparlantes
como "aliasing" y podría traducirse como "sobre nombramiento" para los
hispanoparlantes. Asignarle un valor a una variable utilizando uno de los
identificadores cambiará el valor al que se puede acceder a través de los otros
identificadores.
Los compiladores deben reemplazar los nombres simbólicos de las variables con
la real ubicación de los datos. Mientras que el nombre, tipo y ubicación de una
variable permanecen fijos, los datos almacenados en la ubicación pueden ser
cambiados durante la ejecución del programa.
Las variables pueden ser de longitud:
 Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del
programa. Todas las variables, sean del tipo que sean tienen longitud fija,
salvo algunas excepciones — como las colecciones de otras variables (arrays)
o las cadenas.
 Variable.- Cuando el tamaño de la misma puede variar a lo largo de la
ejecución. Típicamente colecciones de datos.
10
Tipos de datos fundamentals
Datos enteros: char, signed char, unsigned char, short, int, long, unsignet short,
unsigned unsigned long.
Datos reales: float, double long double.
Char indica que se trata de un carácter (una letra mayúscula o minúscula, un
dígito o un carácter especial,…). La palabra int indica que se trata de un
número entero, mientras que float se refiere a un número real (también llamado
de punto o coma flotante). Los números enteros pueden ser positivos o
negativos (signed) o bien esencialmente no negativos (unsigned); los
caracteres tienen un tratamiento muy similar a los enteros y admiten estos
mismos cualificadores. En los datos enteros, las palabras short y long hacen
referencia al número de cifras o rango de dichos números. En los datos reales
las palabras double y long apuntan en esta misma dirección, aunque con un
significado ligeramente diferente.
Caracteres (tipo char)
Las variables carácter (tipo char) contienen un único carácter y se almacenan
en un byte de memoria (8 bits). La declaración de variables tipo carácter
pueden tener forma:
Char nombre;
Char nombre1, nombre 2;
Se puede declarar más de una variable de un tipo determinado en una sola
sentencia. Se puede también inicializar la variable en la declaración. Por
ejemplo, para definir la variable carácter letra y asignarle el valor de a se puede
escribir:
11
Char letra= ‘a’.
Números enteros (tipo int)
De ordinario una variable tipo int se almacena en 2 bytes (16 bits), aunque
algunos compiladores usan 4 bytes. Los compiladores de Microsoft para PCs
utilizan 2 bytes.
Con 16 bits se pueden almacenar 216
=65536 números enteros diferentes de 0
a 65535 para variables sin signo, y de -32768 al 32767 para variables con
signo. Este es el rango de las variables tipo int.
Números enteros (tipo long)
Existe la posibilidad de usar enteros con un rango mayor si se especifica como
tipo long en su declaración
Long int numero_grande;
El rango de un entero long puede variar según el computador o el compilador
que se utilice, pero de ordinario se utilizan 4 bytes (32 bits).
Números reales (tipo float)
En muchas aplicaciones hacen falta variables reales, capaces de representar
magnitudes que contengan una parte entera y una parte fraccionaria o decimal.
Estas variables se llaman también de punto flotante. De ordinario, en base 10 y
con notación científica, estas variables se representan por medio de la mantisa,
que es un número mayor o igual a 0.1 y menor que 1.0, y un exponente que
representa la potencia de 10.
Números reales (tipo double)
12
Las variables tipo float tienen un rango muy limitado, insuficiente para la mayor
parte de los cálculos técnicos y científicos. Este problema se soluciona con el
tipo doublé, que utiliza 8 bytes para almacenar una variable.
Operadores y Precendencia
Al utilizar dos o más operadores en una sentencia, algunos operadores tienen
precedencia sobre otros operadores. La precedencia y asociatividad de los
operadores determina el orden en que se procesan los operadores. ActionScript
tiene una jerarquía que determina qué operadores se ejecutan antes que otros. Al
final de esta sección encontrará una tabla en la que se expone esta jerarquía.
Aunque para aquellos usuarios familiarizados con la programación aritmética o
básica puede parecer algo natural que el compilador procese el operador de
multiplicación (*) antes que el operador de suma (+), el compilador necesita
instrucciones explícitas sobre qué operadores debe procesar primero. Dichas
instrucciones se conocen colectivamente como precedencia de operadores.
Puede ver un ejemplo de precedencia de operadores al utilizar los operadores de
multiplicación y suma:
var mySum:Number;
mySum = 2 + 4 * 3;
trace(mySum); // 14
Observará que el resultado de esta sentencia es 14, ya que la multiplicación tiene
una precedencia de operador superior. Por consiguiente, se calcula primero 4 * 3 y
el resultado se suma a 2.
Puede controlar lo que debe ocurrir colocando las expresiones entre paréntesis.
ActionScript establece una precedencia de operadores predeterminada que puede
modificar utilizando el operador de paréntesis (()). Al colocar la expresión de suma
entre paréntesis, ActionScript calcula primero la suma:
13
var mySum:Number;
mySum = (2 + 4) * 3;
trace(mySum); // 18
Ahora el resultado de esta sentencia es 18.
Los operadores también pueden tener la misma precedencia. En este caso, la
asociatividad determina el orden en que deben actuar los operadores. La
asociatividad puede ser de izquierda a derecha o de derecha a izquierda.
Observe de nuevo el operador de multiplicación. La asociatividad en este caso es
de izquierda a derecha, por lo que las dos sentencias siguientes son iguales.
var mySum:Number;
var myOtherSum:Number;
mySum = 2 * 4 * 3;
myOtherSum = (2 * 4) * 3;
trace(mySum); // 24
trace(myOtherSum); // 24
Pueden darse situaciones en las que dos o más operadores con la misma
precedencia aparezcan en la misma expresión. En estos casos, el compilador
utiliza las reglas de asociatividad para determinar qué operador se procesa
primero. Todos los operadores binarios, salvo los operadores de asignación,
tienen asociatividad desde la izquierda, lo que significa que los operadores de la
izquierda se procesan antes que los operadores de la derecha. Los operadores de
asignación y el operador condicional (?:) tienen asociatividad desde la derecha, lo
que significa que los operadores de la derecha se procesan antes que los
operadores de la izquierda. Para más información sobre operadores de
asignación, consulte Utilización de operadores de asignación. Para más
14
información sobre el operador condicional (?:), consulte El operador condicional.
Piense, por ejemplo, en los operadores menor que (<) y mayor que (>), que tienen
la misma precedencia. Si ambos operadores se utilizan en la misma expresión, el
operador de la izquierda se procesará en primer lugar porque ambos operadores
tienen asociatividad desde la izquierda. Esto significa que las dos sentencias
siguientes generan el mismo resultado:
trace(3 > 2 < 1); // false
trace((3 > 2) < 1); // false
El operador mayor que (>) se procesa primero, lo que da como resultado el valor
true porque el operando 3 es mayor que el operando 2. El valor true se pasa al
operador menor que (<) junto con el operando 1. El operador menor que (<)
convierte el valor true en el valor numérico 1 y compara el valor numérico con el
segundo operando 1 para devolver el valor false (el valor 1 no es menor que 1).
Estudie el orden de los operandos del código ActionScript, especialmente si
establece condiciones complejas y conoce la frecuencia con la que dichas
condiciones son verdaderas (true). Por ejemplo, si sabe i va a ser mayor que 50
en su condición, deberá escribir primero i<50. De esta forma, se comprobará
primero, con lo que no será necesario comprobar la segunda condición con tanta
frecuencia.
En la tabla siguiente se muestran los operadores de ActionScript 2.0 por orden
decreciente de precedencia. Cada fila de la tabla contiene operadores de la misma
precedencia. Cada fila de operadores tiene precedencia superior a la fila que
aparece debajo de ella en la tabla. Para más información y directrices sobre el uso
de operadores y paréntesis, consulte Aplicación de formato a la sintaxis de
ActionScript.
Grupo Operadores
Primario [] {x:y} () f(x) new x.y x[y]
Sufijo x++ x--
15
Unario ++x --x + - ~ ! delete typeof void
Multiplicativo * / %
Aditivo + -
Desplazamiento en modo bit << >> >>>
Relacional < > <= >= instanceof
Igualdad == != === !==
AND en modo bit &
XOR en modo bit ^
OR en modo bit |
AND lógico &&
OR lógico ||
Condicional ?:
Asignación = *= /= %= += -= <<= >>= >>>= &= ^= |=
Coma ,

Más contenido relacionado

La actualidad más candente

Estructura Sintactica
Estructura SintacticaEstructura Sintactica
Estructura SintacticaluchoGL
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionluismart05
 
El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintácticoHector Espinosa
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programaciónKarenNaranjoH
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_oscar020615
 
Sintaxis Y Gramatica
Sintaxis Y GramaticaSintaxis Y Gramatica
Sintaxis Y Gramaticaguest0ec93c
 
Constante y variable
Constante y variableConstante y variable
Constante y variableAnthony Vera
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1Denisse C
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje cMaylin25
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1joeshego
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambasgregoryj733
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 

La actualidad más candente (20)

Tr asem-ver
Tr asem-verTr asem-ver
Tr asem-ver
 
Estructura Sintactica
Estructura SintacticaEstructura Sintactica
Estructura Sintactica
 
Estructura Basica para C++
Estructura Basica para C++Estructura Basica para C++
Estructura Basica para C++
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintáctico
 
Datos simples
Datos simples Datos simples
Datos simples
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Dp2
Dp2Dp2
Dp2
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Sintaxis Y Gramatica
Sintaxis Y GramaticaSintaxis Y Gramatica
Sintaxis Y Gramatica
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Programacion
ProgramacionProgramacion
Programacion
 
Ola k ase
Ola k aseOla k ase
Ola k ase
 
Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)
 

Destacado

Destacado (20)

Finanzas interaniconales cuestionario
Finanzas interaniconales cuestionarioFinanzas interaniconales cuestionario
Finanzas interaniconales cuestionario
 
RR
RRRR
RR
 
Nicolai Hartmann
Nicolai HartmannNicolai Hartmann
Nicolai Hartmann
 
Invitación n°010 Señalización
Invitación n°010 SeñalizaciónInvitación n°010 Señalización
Invitación n°010 Señalización
 
IDENTIDAD CORPORATIVA RHIMOND
IDENTIDAD CORPORATIVA RHIMOND IDENTIDAD CORPORATIVA RHIMOND
IDENTIDAD CORPORATIVA RHIMOND
 
Fallos01
Fallos01Fallos01
Fallos01
 
Presentación del área de Formación y Desarrollo de Ingenia
Presentación del área de Formación y Desarrollo de IngeniaPresentación del área de Formación y Desarrollo de Ingenia
Presentación del área de Formación y Desarrollo de Ingenia
 
Informatica 3
Informatica 3Informatica 3
Informatica 3
 
Corel draw x5.rssa
Corel draw x5.rssaCorel draw x5.rssa
Corel draw x5.rssa
 
算法基础报告
算法基础报告算法基础报告
算法基础报告
 
Fernando pessoa 1
Fernando pessoa 1Fernando pessoa 1
Fernando pessoa 1
 
Fotopoema rima ii
Fotopoema rima iiFotopoema rima ii
Fotopoema rima ii
 
Saude.agua
Saude.aguaSaude.agua
Saude.agua
 
Resultados xiii subida de arucas
Resultados xiii subida de arucasResultados xiii subida de arucas
Resultados xiii subida de arucas
 
Modul 4: Leadership & Führung
Modul 4: Leadership & FührungModul 4: Leadership & Führung
Modul 4: Leadership & Führung
 
Controlador
ControladorControlador
Controlador
 
Fotos colexio presentación
Fotos colexio presentaciónFotos colexio presentación
Fotos colexio presentación
 
Colexio San Narciso
Colexio San NarcisoColexio San Narciso
Colexio San Narciso
 
Marcadores de Stress e Fadiga no Futebol
Marcadores de Stress e Fadiga no FutebolMarcadores de Stress e Fadiga no Futebol
Marcadores de Stress e Fadiga no Futebol
 
Aplicaciones moviles
Aplicaciones movilesAplicaciones moviles
Aplicaciones moviles
 

Similar a Segundo trabajo

Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuelaroyimar
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacionkarenyulithza
 
VARIABLES Y TIPOS DE VARIABLES
VARIABLES Y TIPOS DE VARIABLESVARIABLES Y TIPOS DE VARIABLES
VARIABLES Y TIPOS DE VARIABLES0984421019
 
Programacion emily leal sistemas
Programacion emily leal sistemasProgramacion emily leal sistemas
Programacion emily leal sistemasEmilyLeal6
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programaDavid Tuarez
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programaDavid Tuarez
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2David Tuarez
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y ConstantesYenny Salazar
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 
Trabajo tecnología (3).pdf
Trabajo tecnología (3).pdfTrabajo tecnología (3).pdf
Trabajo tecnología (3).pdfSamuelBedoya6
 
Trabajo tecnología.pdf
Trabajo tecnología.pdfTrabajo tecnología.pdf
Trabajo tecnología.pdfSamuelBedoya6
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)jaky97
 
Pseudocodigos
PseudocodigosPseudocodigos
PseudocodigosClariza
 

Similar a Segundo trabajo (20)

Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
VARIABLES Y TIPOS DE VARIABLES
VARIABLES Y TIPOS DE VARIABLESVARIABLES Y TIPOS DE VARIABLES
VARIABLES Y TIPOS DE VARIABLES
 
Trabajo de computación
Trabajo de computaciónTrabajo de computación
Trabajo de computación
 
Programacion emily leal sistemas
Programacion emily leal sistemasProgramacion emily leal sistemas
Programacion emily leal sistemas
 
Manual de c c++
Manual de c c++Manual de c c++
Manual de c c++
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2
 
Programacion kmi
Programacion kmiProgramacion kmi
Programacion kmi
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Trabajo tecnología (3).pdf
Trabajo tecnología (3).pdfTrabajo tecnología (3).pdf
Trabajo tecnología (3).pdf
 
Trabajo tecnología.pdf
Trabajo tecnología.pdfTrabajo tecnología.pdf
Trabajo tecnología.pdf
 
Trabajo tecnología.pdf
Trabajo tecnología.pdfTrabajo tecnología.pdf
Trabajo tecnología.pdf
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 

Último

2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docxRobertoCarlosFernand14
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONMasielPMP
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxPabloPazmio14
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024EdwardYumbato1
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaYasneidyGonzalez
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.DeinerSuclupeMori
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24auxsoporte
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxMartín Ramírez
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfMercedes Gonzalez
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxAlejandrino Halire Ccahuana
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETCESAR MIJAEL ESPINOZA SALAZAR
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeMaribelGaitanRamosRa
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoYasneidyGonzalez
 
Proyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptxProyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptxvanessaavasquez212
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasansomora123
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezRuben53283
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionyorbravot123
 

Último (20)

Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptxMódulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
Módulo No. 1 Salud mental y escucha activa FINAL 25ABR2024 técnicos.pptx
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico4.Conectores Dos_Enfermería_Espanolacademico
4.Conectores Dos_Enfermería_Espanolacademico
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Proyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptxProyecto integrador Vereda Cujacal Centro.pptx
Proyecto integrador Vereda Cujacal Centro.pptx
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 

Segundo trabajo

  • 1. 6 Elementos léxicos y sintácticos Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. Dentro de los elementos del lenguaje de programación hablaremos de léxico y sintaxis. Léxico Léxico es un lenguaje de programación didáctico en español que facilita el aprendizaje y la enseñanza de la programación orientada a objetos. A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa. Sintaxis La sintaxis de un lenguaje de programación describe las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto. El significado que se le da a una combinación de símbolos es manejado por su semántica (ya sea formal o como parte del código duro de la referencia de implementación). Dado que la mayoría de los lenguajes son textuales, este artículo trata de la sintaxis textual.
  • 2. 7 La sintaxis de los lenguajes de programación es definida generalmente utilizando una combinación de expresiones regulares (para la estructura léxico. Este es un ejemplo de una gramática simple: expresión ::= átomo | lista átomo ::= número | símbolo número ::= [+-]?['0'-'9']+ símbolo ::= ['A'-'Z'<nowiki>'</nowiki>a'-'z'].* lista ::= '(' expresión* ')' Constantes En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa. Corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos. El nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes. La palabra constante tiene en C++ dos connotaciones sutilmente diferentes aunque relacionadas: 1.1 La primera es el sentido normal de la palabra constante en lenguaje natural; es decir, datos (de cualquiera de los tipos posible) cuyos valores se han definido en el momento de escribir el código del programa, y no pueden ser modificados más tarde en tiempo de ejecución (lo que significa que sus valores deben ser resueltos en tiempo de compilación). Dicho en otras palabras: el compilador sabe cuál es el valor de los objetos declarados como constantes y en base a este conocimiento puede hacer cuantas suposiciones sean válidas para conseguir la mayor eficiencia en tiempo de ejecución. En este sentido, el concepto constante es justamente el opuesto a variable, que corresponde a aquellos objetos-dato que pueden recibir nuevas asignaciones de valor a lo largo del programa. Dicho en otras palabras: entidades cuyo valor solo es conocido en tiempo de ejecución. 1.2 La segunda connotación es la de tipo de objeto-dato. En este sentido podemos afirmar que en C++ los enteros (variables) forman un tipo distinto de los enteros
  • 3. 8 constantes (constantes enteras), y que los caracteres (variables) forman un tipo distinto de las constantes carácter. Así pues, distinguimos entre un tipo char y un tipo const char. Como prácticamente todos los tipos de objeto-dato posibles en C++ puede declararse constantes, existe un universo de tipos C++, simétrico al de los tipos de objetos variables, pero de objetos constantes. Por ejemplo, un entero y una constante entera son tipos distintos y que una constante entera C++ significa algo más que un entero al que no se le puede cambiar su valor. Lo que hace el compilador con los objetos declarados inicialmente como constantes depende de la implementación. Esto significa que no está garantizado que tales objetos tengan un Lvalue. Por ejemplo: en const int x = 5; no está garantizado que el compilador le asigne a x un Lvalue, es decir, un espacio en memoria determinado (que se permita modificar o no su valor es otra cuestión). Puede ocurrir que, por razones de eficacia, sea simplemente una especie de "define". Una especie de nemónico que hace que el compilador lo sustituya por un 5 en cada trozo de código donde aparezca x. Incluso en sitios donde aparezca asociada a otras constantes puede estar resuelto el valor en tiempo de compilación. Por ejemplo, si en otro sitio del programa aparece: const int z = 7; y más tarde: int w = x + z + y; puede ocurrir que el compilador establezca directamente: int w = 12 + y. Por esta razón no está garantizado que el operador const_cast funcione con objetos declarados inicialmente como constantes. Variable En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad o información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa. El identificador, en el código fuente de la
  • 4. 9 computadora puede estar ligado a un valor durante el tiempo de ejecución y el valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del programa. El concepto de variables en computación puede no corresponder directamente al concepto de variables en matemática. El valor de una variable en computación no es necesariamente parte de una ecuación o fórmula como en matemáticas. En computación una variable puede ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la misma manera. Procedimientos de este tipo son conocidos con el nombre de iteración. En programación de computadoras, a las variables, frecuentemente se le asignan nombres largos para hacerlos relativamente descriptivas para su uso, mientras que las variables en matemáticas a menudo tienen nombres escuetos, formados por uno o dos caracteres para hacer breve en su transcripción y manipulación. El espacio en el sistema de almacenaje puede ser referido por distintos identificadores diferentes. Esta situación es conocida entre los angloparlantes como "aliasing" y podría traducirse como "sobre nombramiento" para los hispanoparlantes. Asignarle un valor a una variable utilizando uno de los identificadores cambiará el valor al que se puede acceder a través de los otros identificadores. Los compiladores deben reemplazar los nombres simbólicos de las variables con la real ubicación de los datos. Mientras que el nombre, tipo y ubicación de una variable permanecen fijos, los datos almacenados en la ubicación pueden ser cambiados durante la ejecución del programa. Las variables pueden ser de longitud:  Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.  Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.
  • 5. 10 Tipos de datos fundamentals Datos enteros: char, signed char, unsigned char, short, int, long, unsignet short, unsigned unsigned long. Datos reales: float, double long double. Char indica que se trata de un carácter (una letra mayúscula o minúscula, un dígito o un carácter especial,…). La palabra int indica que se trata de un número entero, mientras que float se refiere a un número real (también llamado de punto o coma flotante). Los números enteros pueden ser positivos o negativos (signed) o bien esencialmente no negativos (unsigned); los caracteres tienen un tratamiento muy similar a los enteros y admiten estos mismos cualificadores. En los datos enteros, las palabras short y long hacen referencia al número de cifras o rango de dichos números. En los datos reales las palabras double y long apuntan en esta misma dirección, aunque con un significado ligeramente diferente. Caracteres (tipo char) Las variables carácter (tipo char) contienen un único carácter y se almacenan en un byte de memoria (8 bits). La declaración de variables tipo carácter pueden tener forma: Char nombre; Char nombre1, nombre 2; Se puede declarar más de una variable de un tipo determinado en una sola sentencia. Se puede también inicializar la variable en la declaración. Por ejemplo, para definir la variable carácter letra y asignarle el valor de a se puede escribir:
  • 6. 11 Char letra= ‘a’. Números enteros (tipo int) De ordinario una variable tipo int se almacena en 2 bytes (16 bits), aunque algunos compiladores usan 4 bytes. Los compiladores de Microsoft para PCs utilizan 2 bytes. Con 16 bits se pueden almacenar 216 =65536 números enteros diferentes de 0 a 65535 para variables sin signo, y de -32768 al 32767 para variables con signo. Este es el rango de las variables tipo int. Números enteros (tipo long) Existe la posibilidad de usar enteros con un rango mayor si se especifica como tipo long en su declaración Long int numero_grande; El rango de un entero long puede variar según el computador o el compilador que se utilice, pero de ordinario se utilizan 4 bytes (32 bits). Números reales (tipo float) En muchas aplicaciones hacen falta variables reales, capaces de representar magnitudes que contengan una parte entera y una parte fraccionaria o decimal. Estas variables se llaman también de punto flotante. De ordinario, en base 10 y con notación científica, estas variables se representan por medio de la mantisa, que es un número mayor o igual a 0.1 y menor que 1.0, y un exponente que representa la potencia de 10. Números reales (tipo double)
  • 7. 12 Las variables tipo float tienen un rango muy limitado, insuficiente para la mayor parte de los cálculos técnicos y científicos. Este problema se soluciona con el tipo doublé, que utiliza 8 bytes para almacenar una variable. Operadores y Precendencia Al utilizar dos o más operadores en una sentencia, algunos operadores tienen precedencia sobre otros operadores. La precedencia y asociatividad de los operadores determina el orden en que se procesan los operadores. ActionScript tiene una jerarquía que determina qué operadores se ejecutan antes que otros. Al final de esta sección encontrará una tabla en la que se expone esta jerarquía. Aunque para aquellos usuarios familiarizados con la programación aritmética o básica puede parecer algo natural que el compilador procese el operador de multiplicación (*) antes que el operador de suma (+), el compilador necesita instrucciones explícitas sobre qué operadores debe procesar primero. Dichas instrucciones se conocen colectivamente como precedencia de operadores. Puede ver un ejemplo de precedencia de operadores al utilizar los operadores de multiplicación y suma: var mySum:Number; mySum = 2 + 4 * 3; trace(mySum); // 14 Observará que el resultado de esta sentencia es 14, ya que la multiplicación tiene una precedencia de operador superior. Por consiguiente, se calcula primero 4 * 3 y el resultado se suma a 2. Puede controlar lo que debe ocurrir colocando las expresiones entre paréntesis. ActionScript establece una precedencia de operadores predeterminada que puede modificar utilizando el operador de paréntesis (()). Al colocar la expresión de suma entre paréntesis, ActionScript calcula primero la suma:
  • 8. 13 var mySum:Number; mySum = (2 + 4) * 3; trace(mySum); // 18 Ahora el resultado de esta sentencia es 18. Los operadores también pueden tener la misma precedencia. En este caso, la asociatividad determina el orden en que deben actuar los operadores. La asociatividad puede ser de izquierda a derecha o de derecha a izquierda. Observe de nuevo el operador de multiplicación. La asociatividad en este caso es de izquierda a derecha, por lo que las dos sentencias siguientes son iguales. var mySum:Number; var myOtherSum:Number; mySum = 2 * 4 * 3; myOtherSum = (2 * 4) * 3; trace(mySum); // 24 trace(myOtherSum); // 24 Pueden darse situaciones en las que dos o más operadores con la misma precedencia aparezcan en la misma expresión. En estos casos, el compilador utiliza las reglas de asociatividad para determinar qué operador se procesa primero. Todos los operadores binarios, salvo los operadores de asignación, tienen asociatividad desde la izquierda, lo que significa que los operadores de la izquierda se procesan antes que los operadores de la derecha. Los operadores de asignación y el operador condicional (?:) tienen asociatividad desde la derecha, lo que significa que los operadores de la derecha se procesan antes que los operadores de la izquierda. Para más información sobre operadores de asignación, consulte Utilización de operadores de asignación. Para más
  • 9. 14 información sobre el operador condicional (?:), consulte El operador condicional. Piense, por ejemplo, en los operadores menor que (<) y mayor que (>), que tienen la misma precedencia. Si ambos operadores se utilizan en la misma expresión, el operador de la izquierda se procesará en primer lugar porque ambos operadores tienen asociatividad desde la izquierda. Esto significa que las dos sentencias siguientes generan el mismo resultado: trace(3 > 2 < 1); // false trace((3 > 2) < 1); // false El operador mayor que (>) se procesa primero, lo que da como resultado el valor true porque el operando 3 es mayor que el operando 2. El valor true se pasa al operador menor que (<) junto con el operando 1. El operador menor que (<) convierte el valor true en el valor numérico 1 y compara el valor numérico con el segundo operando 1 para devolver el valor false (el valor 1 no es menor que 1). Estudie el orden de los operandos del código ActionScript, especialmente si establece condiciones complejas y conoce la frecuencia con la que dichas condiciones son verdaderas (true). Por ejemplo, si sabe i va a ser mayor que 50 en su condición, deberá escribir primero i<50. De esta forma, se comprobará primero, con lo que no será necesario comprobar la segunda condición con tanta frecuencia. En la tabla siguiente se muestran los operadores de ActionScript 2.0 por orden decreciente de precedencia. Cada fila de la tabla contiene operadores de la misma precedencia. Cada fila de operadores tiene precedencia superior a la fila que aparece debajo de ella en la tabla. Para más información y directrices sobre el uso de operadores y paréntesis, consulte Aplicación de formato a la sintaxis de ActionScript. Grupo Operadores Primario [] {x:y} () f(x) new x.y x[y] Sufijo x++ x--
  • 10. 15 Unario ++x --x + - ~ ! delete typeof void Multiplicativo * / % Aditivo + - Desplazamiento en modo bit << >> >>> Relacional < > <= >= instanceof Igualdad == != === !== AND en modo bit & XOR en modo bit ^ OR en modo bit | AND lógico && OR lógico || Condicional ?: Asignación = *= /= %= += -= <<= >>= >>>= &= ^= |= Coma ,