P. 1
OPERADORES ARITMETICOS - RELACIONALES - LOGICOS C++

OPERADORES ARITMETICOS - RELACIONALES - LOGICOS C++

|Views: 3.294|Likes:
Publicado porJohan Brenes E

More info:

Published by: Johan Brenes E on Mar 27, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

06/28/2013

pdf

text

original

Operadores Aritméticos

El lenguaje C++ cuenta con los operadores aritméticos básicos, más los operadores paréntesis () para dar cierta prioridad a operaciones que lo requieran. ( + , - , * , / ) = (adición, sustracción, multiplicación, división) y el símbolo % = operador módulo o resto de la división. (En algoritmos puede aparecer como MOD() o como RESTO() ) Para ejemplarizar consideremos la definición de las variables a, b, result: int result, a = 8, b = 2; result = a % b; result = a - b; Ahora sea: result = a % b; result = a / 5; /* result = 0 */ /* result = 6 */ b = 3; /* 8 % 3 --> result = 2 */ /* 8 / 5 --> result = 1 */

* Observe que la sentencia de asignación, termina con un punto y coma, y las variables se declaran sólo una vez (caso de la variable b).

Diferencias de la división según el tipo de los operandos a) Si uno o más de los operandos es una variable de tipo punto flotante (double, float), entonces la división es real. b) Si los dos operandos son variables enteras (int, long,short,byte), entonces la división es entera.

Tipo de División Resultado int / int int / double double / int double / double int double double double

Ejemplo 3/2=1 3.0 / 2.0 = 1.5 1.0 / 2 = 0.5 6.0 / 5.0 = 1.2

Ejercicio: ¿Cuál es el valor final de a y de b una vez efectuadas las operaciones? int a = 3; double b = 2.0; a = 3 / b; /* ¿a resulta 1 ó 1.5? */ b = 3 / 2; /* ¿Resultado en b? */

tomando un valor final de 8. cuando este tipo de incrementos no son independientes. a++. se encuentra en la asignación de variables. producen el mismo efecto. la variable a se incrementa.1.y --var y sólo es válido para variables de tipo entero. b. lo primero que se hace es incrementar la variable a (a = 8). c = b / 2. toma como valor 5*/ /* la variable se post incrementa y toma el valor 6 */ /* la variable se pre incrementa y toma el valor 7*/ El post y pre incremento en estas condiciones. Luego de la asignación. o sea hay otra(s) variable(s) involucrada(s) se deben seguir ciertas reglas.. b = a++.1 La mayor diferencia de estos métodos. También es válido para var-. /* a = 7 y b = 0 */ /* primero b = 7 y luego a = a + 1 --> 8 */ La variable b toma el valor de a (o sea b = 7). se tienen que hacer incrementos o decrementos de una unidad para variables enteras de la manera: var = var + 1. En este caso. variable++ . que se ejemplifican a continuación: post-incremento int a = 7. se ha incluido el operador ++ y -. --b. c--. b = c++. ++a. veremos este tipo de asignación cuando en la sentencia no existe otra variable involucrada. o var = var . /* la variable a. pre-incremento a = 8. a++. para luego asignar ese valor a la variable b (o sea b = 9). --variable : variable = variable . Ej: int a = 5.Operador de post y pre incremento Generalmente en un programa. * Todo lo anterior es válido para variables enteras y para el operador de decremento Ejercicios Hacer la traza de los siguientes segmentos de código a) int a = 3.para realizar estas asignaciones de manera más corta. Ahora bien. . b = ++a. En primer lugar. c. b = 4. ++variable : variable = variable + 1 variable-. En C++ como también en otros lenguajes de programación. b = ++a.

lo primero que se hace es modificar el valor de esa variable. se está post-incrementando.1 = 35 */ Como ahora b. a = a . /* a = a + b = 2 + 3 = 5 */ Para mayor orden en el seguimiento de los valores. x = z + y++. a % = b. z = 6. se escribe y evalúa la expresión equivalente. /* a = a . a = a % b. b = 0. b = b + a + 5 = 16 + 15 + 5 = 36 */ Después de incrementar la variable a. a += b--. lo primero que se hace es evaluar la expresión equivalente. valores finales : x = 9. b *= 5. y después finalmente incrementar la variable b. /* a = a + b = 15 + 36 = 51. .1 = 36 .1 = 15 . b = 35. y = 3. se escribe la expresión equivalente y a continuación se evalúan los valores. z = --y + z. x++.b. /* b = b * 5 = 3 * 5 = 15 */ /* b = b + 1 = 15 + 1 = 16. a = a * b.valores finales: a = 5. /* Se declaran dos variables enteras a = 2.= b. b = b . Expresión a + = b. a / = b. b = 3. a = b = 16 */ Como existe una variable que se está pre-incrementando. --z. Equivalente a = a + b. z = 8 Operadores de asignación aritmética Continuando con la idea de contraer ciertas operaciones aritméticas. y = 3. Ejemplo: int a = 2. se evalúan los valores.1 = 16 . b) int x. a * = b. a = a / b. b += --a + 5. Después de haber hecho esto. c = 2. cuando está involucrada como operador. a . a = ++b. b = 3 */ a += b. Valores finales: a = 51. se usan abreviaciones para la asignación de una variable.

a %= 2. b += a.Ejercicios Determinar los valores finales para los siguientes segmentos de código a) int a = 2. a++. a *= 2.01 igual distinto A % 2 == 0 t != true Ejemplo: 5>1 1 >= 5 2 == 2 2 != 2 /* true */ /* false */ /* true */ /* false */ . a = ++b + 2. c /= 5. b++. c *= b. b = 3. Los valores finales: a = 1. c = 6 b) int a = 1. Operador < <= > >= == != Descripción menor Ejemplo a<b menor o igual a++ <= 122 mayor x > 5 * b++ mayor o igual p >= 0. b -= 3. c = 5. El resultado de una comparación es un valor true o false. b = 7 Operadores Relacionales Los siguientes operadores son fundamentales para implementar las condiciones de las sentencias de control. int b = 2. b = 3. b = ++a. Los valores finales son: a = 9. b += a.

c : false. a) 7 <= 5 b) 2 > 6 c) 3 != 5 d) a == a + 1 e) b++ != b++ Operadores Lógicos C++ proporciona operadores lógicos que se usan para simular los conceptos Y. O y NO del álgebra de Boole.0 && f <= 1. X Y X && Y X | | Y false false false true false true true true !X true true false false false False false true true Trae False Trae Ejercicio: Determinar el resultado de las siguientes operaciones o sentencias. Los argumentos y resultados de estos operadores lógicos son valores de tipo boolean. El operador && tiene mayor precedencia que el operador ||.0 e == 1 | | d == 2 !encendido En la siguiente tabla se muestran los resultados de aplicar los operadores lógicos para todos los posibles valores de entrada. y los operadores correspondientes son &&. d : true . Éstos se conocen con el nombre de conjunción. a) true || false && true b) (false || false) && (!true) c) !true && !false d) !(5 > 7 || 8 > 0 && 1 == 2) resp: a = true.Ejercicio: determinar si las siguientes relaciones son true o false. b : false . disyunción y negación respectivamente. La precedencia de la conjunción y la disyunción es lo suficientemente baja como para que no sea necesario utilizar paréntesis. mientras que ! se agrupa con los demás operadores. Operador Descripción && || ! AND (y) OR (o) NOT (no) Ejemplo f > 0. || y !.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->