You are on page 1of 14

ACTIVIDAD # 2 SECCIN III ESTRUCTURAS CONDICIONALES

ASIGNATURA ALGORITMOS

PRESENTADO POR DEIVIS JOSE RODRIGUEZ ORTIZ LUIS FERNANDO MARIMON ORTIZ JHON HERRERA TORRES

PRESENTADO A PROF. GERMAN GARCIA

UNIVERSIDAD DE CARTAGENA INGENIERA DE SISTEMAS II SEMESTRE ABRIL 2013 CERET - CRDOBA

ACTIVIDAD No 2 Seccin III Estructuras Condicionales Fecha lmite de Entrega: 26 de Mayo de 2013 hasta 11.59 PM Resolver de los ejercicios propuestos del inciso A: 4 ejercicios y del inciso B: 4 ejercicios. PROBLEMAS CONDICIONALES PROPUESTOS A RESOLVER

A) PROBLEMAS SELECTIVOS SIMPLES


1) Calcular el total que una persona debe pagar en una llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o ms.

Correccin: Digitar un numero

2) En un supermercado se hace una promocin, mediante la cual el cliente obtiene un descuento dependiendo de un nmero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cunto dinero se le descuenta. R/ Para este ejercicio emplearemos una funcin para generar un numero aleatorio, esta funcin la tienen la mayora de los lenguajes de programacin,

aunque se est trabajando la asignatura de algoritmos, en el enunciado del ejercicio no se dice de forma explcita como tomar el numero al azar.

3) Calcular el nmero de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aerbico; la formula que se aplica cuando el sexo es femenino es: num_pulsaciones = (220 edad)/10 y si el sexo es masculino: num_pulsaciones = (210 edad)/10

4) Una compaa de seguros est abriendo un depto. de finanzas y estableci un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efecta la fianza es menor que $50 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 cul ser la cuota que debe pagar un cliente. El enunciado de este ejercicio no tiene en cuenta para cuando el monto es igual a $50.000, por lo cual lo incluimos en el sino.

Si el valor de 50.000 se desea dejar por fuera del condicional, simplemente modificamos esta sentencia de la siguiente manera:
Si monto < 50000 entonces Cuota <-monto*0.03; Sino Si monto>50000 entonces Cuota <-monto*0.02; Finsi; Finsi;

5) En una escuela la colegiatura de los alumnos se determina segn el nmero 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 cobrara IVA; si el promedio obtenido es menor que 9 deber pagar la colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno.
Algoritmo colegiatura; Variables materias:entero; valor_materia, promedio, bruto, descuento, iva, total:real; Inicio Escriba(Digite el nmeros de materias matriculadas ); Lea(materias); Escriba(Digite el precio a pagar por cada materia ); Lea(valor_materia); Escriba(Cual fue su promedio en el ltimo periodo? ); Lea(promedio); bruto <- materias * valor_materias; Si promedio>=9 entonces descuento <- bruto * 0.3; total <- bruto descuento; Sino iva <- bruto * 0.1; total <- bruto + iva; Finsi; Escriba(El valor a pagar es ,total); Fin.

6) Una empresa de bienes races ofrece casas de inters social, bajo las siguientes condiciones: Si los ingresos del comprador son menores de $8000 o ms el enganche ser del 15% del costo de la casa y el resto se distribuir en pagos mensuales, a pagar en diez aos. Si los ingresos del comprador son menos de $8000 o ms el enganche ser del 30% del costo de la casa y el resto se distribuir en pagos mensuales a pagar en 7 aos. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial. Nota: En el enunciado del ejercicio en ambos casos se habla de la misma situacin, en uno de habla de menores de 8000 o ms y en el segundo caso se estipula ingresos menos de 8000 o ms, para esta solucin propuesta se tomara el 15% para los ingresos menores o iguales a 8000 y en caso contrario 30%.
Algoritmo bienes_raices; Variables ingresos, costo, enganche, parcial, resto:real; Inicio Escriba(Digite el valor de sus ingresos ); Lea(ingresos); Escriba(Digite el valor de la casa ); Lea(costo); Si ingresos<=8000 entonces enganche <- costo * 0.15; resto parcial Sino enganche <- costo * 0.3; resto parcial Finsi; Escriba(El valor del enganche es ,enganche); Escriba(El valor de cada cuota es ,parcial); Fin. <- costo enganche; <- resto / 84; /*en 7 aos 84 meses*/ <- costo enganche; <- resto / 120; /*en 10 aos 120 meses*/

