Sunteți pe pagina 1din 14

4

Problemas condicionales

Definición

Los problemas condicionales se basan en la evaluación de una


condición, si la condición es verdadera se ejecuta una serie de
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

acciones y si la condición es falsa puede o no ejecutarse otro


conjunto de acciones.
Existen tres tipos de problemas condicionales. Los proble­
mas condicionales simples, compuestos y múltiples, que en las
siguientes secciones se explican con detalle.

Problemas condicionales simples

Existen dos formatos para los tipos de problemas secuenciales


simples. El primero sólo tiene un conjunto de acciones para
cuando la condición que se evalúa es verdadera, es decir, carece
de conjunto de acciones para ejecutarse cuando la condición
sea falsa. El formato general es como se muestra en la siguiente
tabla:

45Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

Algoritmo Diagrama de flujo

SI condición ENTONCES
acciónV

FIN SI

SI condición ENTONCES

acción_V
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Problemas condicionales compuestos

Un problema condicional compuesto es cuando en la parte de


la condición existe más de una condición para evaluar
separados por los operadores NOT, OR o AND. Puede haber
uno o más de ellos y también combinación de los mismos. A
esta combinación se le da el nombre de expresión. En este tipo
de problemas también existen dos tipos, al igual que en los
problemas condicionales simples. En la tabla siguiente se
muestra el algoritmo y el diagrama de flujo correspondiente.
Tanto los problemas condicionales simples como los
problemas condicionales compuestos pueden estar anidados:
es decir, estar unas dentro de los otros, como se puede observar
en la siguiente forma general:

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,46Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

SI condiciónl ENTONCES
acciones 1
DEOTRAFORMA
SI condición2 ENTONCES
acciones 2
DE_OTRA_FORMA
SI condición3 ENTONCES
acciones3
DE_OTRA_FORMA
acciones X
FINSI
FINSI
FIN SI

Problemas condicionales múltiples


Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

En los problemas condicionales múltiples se permite que el flujo


del diagrama se bifurque por varias ramas en el punto de la
toma de desición (es), esto es en función del valor que tome
la expresión. Si el valor que toma la expresión es el valor 1 entonces
se ejecutaran las acciones 1, si el valor que toma la expresión es el
valor2, se ejecutarán las acciones2 hasta el valorN, entonces se
ejecutarán las acciones N.
Cada grupo de acciones puede estar ligado con un solo valor,
varios valores separados por comas, un rango de valores
expresados como valorInicial...valorFinal o una mezcla de
valores y rangos.

47Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

Cuando el valor obtenido no se encuentre en la lista de


valores se ejecutarán las acciones establecidas en la cláusula
SI_NO, si existe dicha cláusula.
En la siguiente tabla se muestra el algoritmo y el diagrama
de flujo para este tipo de problemas condicionales múltiples.
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

FIN SEGÚN

Ejemplos

Ejemplo 1. Determinar si un alumno aprueba o reprueba un


curso, sabiendo que aprobará si su promedio de tres calificacio­
nes es igual o mayor a 7; reprueba en caso contrario.

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,48Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

Definición del problema

Las variables calif 1, calif 2 y califi 3 representan las calificacio­


nes de un alumno.
La variable prom representa el promedio de las tres califica­
ciones de un alumno.

Planeación de la solución

Datos de entrada:
califl
calif2
calif3

Datos de salida:
“Aprobado” o “No Aprobado”
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Proceso:
prom (califl + calif2 + calif3) / 3

49Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

Diagrama de flujo
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Ejemplo 2. Determinar si un número es positivo, negativo o nulo.

Definición del problema

La variable num representa el número a analizar

Planeación de la solución

Datos de entrada:
num
Datos de salida:
“Positivo”, “Negativo” o “Nulo”

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,50Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

Algoritmo

