Vous êtes sur la page 1sur 66

Programacin

Clase 4. Expresiones
Prof. Gonzalo Mller
gmullerb@mail.com

Facultad de Ingeniera Universidad Central de Venezuela

Clase Anterior
Combinacin de Estructuras: Condicionales + Secuenciales, Repetitivas + Secuenciales, Condicional Compuestas: Anidadas y Cascadas, Estructura Repetitiva Anidadas. Algoritmos Propios. Constantes y Variables. Asignacin: =. Usos de las Variables: Contadores y Acumuladores. Lista de Variables.
Programacin Prof. Gonzalo Mller Clase 4 GM - 2

Expresiones
Una expresin est constituida por un conjunto de operadores, variables y constantes que luego de ser evaluada devolver un valor. Existen dos tipos de expresiones:
Aritmticas: Aquellas que al ser evaluadas generan un valor numrico. Lgicas: Aquellas que al ser evaluadas generan un valor lgico.

Programacin Prof. Gonzalo Mller Clase 4 GM - 3

Expresiones
Ejemplo: A>B
Expresin Lgica

B / 2 + 89.6 * D

Expresiones aritmticas

Programacin Prof. Gonzalo Mller Clase 4 GM - 4

Expresiones
Ejemplo: A>B
Verdadero o Falso

B / 2 + 89.6 * D

Nmero

Programacin Prof. Gonzalo Mller Clase 4 GM - 5

Expresiones Aritmticas
Estn formadas por una combinacin de: Variables. Constantes. Operadores Aritmticos.

Programacin Prof. Gonzalo Mller Clase 4 GM - 6

Expresiones Aritmticas
Operadores Aritmticos: Suma: + Resta: Multiplicacin: * Divisin Real: / Divisin Entera: \
Si se opera con 2 valores enteros (o redondeado) el resultado ser la parte entera del resultado de la divisin.

Residuo de divisin entera: %


Programacin Prof. Gonzalo Mller Clase 4 GM - 7

Expresiones Aritmticas
Los operadores aritmticos son operadores binarios. Su forma general: Variable operador Constante Variable operador Variable Expresin Aritmtica operador Expresin Aritmtica Ejemplo: B/2 4/2 A+4/2
Programacin Prof. Gonzalo Mller Clase 4 GM - 8

Expresiones Lgicas
Son expresiones que al evaluarlas puede tomar uno de dos posible valores:
Verdadero (V). Falso (F).

La Condicin utilizada en las estructuras condicionales y repetitivas es una expresin lgica.

Programacin Prof. Gonzalo Mller Clase 4 GM - 9

Expresiones Lgicas
Expresin lgica

Condicin
V

Paso 1 Paso n

Paso 1 Paso n

Mientras (Condicin)

Expresin lgica
Programacin Prof. Gonzalo Mller Clase 4 GM - 10

Expresiones Lgicas
Ejemplo: Algunas expresiones lgicas: Verdadero Esta lloviendo Falso Verdadero El nmero a es primo Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 11

Expresiones Lgicas
Al Evaluar: Si a = 1 Entonces El nmero a es primo Verdadero Si a = 8 Entonces El nmero a es primo Falso

Programacin Prof. Gonzalo Mller Clase 4 GM - 12

Expresiones Lgicas
Expresiones Lgicas Sencillas: Estn formadas por una combinacin de: Variables. Constantes. Expresiones Aritmticas. Operadores Relacinales.

Programacin Prof. Gonzalo Mller Clase 4 GM - 13

Expresiones Lgicas
Operadores Relacionales: Establecen la relacin entre dos valores numricos. Mayor que: > Menor que: < Igual que: == Mayor o igual que: >= Menor o igual que: <= Distinto que: !=

Programacin Prof. Gonzalo Mller Clase 4 GM - 14