7) El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que consiste en que los dueos de la empresa deben obligatoriamente depositar en una cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del SAR, la cual le ser descontada de su pago. Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total de dinero que estar depositado a esa cuenta cada mes, y el pago mensual que recibir.
Algoritmo sar; Variables salario, porcentaje, cuota_fija, depositado, pago:real; opcion:cadena; Inicio Escriba(Digite el valor del salario del trabajador); Lea(salario); Escriba(Digite el porcentaje a descontar por la empresa ); Lea(porcentaje); Escriba(El trabajador quiere aportar una cuota [SI o NO]? ); Lea(opcion); Si opcion = SI entonces Escriba(Cuota fija [F] o Porcentaje[P]? ); Lea(opcion); Si opcion = F entonces Escribir(Digite el valor de la cuota fija); Lea(cuota_fija); Sino Escribir(Digite el porcentaje a descontar ); Lea(cuota_fija); cuota_fija <- cuota_fija * salario; Finsi; Sino cuota_fija <- 0; Finsi; depositado <- (salario*porcentaje) + cuota_fija; pago <- salario depositado; Escriba(El valor depositado mensualmente es de ,depositado); Escriba(El pago mensual que debe recibir el trabajador es ,pago); Fin.

B) PROBLEMAS SELECTIVOS COMPUESTOS


1) En una fbrica de computadoras se planea ofrecer a los clientes un descuento que depender del nmero de computadoras que compre. Si las computadoras son menos de cinco se les dar un 10% de descuento sobre el total de la compra; si el nmero de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o ms se les da un 40% de descuento. El precio de cada computadora es de $11,000.
Algoritmo fabrica_computadores; Variables cantidad:entero; total,bruto,descuento,precio:real; Inicio Escriba(Digite la cantidad de computadores a comprar ); Lea(cantidad); precio <- 11000; bruto <- cantidad*precio; Si cantidad < 5 entonces descuento <- bruto * 0.1; Sino Si cantidad < 10 entonces descuento <- bruto * 0.2; Sino descuento <- bruto * 0.4; Finsi; Finsi; total <- bruto descuento; Escriba(El valor a pagar es de ,total); Fin.

2) En una llantera se ha establecido una promocin de las llantas marca Ponchadas, dicha promocin consiste en lo siguiente: Si se compran menos de cinco llantas el precio es de $300 cada una, de $250 si se compran de cinco a 10 y de $200 si se compran ms de 10. Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que compra y la que tiene que pagar por el total de la compra.
Algoritmo llanteria; Variables cantidad, precio, total:entero; Inicio Escriba(Digite la cantidad de llantas a comprar ); Lea(cantidad); Si cantidad < 5 entonces precio <- 300; Sino Si cantidad <= 10 entonces precio <- 250; Sino precio <- 200; Finsi; Finsi; total <- cantidad * precio; Escriba(El valor a pagar por cada llanta es de ,precio); Escriba(El valor total a pagar es de ,total);

Fin.

3) En un juego de preguntas a las que se responde Si o No gana quien responda correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas son: Colon descubri Amrica? La independencia de Mxico fue en el ao 1810? The Doors fue un grupo de rock Americano? Nota: Asumimos que todas las respuestas son verdaderas, esta es una posible manera de resolver el ejercicio
Algoritmo juego; Variables respuesta:cadena; bandera:entero; Inicio bandera <- 0; Escriba(Primera Pregunta ); Escriba(Colon descubri Amrica? ); Lea(respuesta); Si respuesta = si entonces Escriba(Segunda Pregunta ); Escriba(La independencia de Mxico fue en el ao 1810? ); Lea(respuesta); Si respuesta = si entonces Escriba(Tercera Pregunta ); Escriba(The Doors fue un grupo de rock Americano? ); Lea(respuesta); Si respuesta = si entonces bandera = 1; Finsi; Finsi; Finsi; Si bandera = 1 entonces Escriba(Ha ganado el juego); Sino Escriba(Disculpe, ha perdido!!); Finsi; Fin.