1. PEDIR num
2. SI num > 0 ENTONCES
3. DESPLEGAR “Positivo”
4. DE OTRA FORMA
5. SI num < 0 ENTONCES
6. DESPLEGAR “Negativo”
7. DEOTRAFORMA
8. DESPLEGAR “Nulo”
9. FINSI
10. FIN SI
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Diagrama de flujo

Ejemplo 3. En una tienda se tiene una promoción. Si el total com­


prado es menor de $200 el descuento es de 5%; si el total está

51Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

entre $200 y $500, el descuento es de 15% y si el total de la


compra es mayor que $500, el descuento es del 25%. Escribir
un programa que, dependiendo del monto total de la compra,
determine el total a pagar.

Definición del problema

La variable compra representa el monto total de la compra.


La variable total representa el monto total a pagar.

Planeación de la solución
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,52Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

Diagrama de flujo

Ejercicios propuestos

Aplicar los primeros cuatro pasos de la metodología de la


Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

solución de problemas por medio de la computadora para


resolver los siguientes problemas:

Problemas selectivos simples

1. Determinar si un alumno aprueba o reprueba un curso,


sabiendo que aprobará si su promedio de tres calificaciones es
igual o mayor a 7; reprueba en caso contrario.
2. En un almacén se hace un 20% de descuento a los clientes
cuya compra supere los $ 1000. ¿Cuál será la cantidad de dinero
que pagará una persona por su compra?
3. Un obrero necesita calcular su salario semanal, el cual se
obtiene de la siguiente manera: Si trabaja 40 horas o menos se le
paga $4 por hora. Si trabaja más de 40 horas se le paga $4 por
cada una de las primeras 40 horas y $6 por cada hora extra.

53Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

4. Un hombre desea saber cuánto dinero se generará por


concepto de intereses sobre la cantidad que tiene en inversión
en el banco. Él decidirá reinvertir los intereses siempre y cuando
éstos excedan a $7 000, y en ese caso desea saber cuánto dinero
tendrá finalmente en su cuenta.
5. Una persona enferma que pesa 70 kilogramos se encuentra
en reposo y desea saber cuántas calorías consume su cuerpo
durante todo el tiempo que realice una misma actividad. Las
actividades que tiene permitido realizar son únicamente dormir
o estar sentado en reposo. Los datos que tiene son que estando
dormido consume 1.08 calorías por minuto y estando sentado en
reposo consume 1.66 calorías por minuto.
6. Una empresa quiere hacer una compra de varias piezas de la
misma clase a un fabricante de refacciones. La empresa,
dependiendo del monto total de la compra, decidirá qué hacer
para pagar al fabricante. Si el monto total de la compra excede
de $500 000 la empresa tendrá la capacidad de invertir de su
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

propio dinero un 55% del monto de la compra, pedir prestado


un 30%, y el resto lo pagará solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la
empresa tendrá la capacidad de invertir de su propio dinero un
70% y el restante 30% lo pagará solicitando un crédito al
fabricante. El fabricante cobra por concepto de intereses un
20% sobre la cantidad que se le pague a crédito. La empresa
necesita determinar: cuánto dinero deberá invertir de sus
propios fondos; si hay necesidad, cuánto tendrá que pedir pres­
tado al banco, cuánto tendrá que pagar a crédito y cuánto pagará
por concepto de intereses que se generen en el crédito.
7. Calcular el total que una persona debe pagar en una llantera
si el precio de cada llanta es de $300 si se compran menos de
5 llantas y de $250 si se compran 5 o más.
8. En un supermercado se hace una promoción mediante la
cual el cliente obtiene un descuento dependiendo de un número
que escoge al azar. Si el número escogido es menor que 74, el
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,54Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

descuento es del 15% sobre el total de la compra, y si es mayor