Expresiones Lgicas
Operadores Relacionales: Son operadores binarios. Su forma general: Variable operador Constante Variable operador Variable Expresin Aritmtica operador Expresin Aritmtica Al evaluarla tomara uno de dos posibles valores: Verdadero Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 15

Expresiones Lgicas
Ejemplo:

a == 4 a >= 4 a <= 4 a != 4 a + 2 != 4
Programacin Prof. Gonzalo Mller Clase 4 GM - 16

Expresiones Lgicas
Ejemplo:

a == 4 ? a >= 4 ? a <= 4 ? a != 4 ? a + 2 != 4 ?
Programacin Prof. Gonzalo Mller Clase 4 GM - 17

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces a == 4 a >= 4 a <= 4 a != 4 a + 2 != 4
Programacin Prof. Gonzalo Mller Clase 4 GM - 18

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces a == 4 Falso a >= 4 Falso a <= 4 Verdadero a != 4 Verdadero a + 2 != 4 Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 19

Expresiones Lgicas
Expresiones Lgicas Compuestas: Estn formadas por una combinacin de: Expresiones Lgicas Sencillas. Operadores Lgicos. Expresiones Lgicas Compuestas.

Programacin Prof. Gonzalo Mller Clase 4 GM - 20

Expresiones Lgicas
Operadores Lgicos: Combinan expresiones lgicas Sencillas y/o Compuestas. Y: && O: || Ejemplo 4.4: Si (esta lloviendo && a es primo) Si (esta lloviendo || a es primo)

Programacin Prof. Gonzalo Mller Clase 4 GM - 21

Expresiones Lgicas
Operadores Lgicos: Son operadores binarios. Su forma general: Expresin Lgica 1 operador Expresin Lgica 2 Al evaluarla tomara uno de dos posibles valores: Verdadero Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 22

Expresiones Lgicas
Operador lgico Y: Solo se evaluara Verdadero si ambas expresiones son Verdaderas. De lo contrario ser Falso. Expresin 1 && Expresin 2
Expresin 1 Verdadera Verdadera Falsa Falsa Expresin 2 Verdadera Falsa Verdadera Falsa
Programacin Prof. Gonzalo Mller Clase 4 GM - 23

Resultado Verdadero Falso Falso Falso

Expresiones Lgicas
Operador lgico O: Solo se evaluara Falso si ambas expresiones son Falsas. De lo contrario ser Verdadero. Expresin 1 || Expresin 2
Expresin 1 Verdadera Verdadera Falsa Falsa Expresin 2 Verdadera Falsa Verdadera Falsa
Programacin Prof. Gonzalo Mller Clase 4 GM - 24

Resultado Verdadero Verdadero Verdadero Falso

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces a == 4 && a == 2 a >= 4 || a == 2 a <= 4 && a == 2 a != 4 && a == 4
Programacin Prof. Gonzalo Mller Clase 4 GM - 25

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces a == 4 && a == 2 Falso a >= 4 || a == 2 Verdadero a <= 4 && a == 2 Verdadero a != 4 && a == 4 Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 26

Expresiones Lgicas
Operador Adicional: Operador Negacin Lgica: !
Invierte el resultado de una expresin lgica. Es operador unario. Su forma general:

! Expresin
Al evaluarla tomara uno de dos posibles valores:

Verdadero Falso

Programacin Prof. Gonzalo Mller Clase 4 GM - 27

Expresiones Lgicas
Operador Negacin Lgica: !Expresin
Expresin Verdadera Falsa Resultado Falso Verdadero

Programacin Prof. Gonzalo Mller Clase 4 GM - 28

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces !(a == 4) !(a >= 4) !(a <= 4) !(a != 4)
Programacin Prof. Gonzalo Mller Clase 4 GM - 29

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces !(a == 4) Verdadero !(a >= 4) Verdadero !(a <= 4) Falso !(a != 4) Falso
Programacin Prof. Gonzalo Mller Clase 4 GM - 30

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces !(a == 4 && a == 2) !(a >= 4 || a == 2) !(a <= 4 && a == 2) !(a != 4 && a == 4)
Programacin Prof. Gonzalo Mller Clase 4 GM - 31

