Descripción: Clase 4 de Programación, Prof. Gonzalo Müller
Programación
Clase 4. Expresiones Prof. Gonzalo Müller
[email protected]
Facultad de Ingeniería Universidad Central de Venezuela
Clase Anterior
Combinación de Estructuras: Condicionales +
Secuenciales, Repetitivas + Secuenciales, Condicional Compuestas: Anidadas y Cascadas, Estructura Repetitiva Anidadas. Algoritmos Propios. Constantes y Variables. Asignación: =. Usos de las Variables: Contadores y Acumuladores. Lista de Variables. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 2
Expresiones Una expresión está constituida por un conjunto de operadores, variables y constantes que luego de ser evaluada devolverá un valor. Existen dos tipos de expresiones:
Aritméticas: Aquellas que al ser evaluadas generan un valor numérico.
Lógicas: Aquellas que al ser evaluadas generan un valor lógico.
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 3
Expresiones Ejemplo: A>B
Expresión Lógica
B / 2 + 89.6 * D
Expresiones aritméticas
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 4
Expresiones Ejemplo: A>B
Verdadero o Falso
B / 2 + 89.6 * D
Número
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 5
Expresiones Aritméticas
Están formadas por una combinación de: Variables. Constantes. Operadores Aritméticos.
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 6
Expresiones Aritméticas
Operadores Aritméticos: Suma: + Resta: Multiplicación: * División Real: / División Entera: \
Si se opera con 2 valores enteros (o redondeado) el resultado será la parte entera del resultado de la división.
Residuo de división entera: %
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 7
Expresiones Aritméticas
Los operadores aritméticos son operadores binarios. Su forma general: Variable operador Constante Variable operador Variable Expresión Aritmética operador Expresión Aritmética Ejemplo: B/2 4/2 A+4/2 Programación – Prof. Gonzalo Müller – Clase 4 – GM - 8
Expresiones Lógicas Son expresiones que al evaluarlas puede tomar uno de dos posible valores:
Verdadero (V).
Falso (F).
La Condición utilizada en las estructuras condicionales y repetitivas es una expresión lógica.
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 9
Expresiones Lógicas Expresión lógica
Condición
F
Paso 1
V
…
Paso 1
Paso n Paso n
Mientras (Condición)
Expresión lógica Programación – Prof. Gonzalo Müller – Clase 4 – GM - 10
Expresiones Lógicas Ejemplo: Algunas expresiones lógicas: Verdadero Esta lloviendo
ó Falso Verdadero
El número a es primo
ó Falso
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 11
Expresiones Lógicas Al Evaluar: Si a = 1 Entonces El número a es primo → Verdadero Si a = 8 Entonces El número a es primo → Falso
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 12
Expresiones Lógicas
Expresiones Lógicas Sencillas: Están formadas por una combinación de: Variables. Constantes. Expresiones Aritméticas. Operadores Relaciónales.
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 13
Expresiones Lógicas
Operadores Relacionales: Establecen la relación entre dos valores numéricos. Mayor que: > Menor que: < Igual que: == Mayor o igual que: >= Menor o igual que: = 4 a = 4 → ? a = 4 a = 4 → Falso a = 4 || a == 2 a = 4 || a == 2 → Verdadero a = 4) !(a = 4) → Verdadero !(a = 4 || a == 2) !(a = 4 || a == 2) → Falso !(a 10
Leer n n > 0 && n < 10
V
F
n=n+1
n=n-1
V
F
n=n+1
n=n-1
Escribir n
Escribir n
Fin
Fin Programación – Prof. Gonzalo Müller – Clase 4 – GM - 34
Expresiones Ejemplo: Expresión Lógica
A+2>B–1 Expresiones aritméticas
A = B / 2 + 89.6 * D Para poder determinar el valor es necesario determinar el orden en que se evaluarán los operadores, lo que se conoce como precedencia de operadores. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 35
Expresiones Ejemplo: Expresión Lógica
A+2>B–1 Expresiones aritméticas
A = B / 2 + 89.6 * D
B A= D 2 + 89.6 B A= 2 + 89.6 * D B A = + 89.6 * D 2
?
Para poder determinar el valor es necesario determinar el orden en que se evaluarán los operadores, lo que se conoce como precedencia de operadores. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 36
Expresiones
Precedencia de los operadores: 1 2 3 4 5 6 7 8
() ! * >
-N /
%
+ – < >= == != &&
B–1
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 39
Expresiones Ejemplo: 1
A+2>B–1
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 40
Expresiones Ejemplo: 1
2
A+2>B–1
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 41
Expresiones Ejemplo: 1
3
2
A+2>B–1
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 42
Expresiones Ejemplo: 1
3
2
A+2>B–1 A = B / 2 + 89.6 * D
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 43
Expresiones Ejemplo: 1
3
2
A+2>B–1 1
A = B / 2 + 89.6 * D
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 44
Expresiones Ejemplo: 1
3
2
A+2>B–1 1
2
A = B / 2 + 89.6 * D
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 45
Expresiones Ejemplo: 1
3
2
A+2>B–1 1
3
2
A = B / 2 + 89.6 * D
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 46
Expresiones Ejemplo: 1
3
2
A+2>B–1 1
3
2
A = B / 2 + 89.6 * D
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 47
B A = + 89.6 * D 2
Expresiones
Precedencia de los operadores: 1 2 3 4 5 6 7 8
() ! * >
-N /
+ – < >= == != && ||
%
-N /
+ – < >= == != && ||
%
Expresiones Lógicas
-N /
+ – < >= == != && ||
%
Expresiones Lógicas Sencillas
-N /
+ – < >= == != && ||
% C / 8 + 5 % (D – 1)
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 52
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1))
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 53
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 54
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 55
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6 4. C / 8
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 56
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6 4. C / 8
5. 5 % (D – 1)
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 57
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6 4. C / 8
5. 5 % (D – 1) 6. A * 2 / 6 – B
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 58
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6 4. C / 8
5. 5 % (D – 1) 6. A * 2 / 6 – B 7. C / 8 + 5 % (D – 1)
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 59
Expresiones Ejemplo: Determinar el orden en que se evaluará la siguiente: A * 2 / 6 – B > C / 8 + 5 % (D – 1) 1. (D – 1) 2. A * 2 3. A * 2 / 6 4. C / 8
5. 5 % (D – 1) 6. A * 2 / 6 – B 7. C / 8 + 5 % (D – 1) 8. A * 2 / 6 – B > C / 8+ 5 % (D – 1)
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 60
Expresiones Por lo tanto la expresión: A * 2 / 6 – B > C / 8 + 5 % (D – 1) Es equivalente: (((A * 2) / 6) – B) > (C / 8 + (5 % (D – 1))) Para aumentar la legibilidad y reducir la posibilidad de construir expresiones incorrectas es Recomendable: 1. El uso de los paréntesis. 2. Agregar espacios en blancos entre los operadores y los operandos. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 61
Expresiones Ejemplo: A = B /((2 + 89.6)) * D
B A= D 2 + 89.6
A = B /((2 + 89.6 * D))
B A= 2 + 89.6 * D
A = (B / 2)) + (89.6 * D))
B A = + 89.6 * D 2
A = B / 2 + 89.6 * D
B A = + 89.6 * D 2
Programación – Prof. Gonzalo Müller – Clase 4 – GM - 62
Ejercicio 4.1. Construir las expresiones lógicas para establecer: a) Si dos números no son positivos. b) Si un número no se encuentra entre 1 y 24. d) Si punto pertenece al interior de una circunferencia de radio R situada en el origen. e) Si un número no es par, o se encuentra entre 1 y 24. f) Si punto pertenece al interior de una circunferencia de radio R situada en el origen y al 1º cuadrante. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 63
Ejercicio 4.2. Determinar el tipo y el orden en el que se evaluará las siguientes expresiones: a. 6 + 7 / 5 * 2 - 8 % 2 b. 2 + C != – 2 || 456 + C / 5 c. 8 / 5 * 2 – 1 % 5 * 5 + 2 / 4 d. D + 1 / 2 – 5 *A + A > 3 / 5 * D e. A + 2 > 8 / B && A > 23 || C + 56 % 5 Programación – Prof. Gonzalo Müller – Clase 4 – GM - 64
Ejercicio 4.3 Para cada uno de los siguientes problemas: a) Sumar 3 números si son iguales y positivos y de lo contrario, reste los positivos de los negativos. b) Dividir 2 números (0?), el menor entre el mayor. c) Leer y escribir números hasta que el leído sea mayor que 5 o se hayan leído 5 números. Fase 1: Análisis y Diseño: DES, DF, DRE y LV. Señalar en DF o DRE: Estructuras, Expresiones, Contadores, Acumuladores, Inicialización, Conteo y Acumulación. Realizar una corrida en frío. Programación – Prof. Gonzalo Müller – Clase 4 – GM - 65
Resumen
Expresiones Aritméticas: Operadores Aritméticos: +, – , *, /,\, % Expresiones Lógicas: Expresiones Lógicas Sencillas:
Operadores Relacionales: >, =,