programación iii clase #03 operadores. expresiones es cualquier cosa que retorne un valor. en c++...
TRANSCRIPT
![Page 1: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/1.jpg)
Programación III
Clase #03
Operadores
![Page 2: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/2.jpg)
Expresiones
• Es cualquier cosa que retorne un valor.
• En C++ CASI todo son expresiones.
• Ejemplo:– 5– 3 + 2
• Las expresiones se pueden formar por medio de operadores…
![Page 3: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/3.jpg)
Objetos
• En C++ un objeto es:– Cualquier cosa que ocupe un lugar en
memoria.
![Page 4: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/4.jpg)
Operadores (Precedencia 1)
• Resolución de Ámbito, classname::member
• Global ::name
![Page 5: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/5.jpg)
Operadores (Precedencia 2)
• Selección de Miembros: object.member pointer->member
• Subíndice pointer[expr]
• Llamado a función expr(expr_list)
• Post Increment lvalue++
• Post Decrement lvalue++
![Page 6: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/6.jpg)
Operadores (Precedencia 3)
• Tamaño de Objeto: sizeof expr• Tamaño de Tipo: sizeof(type)• Pre Incremento: ++lvalue• Pre Decremento: --lvalue• Complemento: ~expr• NOT: !expr• Más Unario: +expr• Menos Unario: -expr• Dirección de: &expr• Dereferencia: *expr• Reserva de Memoria: new type(expr_list)• Borrado de Memoria: delete pointer delete[] pointer
![Page 7: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/7.jpg)
Operadores (Precedencia 4)
• Multiplicar: expr * expr
• Dividir: expr / expr
• Módulo: expr % expr
![Page 8: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/8.jpg)
Operadores (Precedencia 5)
• Suma: expr + expr
• Resta: expr - expr
![Page 9: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/9.jpg)
Operadores (Precedencia 6)
• Shift Right: expr >> expr
• Shift Left: expr << expr
![Page 10: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/10.jpg)
Operadores (Precedencia 7)
• Menor que: expr < expr
• Menor o igual que: expr <= expr
• Mayor que: expr > expr
• Mayor o igual que: expr >= expr
![Page 11: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/11.jpg)
Operadores (Precedencia 8)
• Igual: expr == expr
• Diferente: expr != expr
![Page 12: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/12.jpg)
Operadores (Precedencia 9)
• Bitwise AND: expr & expr• Bitwise XOR: expr ^ expr• Bitwise OR: expr | expr• AND Lógico: expr && expr• OR Lógico: expr || expr• Expresión condicional: expr ?expr: expr
• (En esta diapositiva, cada operador tiene diferente precedencia)
![Page 13: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/13.jpg)
Operadores (Precedencia 10)
• Asignación Simple: lvalue = expr• Otros Operadores de Asignación:
– lvalue *= expr– lvalue /= expr– lvalue %= expr– lvalue += expr– lvalue -= expr– lvalue <<= expr lvalue>>=expr– lvalue &= expr lvalue |= expr
lvalue^=expr
![Page 14: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/14.jpg)
Operadores Aritméticos
• + Suma• - Resta• * Multiplicación• / División• % Módulo• + (Unario)• - (Unario)• ++, -- Incremento y Decremento, Unarios
en versiones postfija, y prefija
![Page 15: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/15.jpg)
Ejemplos
int a = 5, b;
b = -a;
int a = 4, b;
b = a++;
int a = 4, b;
b = ++a;
a 5
b 4
a 5
b 5
![Page 16: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/16.jpg)
¿Verdadero / Falso?
• En C++ Falso es:– la constante false– 0
• En C++ Verdadero es:– la constante true– Cualquier valor que NO sea 0– 1, -1.1545, 50000, ‘A’, etc.
![Page 17: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/17.jpg)
Operadores Relacionales
• == Igualdad
• != Diferencia
• < Menor que
• <= Menor igual que
• > Mayor que
• >= Mayor igual que
![Page 18: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/18.jpg)
Ejemplo
int a= 9, b =9, c=1, x;
x = a==b;
x = a==c;
x = a>=b;
![Page 19: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/19.jpg)
Operadores Lógicos
• ! Not
• && And
• || Or
• En C++ los valores lógicos son enteros, Falso es representado por 0, y verdadero es NO 0.
![Page 20: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/20.jpg)
Ejemplo
int a= 9, b =9, c=1, x;
x = (a==b) && (c>0);
x = !((a==b) && (c>0));
x = (a>=b) || (c<100);
![Page 21: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/21.jpg)
Operadores de Asignación
• = Asignación
• += Sume y Asigne (a+=2 a = a + 2)
• -= Reste y Asigne (a-=2 a = a - 2)
• *= Mult. y Asigne (a*=2 a = a * 2)
• /= Div. y Asigne (a/=2 a = a / 2)
• %= Mod. y Asigne (a%=2 a = a % 2)
![Page 22: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/22.jpg)
Ejemplo
int a, b, c, d, e;
a = b = c = d = e = 13;
/*
Todas estas variables quedan con valor 13
*/
![Page 23: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/23.jpg)
Operadores Bitwise
• >> Shift Left
• << Shift Right
• & Bitwise And
• | Bitwise Or
• ^ Bitwise Xor
• ~ Complemento
• <<=, >>=, &=, |=, ^= También
![Page 24: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/24.jpg)
Operador Ternario
• expr1 ? expr2 : expr3• Este operador hace lo siguiente:
– Si la expr1 es verdadera, la expresión total devuelve el valor contenido en expr2
– Si la expr1 es falsa, la expresión total devuelve el valor contenido en expre3
• x = 3 >= 3 ? 5 : 1– Se asignaría 5, dado que expr1 (3>=3) es verdadera.
![Page 25: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/25.jpg)
Otros Operadores (1)
• Memoria Dinámica:– new, delete
• Clases– :: Operador de Resolución de Acceso
• Estructuras– ., -> Operadores de Acceso de Campos
• Apuntadores– * A lo que apunta…– & Operador de dereferencia, la dirección de…
![Page 26: Programación III Clase #03 Operadores. Expresiones Es cualquier cosa que retorne un valor. En C++ CASI todo son expresiones. Ejemplo: –5 –3 + 2 Las expresiones](https://reader036.vdocumento.com/reader036/viewer/2022070416/5665b4af1a28abb57c9333ab/html5/thumbnails/26.jpg)
Otros Operadores (2)
• sizeof(obj) Retorna el tamaño en bytes de obj
• sizeof(type) Retorna el tamaño en bytes del type
• [] Operador de subíndice