Make your own free website on Tripod.com

Práctica #5

Sentencias de Control Selectivas Anidadas.

5.1 Sentencias Selectivas Anidadas.
5.2 Operadores relacionales y Lógicos.
5.3 Actividad.

5.1 Sentencias Selectivas Anidadas.

En ocasiones una comparación se divide en varias comparaciones más donde la sentencia switch no nos puede ayudar, por ejemplo para determinar si un número entero negativo, cero o positivo:

Ejemplo

if ( numero < 0 )
     printf("El número es negativo.\n");
else if ( numero == 0 )
     printf("El número es cero.\n");
else
     printf("El número es positivo.\n");


5.2 Operadores relacionales y lógicos.

Los operadores relacionales comparan si dos valores son iguales, diferentes, uno mayor a otro, etc. Se muestran en la siguiente tabla:

Operador
Símbolo
Descripción
Igual
==
Compara si dos valores son iguales.
Mayor que
>
Compara si el valor de la izquierda es mayor que el de la derecha.
Menor que
<
Compara si el valor de la izquierda es menor que el de la derecha.
Mayor o igual que
>=
Compara si el valor de la izquierda es mayor o igual que el de la derecha.
Menor o igual que
<=
Compara si el valor de la izquierda es menor o igual que el de la derecha.
Diferente de
!=
Compara si dos valores son diferentes.

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
Símbolo
Ejemplo
Significado
AND (Y)
&&
A>5 && B<1
Pregunta si A es mayor que 5 y si B es menor que 1.
OR (O)
||
A>10 || B<7
Pregunta si A es mayor que 10 o si B es menor que 7.
NOT (Negación)
!
!A
Pregunta si negando A la respuesta es verdadera.

Actividad

Serie de ejercicios a realizar.

  1. Hacer un programa que pida un número entero y determine si el número es par o es impar.

  2. Hacer un programa que lea dos números y que determine e imprima si el segundo es múltiplo del primero.

  3. Hacer un programa que lea el nombre y edad de 3 personas y que imprima el nombre de la persona mayor, el nombre de la persona menor y si las 3 personas son de la misma edad imprimir los 3 nombres.

  4. 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 Tipo Precio/Litro
    A Magna $5.86
    B Premium $6.25
    C Diesel $3.00

  5. Se recomiendan becas para estudiantes graduados según sus promedios globales del curso. El tipo de recomendación está basado en la siguiente tabla

    Promedio
    Recomendación
    90%
    Muy fuerte recomendación.
    80% pero < 90%
    Fuerte recomendación.
    70% pero < 80
    Recomendado.
    <70%
    No recomendado.

    Se debe de introducir el nombre y el promedio global. Desplegar en la pantalla el listado del nombre de cada estudiante, su promedio y recomendación. Al final de la lista desplegar el promedio global de solicitantes y un resumen con el número de recomendaciones de cada tipo.

  6. 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:

    Indice
    Mensaje a imprimir
    <= 37
    Aceptable.
    >= 38 y < 55
    Desagradable.
    >= 55
    Peligroso.
    <70%
    No recomendado.

    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.

  7. Una compañía de seguros ofrece políticas de aseguramiento de prima reducida, porque solo asegura a personas que fuman menos de 10 cigarrillos y pesan menos de 90 kg. Hacer un programa que pida de un solicitante el número 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 razón o razones por las cuales no fue aceptado.

  8. Capturar el nombre y la calificación de un alumno y determinar qué tipo de alumno es, considerando lo siguiente:

    Calificación
    Alumno
    10
    Excelente.
    9
    Muy bueno.
    8
    Bueno.
    7
    Regular.
    6
    Suficiente.
    <=5
    Malo

     

  9. Hacer un programa que calcule el sueldo de un trabajador dependiendo de la categoría a la que pertenezca y al numero de horas trabajadas. Los datos de entrada serán: horas trabajadas y categoría del empleado. Utilizar la siguiente tabla de categorías:

    Categoria
    Sueldo x Hora
    A
    $20
    B
    $30
    C
    $40
    D
    $50

     

  10. La compañía disquera ABC tiene la siguiente promoción a mayoristas:

    Compra
    Descuento
    >30 CD's
    30%
    15 a 30 CD's
    20%
    5 a 14 CD's
    10%
    < 5
    0%

    El programa deberá pedir una cantidad de discos a comprar y posteriormente mostrará el siguiente menú de opciones:

    DISCOS ABC
    1.-Musica Ranchera (V. Fernández $200, A. Fernández $180, Pedro Fernández $150)
    2.-Musica Norteña (Tigres del Norte $190, Tucanes de T $195, Tiranos del Norte $140)
    3.-Balada(Luis Miguel $220, Arjona $170, Lucero $185)
    4.-Salida

    Nota: Lo que esta en parentesis será presentado como un submenú. Utilice switch-anidados. El programa deberá indicar la cantidad que deberá pagar el mayorista por los CD's.

  11. Elabore un programa que pida un número y con él realice la operación que el usuario seleccione. Su programa deberá mostrar un menú principal y dependiendo de la opción seleccionada presentará el submenú de funciones trigonómetricas o el submenú de funciones matemáticas.

    Menú principal
    1) Funciones trigonométricas
    2) Funciones matemáticas
    3) Salida

    Menú de Funciones trigonométricas
    1) Seno de X
    2) Cos de X
    3) Tan de X
    4) Regreso al menú anterior

    Menú de Funciones Matemáticas
    1) Elevar un número a cualquier potencia
    2) Obtener la raíz cuadrada de cualquier número
    3) El logaritmo de un número
    4) Regreso al menú anterior