Expresiones Lgicas
Ejemplo: Si a = 2 Entonces !(a == 4 && a == 2) Verdadero !(a >= 4 || a == 2) Falso !(a <= 4 && a == 2) Falso !(a != 4 && a == 4) Verdadero
Programacin Prof. Gonzalo Mller Clase 4 GM - 32

Expresiones Lgicas
Ejemplo: Construir algoritmo obtener el mximo valor de tres nmeros.

Fase 1: Anlisis y Diseo: DES, DF o DRE y LV

Programacin Prof. Gonzalo Mller Clase 4 GM - 33

Corrida en fro
Al definir los casos de prueba a que tener en cuenta que se forman nuevos caminos al utilizar expresiones lgica compuestas
Convertidor 1 Leer n n < 0 || n > 10
V F V

Convertidor 2 Leer n n > 0 && n < 10


F

n=n+1

n=n-1

n=n+1

n=n-1

Escribir n Fin
Programacin Prof. Gonzalo Mller Clase 4 GM - 34

Escribir n Fin

Expresiones
Ejemplo:
Expresin Lgica

A+2>B1
Expresiones aritmticas

A = B / 2 + 89.6 * D Para poder determinar el valor es necesario determinar el orden en que se evaluarn los operadores, lo que se conoce como precedencia de operadores.
Programacin Prof. Gonzalo Mller Clase 4 GM - 35

Expresiones
Ejemplo:
Expresin Lgica

A+2>B1
Expresiones aritmticas

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 evaluarn los operadores, lo que se conoce como precedencia de operadores.
Programacin Prof. Gonzalo Mller Clase 4 GM - 36

Expresiones
Precedencia de los operadores:
1 2 3 4 5 6 7 8 () ! * > / + < >= == != && || -N % <=

Programacin Prof. Gonzalo Mller Clase 4 GM - 37

Precedencia de la familia C

Expresiones
Precedencia de los operadores: 1 se evalan ( ), luego !, as sucesivamente. En caso de igualdad de precedencia se evalan de izquierda a derecha. Cada lenguaje de programacin tiene su orden de precedencia.

Programacin Prof. Gonzalo Mller Clase 4 GM - 38

Expresiones
Ejemplo: A+2>B1

Programacin Prof. Gonzalo Mller Clase 4 GM - 39

Expresiones
Ejemplo:
1

A+2>B1

Programacin Prof. Gonzalo Mller Clase 4 GM - 40

Expresiones
Ejemplo:
1 2

A+2>B1

Programacin Prof. Gonzalo Mller Clase 4 GM - 41

Expresiones
Ejemplo:
1 3 2

A+2>B1

Programacin Prof. Gonzalo Mller Clase 4 GM - 42

Expresiones
Ejemplo:
1 3 2

A+2>B1 A = B / 2 + 89.6 * D

Programacin Prof. Gonzalo Mller Clase 4 GM - 43

Expresiones
Ejemplo:
1 3 2

A+2>B1
1

A = B / 2 + 89.6 * D

Programacin Prof. Gonzalo Mller Clase 4 GM - 44

Expresiones
Ejemplo:
1 3 2

A+2>B1
1 2

A = B / 2 + 89.6 * D

Programacin Prof. Gonzalo Mller Clase 4 GM - 45

Expresiones
Ejemplo:
1 3 2

A+2>B1
1 3 2

A = B / 2 + 89.6 * D

Programacin Prof. Gonzalo Mller Clase 4 GM - 46

Expresiones
Ejemplo:
1 3 2

A+2>B1
1 3 2

A = B / 2 + 89.6 * D

B A = + 89.6 * D 2

Programacin Prof. Gonzalo Mller Clase 4 GM - 47

