Evidencia 2 computación 1 Evaluación de expresiones
Enviado por xulio77 • 4 de Agosto de 2017 • Ensayo • 11.024 Palabras (45 Páginas) • 232 Visitas
Competencia 2
Evaluación de expresiones
Ya conoces los operadores que se utilizan en C#; en el momento en que se crean expresiones utilizando estos operadores, ¿cómo crees que se pueden evaluar?, ¿en qué orden se realizan las operaciones por la computadora?
En el tema anterior, se vieron los diferentes tipos de operadores, que te ayudarán a realizar aplicaciones que efectúen cálculos; en este tema se explicará cómo es que se llevan a cabo estas operaciones, cómo funciona en C# la evaluación de expresiones, y cómo considera los diferentes tipos de datos en el momento en que se efectúa una evaluación de expresiones.
La evaluación de expresiones sigue la prioridad de los operadores, poco a poco te darás cuenta que es lo mismo que ya has visto en tus clases de matemáticas anteriores.
6.1 prioridad de los operadores
En el tema anterior, se vieron los diferentes tipos de operadores: aritméticos, relacionales y lógicos. Estos operadores se utilizan para resolver expresiones; a continuación, se explican otros operadores que se utilizan en C#:
Operador de asignación =
El operador de asignación se utiliza para guardar un valor en una variable; por ejemplo, si se tiene la siguiente declaración de la variable num en C#:
int num;
Y luego se tiene la siguiente instrucción:
num = 10;
Entonces, se puede decir que esta instrucción es una asignación, ya que se le está asignando el número 10 a la variable num.
En la asignación, se realiza el cálculo que se encuentra del lado derecho del signo =, y el resultado se asigna en la variable indicada del lado izquierdo del signo igual, es por eso que una variable puede usarse para calcular y para almacenar el resultado en esa misma variable.
Operadores ++, --
Estos operadores incrementan o decrementan en uno el valor de una variable; por ejemplo, si se tiene la siguiente instrucción:
int num = 10; //se declara la variable num y se le asigna el valor de 10
Y luego se tiene la siguiente instrucción:
num++;
Significa que se le suma uno al valor almacenado actualmente en la variable num; esta instrucción también se puede escribir de la siguiente forma:
num = num + 1;
El ejemplo para decrementar sería con la siguiente instrucción:
num--;
Lo que significa que se le resta uno al valor almacenado actualmente en la variable num. Esta instrucción también se puede escribir de la siguiente forma:
num = num - 1;
Prioridad de los operadores
Operadores | Significado |
() | Paréntesis |
! | Negación |
*, / , % | Multiplicación, división, residuo |
+, - | Suma, resta |
<, <=, >, >= | Menor que, menor o igual que, mayor que, mayor o igual que |
== , != | Igual a, diferente de |
&& | and |
|| | or |
=, +=, -=. *=, /= | asignaciones |
6.2 Evaluacion de expresiones
Los operadores de asignación tienen el siguiente significado:
Nota: en estos ejemplos, la variable número es de tipo integer (int).
Operador | Significado |
= | Asignación |
+= | Suma y asignación |
-= | Resta y asignación |
*= | Multiplicación y asignación |
/= | División y asignación |
++ | Incrementa en uno el valor de la variable |
-- | Decrementa en uno el valor de la variable |
int número = 10; | En este ejemplo, el valor que se imprime en la pantalla es de 11. |
int número = 10; | En este ejemplo, el valor que se imprime en la pantalla es de 10, pero la variable número guarda un 11. |
int número = 10; | En este ejemplo, el valor de número que se imprime en la pantalla es de 11, y el valor que se imprime de la variable es de 22. |
int número = 10; | En este ejemplo, el valor de número que se imprime en la pantalla es de 10, y el valor que se imprime de la variable es de 22. |
A continuación, se muestran algunos ejercicios de evaluación de expresiones para que practiques la prioridad de los operadores:
Ejemplo 1:
¿Cómo expresarías la siguiente fórmula algebraica en C#?
(4*2f) (5+3y) |
Solución:
((4*2*f) * (5+3*y)) / ( (2*y) /( h*2-y) )
Ejemplo 2:
Si se tienen las siguientes instrucciones en C#, ¿qué valor final almacena la variable número?
int número;
número = (20 + 2 * 4 + 4%2);
Los pasos en la que se resuelve la expresión son:
- (20 + 8 + 4%2) Primero se realiza la multiplicación de 2 *4, ya que la multiplicación y el residuo tienen la misma prioridad, entonces se resuelve de izquierda a derecha.
- (20 + 8 + 0) Continuamos con el residuo % de 4/2, que es cero.
- (28 + 0)
- 28
Notas importantes en C#:
- Cuando en una expresión todos los operadores son enteros, el resultado es entero.
- Una variable de tipo doble sí puede almacenar una variable de tipo entera o un valor entero, pero no al revés.
Ejemplo 3:
Operación | Qué muestra en la consola de salida |
Console.WriteLine(5 + 3); | 8 |
Console.WriteLine(4-6); | -2 |
Console.WriteLine(4/6); | 0 |
Console.WriteLine(9/2); | 4 |
Console.WriteLine(7%3); | 1 |
Console.WrtiLine(4.0/6); | 0.66667 |
Console.WriteLine(4/6.0); | 0.66667 |
Ejemplo 4:
...