Expresiones Aritméticas -...
Transcript of Expresiones Aritméticas -...
![Page 1: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/1.jpg)
Expresiones Aritméticas
Programación digital IEscuela de Sistemas
Facultad de IngenieríaGilberto Diaz
![Page 2: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/2.jpg)
Expresiones Aritméticas
➲ El computador puede realizar cálculos además de mostrar datos por pantalla.
➲ Son expresiones analíticas que no contiene más funciones que aquellas que pueden calcularse con las operaciones del álgebra, a saber:
● Suma● Resta● Multiplicación● División
![Page 3: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/3.jpg)
Formato de las Expresiones
➲ Las expresiones Aritméticas se utilizan en sentencias con el siguiente formato:
variable = expresión;
➲ variable: localidad de memoria referenciada por un nombre bien definido
➲ expresión: expresión aritmética
![Page 4: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/4.jpg)
Operación de Asignación
➲ El mecanismo para asignar valores a las variables es la sentencia de asignación (=)
variable = expresión;
➲ Se evalua la expresión aritmética y el resultado es almacenado en la varible
➲ La sentencia de asignación permite modificar el contenido de una variable
![Page 5: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/5.jpg)
Expresiones
➲ Las expresiones pueden estar compuestas por:
● Una variable● Una constante● Una combinación de operadores y
operandos
![Page 6: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/6.jpg)
Expresiones
➲ Operandos: constantes, variables, números u otras expresiones
➲ Operadores: símbolos que indican al compilador que ejecute determinadas operaciones con los elementos sobre los que opera:
● aritméticos● lógicos● de cadena● relacionales
![Page 7: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/7.jpg)
Tipos de Expresiones
➲ Aritméticas: Los operandos que intervienen son numéricos, los resultados son numéricos y los operadores son aritméticos
➲ Lógicas: Los operadores son lógicos o relacionales. Los resultados sólo pueden ser dos valores:
● Cierto● Falsto
![Page 8: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/8.jpg)
Tipos de Expresiones
➲ Aritméticas: Los operandos que intervienen son numéricos, los resultados son numéricos y los operadores son aritméticos
➲ Lógicas: Los operadores son lógicos o relacionales. Los resultados sólo pueden ser dos valores:
● Cierto● Falsto
![Page 9: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/9.jpg)
Operadores Aritméticos
Operación Operador Expresión Expresión en C
Suma + A + 3 A + 3
Resta - A – 3 A – 3
Multiplic x A x 3 A * 3
División / A ÷ 3 A / 3
Resto % A % 3
Incremento ++ A + 1 A++ ó ++A
Decrement -- A – 1 A-- ó --A
![Page 10: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/10.jpg)
Operadores de Incremento
➲ En el caso de tener una variable i con valor igual a 2, tenemos
j = i++;
➲ Primero se asigna el valor de i a j y luego se incrementa el valor de i
➲ i = 3 j = 2
![Page 11: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/11.jpg)
Operadores de Incremento
➲ En el caso de tener una variable i con valor igual a 2, tenemos
j = ++i;
➲ Primero incrementa el valor de i y luego se asigna el valor de i a j
➲ i = 3 j = 3
![Page 12: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/12.jpg)
Operadores de Incremento
➲ En el caso de tener una variable i con valor igual a 2, tenemos
j = i--;
➲ Primero se asigna el valor de i a j y luego se decrementa el valor de i
➲ i = 1 j = 2
![Page 13: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/13.jpg)
Operadores de Incremento
➲ En el caso de tener una variable i con valor igual a 2, tenemos
j = --i;
➲ Primero decrementa el valor de i y luego se asigna el valor de i a j
➲ i = 1 j = 1
![Page 14: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/14.jpg)
Operadores de Incremento
➲ Este tipo de operadores sólo se utilizan con variables enteras
➲ Se pueden utilizar dentro de las expresiones, ejemplo:
x = 5 + y++;
➲ Lo cual es equivalente a:x = 5 + y;y++;
![Page 15: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/15.jpg)
Operadores Aritméticos
➲ Los operadores + - * / pueden ser utilizados con los siguientes operandos:
● Constantes● Variables● Expresiones
➲ La división de enteros genera resultados enteros
5/2 = 2
![Page 16: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/16.jpg)
Operadores Aritméticos
➲ El operador % da como resultado el resto de la división de los operandos involucrados. Sólo se puede utilizar con operandos enteros, ejemplo
5%2 = 1
![Page 17: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/17.jpg)
Operadores Aritméticos
Ejemplos:
➲ area = largo * ancho;➲ numero = 2 + 3;➲ i = j * k;➲ resto = 3 % 2;
![Page 18: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/18.jpg)
Reglas de los Operandos
➲ Si todos los operandos en una expresión son enteros entonces el resultado es entero
➲ Si alguno de los operandos es real entonces el resultado es real
![Page 19: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/19.jpg)
Reglas de los Operandos
➲ Si la expresión evaluada da como resultado un número entero y se le asigna a una variable real, entonces el resultado se convertirá antes a real antes de almacenarlo en la variable
![Page 20: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/20.jpg)
Reglas de los Operandos
➲ Si la expresión evaluada da como resultado un número real y se le asigna a una variable entero, entonces el resultado se convertirá antes a entero antes de almacenarlo en la variable
![Page 21: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/21.jpg)
Reglas de los Operandos
➲ Cuando hay conversiones de tipos de datos más grandes a más pequeños, ocurre un truncamiento de los bits más significativos.
➲ Si alguno de los operandos es long double, el resto es convertido a long double
![Page 22: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/22.jpg)
Reglas de los Operandos
➲ Si no, si alguno de los operandos es double, entonces el resto son convertidos a double
➲ Si no, si alguno de los operandos es float, el resto es convertido a float
➲ Si no, convierte los operandos char y short a int
➲ Por último, si algún operando es long el resto es convertido a long
![Page 23: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/23.jpg)
Nivel de Precedencia
➲ Los delimitadores paréntesis () son utilizados para darle mayor nivel de precedencia a las expresiones.
➲ Es decir, las expresiones entre
paréntesis son evaluadas primero
![Page 24: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/24.jpg)
Nivel de Precedencia
➲ Luego, el nivel de precedencia es como sigue:
● ++ --● * / %● + -
➲ Un mismo nivel de precedencia se evalua de izquierda a derecha
![Page 25: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/25.jpg)
Nivel de Precedencia
➲ Ejemplo:
(x + y + z) * (v + w)R1 = x + yR2 = R1 + zR3 = v + wR4 = R2 * R3
![Page 26: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/26.jpg)
Nivel de Precedencia
➲ Ejemplo:
(3 + 4 + 1) * (2 + 2)R1 = 3 + 4R2 = 7 + 1R3 = 2 + 2R4 = 8 * 4R5 = 32
![Page 27: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/27.jpg)
Nivel de Precedencia
➲ Ejemplo:
a*b*c + d*e*f + g%hR1 = a*bR2 = R1*cR3 = d*eR4 = R3*fR5 = g%hR6 = R2 + R4 + R5
![Page 28: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/28.jpg)
Nivel de Precedencia
➲ Ejemplo:
1*2*3 + 1*2*3 + 4%2R1 = 1*2R2 = 2*3R3 = 1*2R4 = 2*3R5 = 4%2R6 = 6 + 6 + 0R7 = 12
![Page 29: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/29.jpg)
Nivel de Precedencia
➲ Ejemplo:
(a * (b+c)) – 2 * d + (4*e – f)R1 = b + cR2 = a * R1R3 = 4 * eR4 = R3 – fR5 = 2 * dR6 = R2 – R5R7 = R6 + R4
![Page 30: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/30.jpg)
Nivel de Precedencia
➲ Ejemplo:
(2 * (1+1)) – 2 * 1 + (4*3 – 4)R1 = 1 + 1R2 = 2 * 2R3 = 4 * 3R4 = 12 – 4R5 = 2 * 1R6 = 4 – 2R7 = 2 + 8R8 = 10
![Page 31: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/31.jpg)
Nivel de Precedencia
➲ Ejercicio: Evalue la siguiente expresión para los valores a=2, b=3, c=1, d=4
(a * (b+c)) – 2 * a + (4*c – d) – d
![Page 32: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/32.jpg)
Evaluación de Expresiones
➲ Las expresiones pueden ser evaluadas de forma secuencial
➲ Ejemplo: 1 + 2 * 3
32 * 61 + 1 + 7
paso 1 paso 2 paso 3
![Page 33: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/33.jpg)
Evaluación de Expresiones
➲ Para evaluar una expresión utilizando esta técnica deben tenerse en cuenta las siguientes reglas
● La prioridad de lo operadores de mayor a menor es * / + -
● Las operaciones con igual prioridad se evaluan de izquierda a derecha
● Al final de la operación se efectuan el resto de las operaciones pendientes hasta que el contenedor de los operadores quede vacio
![Page 34: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/34.jpg)
Evaluación de Expresiones
● Cuando un paréntesis que cierra aparece se ejecutan todas las operaciones hasta que aparece un paréntesis que abre
![Page 35: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/35.jpg)
Evaluación de Expresiones
➲ Ejemplo: (1+2) * 4 / 2
)1 + 4 22 ( 3 * 12 / 6
paso 1 paso 2 paso 3 paso 4
![Page 36: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/36.jpg)
Evaluación de Expresiones
➲ Ejercicio: Evalue la expresión
1*2 + 3*4 – 10/2
![Page 37: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/37.jpg)
Operaciones de Asignación
➲ En C se cuenta con abreviaturas para realizar asignaciones
● += x = x + 3; x += 3;● -= x = x – 3; x -= 3;● *= x = x * 3; x *= 3;● /= x = x / 3; x /= 3;● %= x = x % 3; x %= 3;
![Page 38: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/38.jpg)
Operaciones de Asignación
➲ Ejemplos:
x /= y + 3; x = x/(y+3);
suma %= 3; suma = suma % 3;
angulo *= 3; angulo = angulo * 3;
![Page 39: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/39.jpg)
Asignación Múltiple
➲ En C podemos darle el mismo valor a diferentes variables utilizando una sola instrucción. Ejemplo:
a = b = c = d = 1;
➲ A todas las variables se les asigna el valor 1
![Page 40: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/40.jpg)
Recapitulemos
➲ Hemos visto diferentes formas de almacenar valores en una variable
➲ ¿Podria enumerarlas?
![Page 41: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/41.jpg)
Recapitulemos
➲ variable = valor constante x = 3;
➲ variable = variable x = y;
➲ variable = expresión x = a + 3;
➲ leer variable scanf(“%tipo”, &x);
![Page 42: Expresiones Aritméticas - webdelprofesor.ula.vewebdelprofesor.ula.ve/ingenieria/gilberto/pr1/06_Expresiones... · Expresiones Aritméticas El computador puede realizar cálculos](https://reader031.fdocuments.net/reader031/viewer/2022021821/5af61deb7f8b9a95469050b1/html5/thumbnails/42.jpg)
Ejercicios
➲ En la página siguiente Ud puede encontrar ejercicios que le ayudaran a afianzar los conocimientos:
http://webdelprofesor.ula.ve/ingenieria/amoret/pr1-flash