Está en la página 1de 8

Prioridad de los Operadores Aritmticos Todas las expresiones entre parntesis se evalan primero.

Las expresiones con parntesis anidados se evalan de dentro a fuera, el parntesis ms interno se evala primero. Dentro de una misma expresin los operadores se evalan en el siguiente orden: 1. ^ Exponenciacin 2. *, /, mod Multiplicacin, divisin, modulo. 3. +, - Suma y resta. Operadores Relacionales Se utilizan para establecer una relacin entre dos valores. Luego compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales comparan valores del mismo tipo (numricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluacin. Los operadores relacinales tiene menor prioridad que los aritmticos. Tipos de operadores Relacionales > < > < < = Mayor que Menor que = Mayor o igual que = Menor o igual que > Diferente Igual

Ejemplos: Si a = 10, b = 20, c = 30 a+b>c a-b<c a-b=c a*b<>c Falso Verdadero Falso Verdadero

Ejemplos no lgicos: a<b<c 10 < 20 < 30 T > 5 < 30 (no es lgico porque tiene diferentes operandos)

Operadores Lgicos Estos operadores se utilizan para establecer relaciones entre valores lgicos. Estos valores pueden ser resultado de una expresin relacional. Tipos de operadores Lgicos And Y Or O Not Negacin

Ejemplo: Para los siguientes ejemplos T significa verdadero y F falso.

Operador Not Operador Not Operando T F Resultado F T

Operador And Operador And Operando1 T T F F Operador Or Operador Or Operando1 T T F F Operador Or Operando2 T F T F Resultado T T T F Operador AND Operando2 T F T F Resultado T F F F

Prioridad de los Operadores Lgicos 1. Not 2. And 3. Or Prioridad de los Operadores en General 1. 2. 3. 4. 5. () ^ *, /, Mod, Not +, -, And >, <, > =, < =, < >, =, Or

Ejemplos: Sea: a = 10 b = 12 c = 13 d =10

ESTRUCTURAS DE CONTROL SELECTIVAS O ESTRUCTURAS DE DECISIN: Son las que permiten la seleccin de acciones alternativas. EXPRESIN LGICA: es una expresin que al ser evaluada da como resultado un valor lgico (verdadero o falso). Podran definirse dos tipos de expresiones lgicas, las cuales tienen la siguiente forma: Tipo A (tambin denominadas expresiones relacionales): Operando1 operador de relacin Operando2 Donde:
Operando1 y 2 pueden ser ambos expresiones aritmticas o ambos expresiones

carcter.

Expresiones carcter pueden ser constantes o variables de tipo carcter o cadena.

Operador de relacin: > (mayor), < (menor), = (igual), >= (mayor o igual), <= (menor o

igual), <> (diferente). Los operadores de relacin tienen igual prioridad entre ellos, pero la ms baja prioridad en relacin con los operadores aritmticos. Su orden de evaluacin es el siguiente:

Prioridad Operador 1. ( ) 2. *,/,div,mod 3. +,4. >,<,=,>=,<=,<>


Nota:
Los valores numricos slo pueden compararse con otros valores numricos y los

carcter con otros carcter.

Los valores carcter no pueden compararse con las cadenas de caracteres.

Las cadenas de caracteres slo pueden compararse si tienen exactamente la misma

longitud.

En las comparaciones entre expresiones carcter el orden, segn la codificacin

ASCII, es el siguiente: 0<1<2<..<9 a<b<c<..<z A<B<C<.<Z Ejemplos de expresiones lgicas (tambin llamadas relacionales) a) 6.7315 > 6.7342 (false) b) 15 < 20 (cierto) c) 8 = 8.0 (cierto) d) A < B (cierto) e) 5 = 5 produce error, f) 2 < 235 produce error f) Dado N1 = 3, N2 = 6 y CAR = m, el resultado de la evaluacin de las siguientes expresiones es: CAR = m (verdadero) (2+3*N1) <> 6 + (N2 1) (falso) (1+(2div2) mod N2) <= 4*n1 (verdadero)

