Toma de Decisiones Frecuentemente en la resolución de un

Anuncio
Intersemestral de Programación Estructurada II- Repaso
Toma de Decisiones
Frecuentemente en la resolución de un problema se presentan situaciones en las que es necesaria la toma de
decisiones. Estas decisiones determinan el curso que debe seguir el programa para la solucion del problema.
Por lo general, los datos de entrada son los condicionantes; esto es, dependiendo de la información que el
usuario proporciona seran las acciones que deberán ejecutarse.
La instrucción if-else se utiliza para realizar una prueba logica y a continuación llevar a cabo una de dos
posibles acciones, dependiendo del resultado de la prueba (cierto o falso).
Sintaxis:
if (condición)
instrucción //se ejecuta si la condición es verdadera.
else
instrucción //se ejecuta si la condición es falsa.
Cuando las acciones constan de más de una instrucción el conjunto de instrucciones se deben encerrar entre
llaves { }.
if (condición)
{
Lista de instrucciones //se ejecutan si la condición es verdadera.
}
else
{
Lista de instrucciones //se ejecutan si la condición es verdadera.
}
La parte else de la instrucción if-else es opcional, por tanto las instrucciones se pueden escribir, en su forma
general más simple de la siguiente manera:
if (condición)
instrucción //se ejecuta si la condición es verdadera.
Operadores relacionales
Los operadores relaciones comparan si dos valores son iguales, diferentes, uno mayor a otro, etc. Se muestran
en la siguiente tabla:
Operador
Igual
mayor que
menor que
mayor que
menor que
diferente a
símbolo
==
>
<
>=
<=
!=
significado
compara si dos valores son iguales
compara si el valor de la izquierda es mayor que el de la derecha
compara si el valor de la izquierda es menor que el de la derecha
compara si el valor de la izquierda es mayor o igual que el de la derecha
compara si el valor de la izquierda es menor o igual que el de la derecha
compara si dos valores son diferentes.
Ejemplo No.1:
#include<conio.h>
#include<stdio.h>
void main()
{ int A,B;
clrscr();
printf(“Escribe un numero”); scanf(“%d”,&A);
printf(“Escribe otro numero”); scanf(“%d”,&B);
if (A > B) //
Regresa un verdadero si A es mayor que B
{ printf(“El mayor es %d”,A);
}
else
{ printf(“El mayor es %d”,B);
}
getch();
}
Ing. Alma Leticia Palacios Guerrero
Pág. No 1
Intersemestral de Programación Estructurada II- Repaso
Operadores Lógicos
En ocasiones es necesario evaluar más de una condición, se puede hacer a través de if anidados, pero es más
fácil si se utilizan los operadores lógicos.
Operador
AND (Y)
OR (O)
NOT (NO)
Simbolo
&&
||
!
Ejemplo
(A>5> && (B<1) Pregunta si A es menor a 5 y B es menor a 1.
(A>10) || (A<5) Pregunta si A es mayor a 10 o A es menor a 5.
(!A)
Pregunta si el valor de A es 0.
Precedencia de los operadores logicos.
La precedencia se refiere al orden en que se evalúa una línea que contenga más de un operador. El operador ||
tiene más baja precedencia que &&, por ejemplo:
A>10 || B<>0 && K==1
Las condiciones se asocian, con los parentesis. Si en el ejemplo anterior se desea que evaluar primero la
relación ||, se indicará encerrando la expresión entre paréntesis, de la siguiente forma: (A>10 || B<>0) &&
(K==1).
Ejemplo No.2
#include<conio.h>
#include<stdio.h>
void main()
{ int A,B,C;
clrscr();
printf(“Escribe un numero”); scanf(“%d”,&A);
printf(“Escribe otro numero”); scanf(“%d”,&B);
printf(“Escribe otro numero”); scanf(“%d”,&C);
gotoxy(20,10);
if (A== B && A==C)
printf(“Son iguales”);
if (A > B && A>C)
printf(“El mayor es %d”,A);
if (B >A &&B>C)
printf(“El mayor es %d”,B);
if (C >A &&C>B)
printf(“El mayor es %d”,C);
getch();
}
Ing. Alma Leticia Palacios Guerrero
Pág. No 2
Intersemestral de Programación Estructurada II- Repaso
Ejercicios de toma de decisiones y funciones:
1. Hacer una función para obtener el importe en pesos que pagará un cliente en cierta estación de gasolina. Se
supone que cada cliente solo puede consumir un tipo de gasolina. El consumo está dado en litros y
dependiendo de la clave cada litro se cobrará a un determinada cuota según la siguiente tabla:
Estación de Gasolina XYZ
Clave
A
B
C
Tipo
Magna
Premium
Disel
Precio/Litro
$7
$7.50
$5.00
2.- Hacer un programa que pida el nombre de una ciudad y su índice de contaminación. El programa deberá
imprimir un mensaje dependiendo del índice de contaminación de la ciudad, de acuerdo a lo siguiente:
Si el índice es menor ó igual a 37 es aceptable. Si el índice es mayor igual a 38 y menor de 55 es desagradable,
y si el índice es mayor ó igual a 55 es peligroso. Deberá verse en la pantalla de la siguiente manera:
(suponiendo como datos de entrada Ciudad de México con un índice de 60).
El índice de contaminación de la ciudad de México es desagradable.
3.-Una compañia de seguros ofrece politicas de aseguramiento de prima reducida, porque solo asegura a
personas que fuma menos de 10 cigarrillos y pesan menos de 90 kg. Hacer un programa que pida de un
solicitante el numero de cigarrillos que fuma a diario y su peso en kilogramos. Con estos datos se debe imprimir:
El nombre del solicitante y un mensaje indicando si se acepta o se rechaza. Si se rechaza se debe imprimir la
razon o razones por las cuales no fue aceptado.
Ing. Alma Leticia Palacios Guerrero
Pág. No 3
Descargar