Está en la página 1de 19

Operadores relacionales

y expresiones
Lección 6

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Operadores relacionales

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


p Operadores aritméticos producen nuevos
valores manipulando valores aritméticamente
p Operadores relacionales realizan pruebas
lógicas para producir un verdadero o falso lógico
Ejemplo: Imprimir un estado de cuenta
Operador Ejemplo Explicación
== y == x es y igual a x
!= y != x es y no igual a x
> x > y es y menor que x
< x < y es y mayor que x
<= y <=x es y menor o igual a x
>= y >= x es y mayor o igual a x
Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres
p Algunos consisten de dos caracteres
n No dejar espacio entre ellos
p Equivalencia ==
c == b ≠ c = b

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Expresiones relacionales
p Expresión relacional: operadores relacionales
comparando dos valores para probar una
condición específica
p Expresión relacional simple: dos operandos y un
operador relacional
n Legibilidad → blanco entre operandos y operador
Ejemplo

c > b
Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres
p Resultado de la expresión: 1 si verdadera y 0 si
falsa
p Posible comparar valores de cualquier tipo de
dato básico
n Algunas combinaciones no tienen sentido: float a
char

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


p Operandos
n Variables
n Constantes
n Expresiones aritméticas
n Llamadas a funciones

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Variables y constantes como
operandos
p Comparación de variables y constantes
x <= 10
¿Cierto? → 1 ¿Falso? → 0
p Comparación de dos variables
x == y
¿Cierto? → 1 ¿Falso? → 0

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Expresiones aritméticas como
operandos
p Expresiones aritméticas como operandos dentro
de expresiones relacionales

(x + y) > 40

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Llamadas a funciones como
operandos
p Llamadas a funciones como operando dentro de
una expresión relacional
p Uso más común getchar() → librería estandar
n Obtiene un carácter de la terminal
Ejemplo
getchar() != ‘n’

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Orden de evaluación
Orden Operador Tipo de Operador Asociación
p
1
Reglas
f(…)
para determinarlo si
Llamada a función
más de un operador
izquierda a derecha
2 existe
+ en
+ una expresión
incremento derecha a izquierda
- - decremento
- menos unario
3 / división izquierda a derecha
% módulo
* multiplicación
4 + adición izquierda a derecha
- sustracción
5 < <= > >= relacional izquierda a derecha
6 == igualdad izquierda a derecha
!= desigualdad
7 = += asignación derecha a izquierda
-= *=
Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres
/= %=
p Anulación de orden de precedencia con ( )

(x = y) > n

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


Ejemplo de programación con
operadores relacionales
p Uso más común: sentencia if
if (condición de prueba)
haz esta sentencia si la prueba es verdadera;
p Condición de prueba cierta si tiene valor
diferente de cero
n Falsa si tiene valor cero

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


El problema
Farmacéutica Acatlán necesita un programa que permita
a los encargados de ingresar pedidos introducir el
nombre de la región de ventas y el monto de ventas en
dicha región. Luego, basado en lo ingresado, el
programa debe calcular los cargos de envío. El cargo de
envío depende del porcentaje de ventas y es distinto en
cada región.

Farmacéutica Acatlán tiene cuatro regiones de ventas.


Dado que cada región tiene un diferente costo de envío,
el programa debe probar los datos que el empleado
teclea para determinar qué porcentaje utilizar
Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres
#include <stdio.h>

main()
{
float ventas, tasa;
int region;

tasa = 0.0; /* inicializar tasa */

/* recibe un dígito de la terminal y lo coloca en region */

printf("Por favor escriba la region de ventas (1-4): ");


scanf("%d", &region);

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


/*recibe el monto de la terminal y lo coloca en ventas */

printf("Ingrese el monto total de ventas (1-4): $ ");


scanf("%f", &ventas);

/* Checa errores de entrada */

if(region <1)
printf ("\nEsa region no existe");
if(region >4)
printf ("\nEsa region no existe");

/* Asigna los cargos de envío para las distintas regiones */

if (region == 1)
tasa = 0.01;
if (region == 2)
tasa = 0.02;
if (region == 3)
tasa = 0.03;
if (region == 4)
tasa = 0.04;
if (tasa != 0.0)
printf("\n Los costos de envio son $ %5.2f\n", ventas *
tasa);
getchar();
Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres
getchar();
}
#include <stdio.h>

main()
{
float ventas, tasa;
int region;

tasa = 0.0; /* inicializar tasa */

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


/* recibe un dígito de la terminal y lo coloca en region */

printf("Por favor escriba la region de ventas (1-4): ");


scanf("%d", &region);

/*recibe el monto de la terminal y lo coloca en ventas */

printf("Ingrese el monto total de ventas (1-4): $ ");


scanf("%f", &ventas);

entero
coloca lo ingresado en la
variable region

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres


/* Checa errores de entrada */

if(region <1)
printf ("\nEsa region no existe");
if(region >4)
printf ("\nEsa region no existe");

/* Asigna los cargos de envío para las distintas regiones */

if (region == 1)
tasa = 0.01;
if (region == 2)
tasa = 0.02;
if (region == 3)
tasa = 0.03;
if (region == 4)
tasa = 0.04;
if (tasa != 0.0)
printf("\n Los costos de envio son $ %5.2f\n", ventas
* tasa);

Prof. y Lic. en Mat. Aplic . y Comp. René Martínez Torres

También podría gustarte