(1+1 mod N2) <= 4*N1 (verdadero) Tipo B Las expresiones lgicas pueden combinarse para formar expresiones ms complejas: Operando1 operador lgico Operando2 Donde:
Operando1 y 2 son expresiones lgicas que pueden estar constituidas por:

constantes lgicas, variables lgicas, expresiones de relacin, expresiones lgicas entre parntesis.

Operando1 es opcional, dependiendo del operador podra no existir.

Operador lgico: not (no lgico), and (Y lgico), or (O lgico), xor

Mayor prioridad Menor prioridad El orden de prioridad de los operadores lgicos en relacin con el resto de operadores es el siguiente: Operador Orden de Prioridad ( ) prioridad ms alta (se evala primero) not *, /, div, mod, and +, -, or, xor <,>,<=,>=,=,<> prioridad ms baja (se evala de ltimo) Tipo de valor lgico resultante de la evaluacin de una expresin lgico se ilustra en la siguiente tabla: Operando1 (Op1) V V F F V F V F F F V V V F F F V V V F F V V F Operando2 (Op2) not Op1 Op1 and Op2 Op1 or Op2 Op1 xor Op2

Prioridad de los operadores lgicos


Cuando en una instruccin se usa ms de un operador lgico, primero se evala NOT, luego AND y, finalmente, OR. Los operadores aritmticos y bit a bit se tratan antes que los operadores lgicos.

Prioridad de operadores aritmticos: * / div mod se evalan primero + - se evalan de ltimo

DIV DIVISIN ENTERA Cociente entero de a/b MOD MDULO Resto de a/b Ejemplos: 7 div 2 = 3 7 2 7 mod 2 = 1 1 3 DIV MOD
NOTA: los operadores div y mod slo se pueden utilizar con nmeros enteros

Prctica #2 Tipos de Datos y Acciones Elementales (Temas 2 y 3)

PARTE 1. TIPOS DE DATOS

1- Discuta el significado de: a. Tipo de dato

b. Variable

c. Constante f. Operadores

d. Expresin g. Conversin

e. Tipos de datos elementales de tipos

2- Cules fueron las prioridades de los operadores vistas en clase de teora son las mismas que usa el lenguaje Java?

3- Dadas las siguientes declaraciones de variables, indique cules de las expresiones son vlidas (no tienen errores sintcticos o semnticos).

// Declaracin de Variables: Entero A; Lgico D; caracteres Real B; String E; Caracter C; // lgico o booleano; string o cadena de

// Expresiones: A = (A + 3)* B A=A*B D=B/A D=A<B C=3 B = A (B / A B) B=C E C = '3' E = Hola + Mundo D = (C == E) y (A + B)

4- Dados los siguientes estados iniciales (Ei) para las variables, evale e indique el resultado de cada expresin, usando las reglas de prioridad de operadores.

a) // Ei: A = 3; B = 4; C = verdadero R = (A * 2 > B) y C R = A + 2 DIV B R=B^24*A*B^1/2 R = (B ^ 2 4 * A * B) ^ 1 / 2 R = (B ^ (2 4 * A) * B) ^ (1 / 2) b) // Ei: A = - 8; B = 2; C = 3 R = A MOD B + C DIV B R = B MOD A DIV C * A + 2 R = A * 2 + 3 MOD B * 3 R = A * B + C * (A MOD 2) 16 * B

c)

// Ei: X = 3; Y = 7 R=7+3*9/21 R = ((X ^ 2) + (Y ^ 2)) - 4 3 + (2 ^ 2) / 4 DIV 8 R = Y MOD 2 + X * 2 2 DIV Y R = (3 * 9 * (3 + (9 * 3 / (3)))) R = 3 MOD X DIV 2 < (Y ^ 5) / X R = 25 MOD 3 DIV 5 DIV Y > 4 / 3 R = Y < X MOD 3 ^ 2