9

Click here to load reader

Prioridad de los Operadores Aritméticos

Embed Size (px)

Citation preview

Page 1: Prioridad de los Operadores Aritméticos

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1. ^ Exponenciación 2. *, /, mod Multiplicación, división, modulo. 3. +, - Suma y resta.

Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación. Los operadores relaciónales tiene menor prioridad que los aritméticos.

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     Falsoa - b < c     Verdaderoa - b = c     Falso

a * b < > c     Verdadero

Ejemplos no lógicos: a < b < c 10 < 20 < 30 T > 5 < 30 (no es lógico porque tiene diferentes operandos)

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional.

Tipos de operadores Lógicos And Y Or O Not Negación

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

1

Page 2: Prioridad de los Operadores Aritméticos

Operador Not Operador Not

Operando     ResultadoT     FF     T

Operador And Operador And

Operando1     Operador     Operando2     ResultadoT     AND     T     T

T F     FF T     FF F     F

Operador Or Operador Or

Operando1     Operador     Operando2     ResultadoT     Or     T     T

T F     TF T     TF F     F

Prioridad de los Operadores Lógicos

1. Not 2. And 3. Or

Prioridad de los Operadores en General

1. ( ) 2. ^ 3. *, /, Mod, Not 4. +, -, And 5. >, <, > =, < =, < >, =, Or

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

2

Page 3: Prioridad de los Operadores Aritméticos

ESTRUCTURAS DE CONTROL SELECTIVAS O ESTRUCTURAS DE DECISIÓN:

Son las que permiten la selección de acciones alternativas.

EXPRESIÓN LÓGICA: es una expresión que al ser evaluada da como resultado un valor lógico (verdadero o falso).

Podrían definirse dos tipos de expresiones lógicas, las cuales tienen la siguiente forma:

Tipo A (también denominadas expresiones relacionales):

Operando1 operador de relación Operando2

Donde:

• Operando1 y 2 pueden ser ambos expresiones aritméticas o ambos expresiones carácter.

• Expresiones carácter pueden ser constantes o variables de tipo carácter o cadena.

• Operador de relación: > (mayor), < (menor), = (igual), >= (mayor o igual), <= (menor o igual), <> (diferente).

Los operadores de relación tienen igual prioridad entre ellos, pero la más baja prioridad en relación con los operadores aritméticos. Su orden de evaluación es el siguiente:

3

Page 4: Prioridad de los Operadores Aritméticos

Prioridad Operador

1. ( )

2. *,/,div,mod

3. +,-

4. >,<,=,>=,<=,<>

Nota:

• Los valores numéricos sólo pueden compararse con otros valores numéricos y los carácter con otros carácter.

• Los valores carácter no pueden compararse con las cadenas de caracteres.

• Las cadenas de caracteres sólo pueden compararse si tienen exactamente la misma longitud.

• En las comparaciones entre expresiones carácter el orden, según la codificación ASCII, es el siguiente: ‘0’<’1’<’2’<…..<’9’

‘a’<’b’<’c’<…..<’z’

‘A’<’B’<’C’<….<’Z’

Ejemplos de expresiones lógicas (también 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 evaluación de las siguientes expresiones es: CAR = ‘m’ (verdadero)

(2+3*N1) <> 6 + (N2 – 1) (falso)

(1+(2div2) mod N2) <= 4*n1 (verdadero)

4

Page 5: Prioridad de los Operadores Aritméticos

5

Page 6: Prioridad de los Operadores Aritméticos

(1+1 mod N2) <= 4*N1 (verdadero)

Tipo B Las expresiones lógicas pueden combinarse para formar expresiones más complejas: Operando1 operador lógico Operando2

Donde:

• Operando1 y 2 son expresiones lógicas que pueden estar constituidas por: constantes lógicas, variables lógicas, expresiones de relación, expresiones lógicas entre paréntesis.

• Operando1 es opcional, dependiendo del operador podría no existir.

• Operador lógico: not (no lógico), and (Y lógico), or (O lógico), xor

Mayor prioridad Menor prioridad

El orden de prioridad de los operadores lógicos en relación con el resto de operadores es el siguiente:

Operador Orden de Prioridad

( ) prioridad más alta (se evalúa primero)

not

*, /, div, mod, and

+, -, or, xor

<,>,<=,>=,=,<> prioridad más baja (se evalúa de último)

Tipo de valor lógico resultante de la evaluación de una expresión lógico se ilustra en la siguiente tabla:

Operando1

(Op1)

Operando2 (Op2)

not Op1 Op1 and Op2 Op1 or Op2 Op1 xor Op2

V V F V V F

V F F F V V

F V V F V V

F F V F F F

6

Page 7: Prioridad de los Operadores Aritméticos

Prioridad de los operadores lógicos

Cuando en una instrucción se usa más de un operador lógico, primero se evalúa NOT, luego AND y,

finalmente, OR. Los operadores aritméticos y bit a bit se tratan antes que los operadores lógicos.

Prioridad de operadores aritméticos: * / div mod se evalúan primero + - se evalúan de último

DIV DIVISIÓN ENTERA Cociente entero de a/b MOD MÓDULO 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 sólo se pueden utilizar con números enteros

7

Page 8: Prioridad de los Operadores Aritméticos

Práctica #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 d. Expresión

e. Tipos de datos elementales f. Operadores g. Conversión de tipos

2- Cuáles fueron las prioridades de los operadores vistas en clase de teoría ¿son las mismas que usa el lenguaje Java?

3- Dadas las siguientes declaraciones de variables, indique cuáles de las expresiones son válidas (no tienen errores sintácticos o semánticos).

// Declaración de Variables:

Entero A; Real B;Caracter C;

Lógico D; String E; // lógico o booleano; string o cadena de caracteres

// 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)

8

Page 9: Prioridad de los Operadores Aritméticos

4- Dados los siguientes estados iniciales (Ei) para las variables, evalúe e indique el resultado de cada expresión, 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 ^ 2 – 4 * 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 / 2 – 1 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

9