Expresiones
Precedencia de los operadores:
1 2 3 4 5 6 7 8 () ! * > / + < >= == != && || -N % <=
Expresiones Aritmticas

1 se evalan Expresiones Aritmticas

Programacin Prof. Gonzalo Mller Clase 4 GM - 48

Expresiones
Precedencia de los operadores:
1 2 3 4 5 6 7 8 () ! * > / + < >= == != && || -N % <=
Expresiones Lgicas

1 se evalan Expresiones Aritmticas, 2 se evalan Expresiones Lgicas,


Programacin Prof. Gonzalo Mller Clase 4 GM - 49

Expresiones
Precedencia de los operadores:
1 2 3 4 5 6 7 8 () ! * > / + < >= == != && || -N % <=
Expresiones Lgicas Sencillas

1 se evalan Expresiones Aritmticas, 2 se evalan Expresiones Lgicas Sencillas,


Programacin Prof. Gonzalo Mller Clase 4 GM - 50

Expresiones
Precedencia de los operadores:
1 2 3 4 5 6 7 8 () ! * > / + < >= == != && || -N % <=
Expresiones Lgicas Compuestas

1 se evalan Expresiones Aritmticas, 2 se evalan Expresiones Lgicas Sencillas, 3 se evalan Expresiones Lgicas Compuestas.
Programacin Prof. Gonzalo Mller Clase 4 GM - 51

Expresiones
Ejemplo: Determinar el orden en que se evaluar la siguiente: A * 2 / 6 B > C / 8 + 5 % (D 1)

Programacin Prof. Gonzalo Mller 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) )

Programacin Prof. Gonzalo Mller 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

Programacin Prof. Gonzalo Mller 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

Programacin Prof. Gonzalo Mller 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

Programacin Prof. Gonzalo Mller 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)

Programacin Prof. Gonzalo Mller 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

Programacin Prof. Gonzalo Mller 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)

Programacin Prof. Gonzalo Mller 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)

Programacin Prof. Gonzalo Mller Clase 4 GM - 60

Expresiones
Por lo tanto la expresin: 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 parntesis. 2. Agregar espacios en blancos entre los operadores y los operandos.
Programacin Prof. Gonzalo Mller Clase 4 GM - 61

Expresiones
Ejemplo: A = B /(2 + 89.6) * D ( ) A = B /(2 + 89.6 * D) ( ) A = (B / 2) + (89.6 * D) ) ) A = B / 2 + 89.6 * D
Programacin Prof. Gonzalo Mller Clase 4 GM - 62

B A= D 2 + 89.6 B A= 2 + 89.6 * D B A = + 89.6 * D 2 B A = + 89.6 * D 2

Ejercicio
4.1. Construir las expresiones lgicas para establecer: a) Si dos nmeros no son positivos. b) Si un nmero 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 nmero 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.
Programacin Prof. Gonzalo Mller 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
Programacin Prof. Gonzalo Mller Clase 4 GM - 64

Ejercicio
4.3 Para cada uno de los siguientes problemas: a) Sumar 3 nmeros si son iguales y positivos y de lo contrario, reste los positivos de los negativos. b) Dividir 2 nmeros (0?), el menor entre el mayor. c) Leer y escribir nmeros hasta que el ledo sea mayor que 5 o se hayan ledo 5 nmeros. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras, Expresiones, Contadores, Acumuladores, Inicializacin, Conteo y Acumulacin. Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 4 GM - 65

Resumen
Expresiones Aritmticas: Operadores Aritmticos: +, , *, /,\, % Expresiones Lgicas: Expresiones Lgicas Sencillas:
Operadores Relacionales: >, <, >=, <=, ==, !=

Expresiones Lgicas Compuestas:


Operadores Lgicos: &&, || Operador Negacin: ! Considerar en Corridas en Fro

Precedencia de Operadores Parntesis. Operadores y precedencia dependen del lenguaje.


Programacin Prof. Gonzalo Mller Clase 4 GM - 66