o igual a 74 el descuento es del 20%. Obtener cuánto dinero se
le descuenta.
9. Una compañía de seguros está abriendo un departamento
de fianzas y estableció un programa para captar clientes. El
programa consiste en lo siguiente: Si el monto por el que se
efectúa la fianza es menor que S50 000 la cuota a pagar será
por el 3% del monto y si el monto es mayor que $50 000 la
cuota a pagar será el 2% del monto. La afianzadora desea
determinar cuál será la cuota que debe pagar un cliente.
10. En una escuela la colegiatura de los alumnos se determina
según el número de materias que cursan. El costo de todas
las materias es el mismo. Se ha establecido un programa para
estimular a los alumnos, el cual consiste en lo siguiente: si el
promedio obtenido por un alumno en el último periodo es
mayor o igual que 9, se le hará un descuento del 30% sobre
la colegiatura y no se le cobrará iva; si el promedio obtenido
es menor que 9 deberá pagar la colegiatura completa, la cual
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

incluye el 10% de iva. Obtener cuánto debe pagar un alumno.

Problemas selectivos compuestos

11. Determinar la cantidad de dinero que recibirá un trabajador


por concepto de las horas extras trabajadas en una empresa,
sabiendo que cuando las horas de trabajo exceden de 40, el
resto se consideran horas extras y que éstas se pagan al doble
de una hora normal cuando no exceden a 8; si las horas extras
exceden de 8 se pagan las primeras 8 al doble de lo que se
paga por una hora normal y el resto al triple.
12. Calcular la utilidad que un trabajador recibe el reparto anual
de utilidades si éste se le asigna como un porcentaje de su
salario mensual que depende de su antigüedad en la empresa,
de acuerdo con la siguiente tabla:

55Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Metodología de la programación

Tiempo Utilidad

Menos de 1 año 5% del salario


1 año o más y menos de 2 años 7% del salario
2 años o más y menos de 5 años 10% del salario
5 años o más y menos de 10 años 15% del salario
10 años o más 20% del salario

13. En una tienda de descuento se efectúa una promoción en


la cual se hace un descuento sobre el valor de la compra total,
según el color de la bolita que el cliente saque al pagar en caja.
Si la bolita es blanca no se le hará descuento alguno, si es
verde se le hará un 10% de descuento, si es amarilla un 25%
de descuento, si es azul un 50% y si es roja un 100 por ciento.
Determinar la cantidad final que un cliente deberá pagar por
su compra. Se sabe que sólo hay bolitas de los colores
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

mencionados.
14. Una empresa que comercializa cosméticos tiene organiza­
dos a sus vendedores en tres departamentos y ha establecido
un programa de incentivos para incrementar su productividad.
El gerente, al final del mes, pide el importe global de los tres
departamentos y aquellos que excedan el 33% de las ventas
globales se les paga una cantidad extra equivalente al 20% de
su salario mensual. Si todos los ven-dedores ganan lo mismo,
determinar cuánto recibirán los vendedores de los tres depar­
tamentos al finalizar el mes.
15. El Instituto Mexicano del Seguro Social (imss) requiere
clasificar a las personas que se jubilarán en el año de 2003.
Existen tres tipos de jubilaciones: por edad, por antigüedad
joven y por antigüedad adulta. Las personas adscritas a la
jubilación por edad deben tener 60 años o más y una antigüedad
en su empleo de menos de 25 años. Las personas adscritas a la
jubilación por edad joven deben tener menos de 60 años y una

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>,56Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Problemas condicionales

antigüedad en su empleo de 25 años o más. Las personas


adscritas a la jubilación por edad adulta deben tener 60 años o
más y una antigüedad en su empleo de 25 años o más.
Determinar en qué tipo de jubilación quedará adscrita una
persona.
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

57Flores. <i>Metodología de la
Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.
Copyright © 2008. Plaza y Valdés, S.A. de C.V.. All rights reserved.

Gaxiola, Pacheco, Carelia Guadalupe, and Gutiérrez, Dora Luz Flores. <i>Metodología de la
programación con pseudocódigo enfocado al lenguaje C</i>, Plaza y Valdés, S.A. de C.V., 2008. ProQuest Ebook Central, http://e
Created from uessp on 2019-06-17 15:18:23.

S-ar putea să vă placă și