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