4) Un proveedor de estreos ofrece un descuento del 10% sobre el precio sin IVA, de algn aparato si este cuesta $2000 o ms. Adems, independientemente de esto, ofrece un 5% de descuento si la marca es NOSY. Determinar cunto pagara, con IVA incluido, un cliente cualquiera por la compra de su aparato.
Algoritmo proveedor; Variables marca:cadena; precio, iva, valor_iva, descuento, total :real; Inicio Escriba(Digite el precio del aparato ); Lea(precio); Escriba(Digite la marca del aparato ); Lea(marca); Escriba(Digite porcentaje del IVA para este aparato ); Lea(iva); descuento <- 0; /*vamos a ejecutar dos SI independientes*/ Si precio >= 2000 entonces descuento <- precio * 0.1; Finsi; Si marca = NOSY entonces descuento <- descuento + (precio*0.05); Finsi; valor_iva <- (precio * iva)/100; total <- precio + valor_iva descuento; Escriba(El precio total a pagar es de ,total); Fin.

5) Una frutera ofrece las manzanas con descuento segn la siguiente tabla: Numero de kilos comprados 02 2.01 - 5 5.01 10 10.01 en adelante % Descuento 0% 10% 15% 20%

Determinar cunto pagara una persona que compre manzanas es esa frutera.
Algoritmo fruteria; Variables precio, cantidad, descuento, total, bruto :real; Inicio Escriba(Digite la cantidad de kilos a comprar ); Lea(cantidad); Escriba(Digite el precio por kilo ); Lea(precio); bruto <- cantidad * precio; Si cantidad <= 2 entonces descuento <- 0; sino si cantidad <= 5 entonces descuento <- bruto*0.1; sino si cantidad <= 10 entonces descuento <- bruto*0.15; sino descuento <- bruto*0.2; finsi; finsi; Finsi; total <- bruto - descuento; Escriba(El precio total a pagar es de ,total); Fin.

7) Tomando como base los resultados obtenidos en un laboratorio de anlisis clnicos, un medico determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor que el rango que le corresponde, se determina su resultado como positivo y en caso contrario como negativo. La tabla en la que el mdico se basa para obtener el resultado es la siguiente:

Algoritmo laboratorio; Variables nivel, edad:real; sexo, opcion : cadena; bandera: entero; Inicio bandera <- 0; Escriba(Digite el sexo de la persona Hombre[M] o Mujer[F] ); Lea(sexo); Escriba(Digite el nivel de hemoglobina ); Lea(nivel); Escriba(Para digitar la edad en Meses[M] o en Aos [A]); Lea(opcion); si opcion = M entonces Escriba(Escriba la edad en meses ); Lea(edad); edad <- edad / 12; Sino Escriba(Escriba la edad en aos ); Lea(edad); finsi;

Si edad > 15 entonces Si ((sexo=M) y (nivel<14)) o ((sexo=F) y (nivel<12)) entonces bandera <- 1; Finsi; Sino /*1 mes equivale en aos 0.0833333333333*/ si (edad<=0.0833333333333333) y (nivel<13) entonces bandera <- 1; sino si (edad<=0.5) y (nivel<10) entonces bandera <- 1; sino si (edad<=1) y (nivel<11) entonces bandera <- 1; sino si (edad<=5) y (nivel<11.5) entonces bandera <- 1; sino si (edad<=10) y (nivel<12.6) entonces bandera <- 1; sino si (edad<=15) y (nivel<13) entonces bandera <- 1; finsi; finsi; finsi; finsi; finsi; finsi; Finsi; Si bandera=1 entonces Escriba(La persona tiene anemia); Sino Escriba(La persona NO tiene anemia); Finsi; Fin.

You might also like