viernes, 15 de marzo de 2013

Algoritmos II



universidad de cartagena
Programación De Computadores
Algoritmos
Jorge Pérez Chamorro
Miguel Aragón Morante
Jhonnys De Hoyos Cueto
Carlos Salgado Mercado

15/03/2013

Ingeniería De Sistemas III




2) Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de descuento si compran mas de 10 kilos. Determinar cuanto pagara cada cliente y cuanto percibirá la tienda por esas compras
Proceso descuento
            vk<-0;
            tk<-0;
            tp<-0;
            tv<-0;
            Escribir "Digite el valor del kilo de naranja ";
            Leer vk;
            Para i<-1 Hasta 15 Hacer
                        Escribir "Digite cantidad de kilos";
                        Leer tk;
                        si tk>10 Entonces
                                   tp<-(vk*tk)-(((vk*tk)*15)/100);
                                   Escribir "El total a pagar es ",tp;
                                   tv<-tv+tp;
                        Sino
                                   tp<-(vk*tk);
                                   tv<-tv+tp;
                                   Escribir "El total a pagar es ",tp;
                        FinSi
            FinPara



3) En un centro de verificación de automóviles se desea saber el promedio de puntos contaminantes de los primeros 25 automóviles que lleguen. Asimismo se desea saber los puntos contaminantes del carro que menos contamino y del que mas contamino.

Proceso puntos_contaminantes
            tpc<-0;
            mac<-0;
            mec<-0;
            pc<-0;
            para i <-1 hasta 25 Hacer
                        Escribir "Digite el punto contaminante ";
                        leer pc;
                        si mac=0 Entonces
                                   mac<-pc;
                                   tpc<-tpc+pc;
                        FinSi
                        si mec=0 Entonces
                                   mec<-pc;
                                   tpc<-tpc+pc;
                        FinSi
                        si pc>=mac Entonces
                                   mac<-pc;
                                   tpc<-tpc+pc;
                        Sino
                                   si pc<=mec Entonces
                                               mec<-pc;
                                               tpc<-tpc+pc;
                                   FinSi
                        FinSi
            FinPara
            Escribir "Promedio de puntos contamientes es ", tpc/25;
            Escribir "El menos contaminante es ", mec;
            Escribir "El mas contaminante es ", mac;        
FinProceso
4) Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante 10 días, para determinar si es apto para la prueba de 5 Kilómetros o debe buscar otra especialidad. Para considerarlo apto debe cumplir por lo menos una de las siguientes condiciones:
            - Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.
            - Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.
            - Que su promedio de tiempos sea menor o igual a 15 minutos





mientra
1) Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuanto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones.
           

Proceso sueldo_mas_comision
            c<-1;
            n<-0;
            sb<-0;
            com<-0;
            sn<-0;
            tventas<-0;
            Escribir "Digite el numero de vendedores";
            Leer n;
            Mientras c<=n Hacer
                        Para i<-1 Hasta 3 Hacer
                                   Escribir "Digite el valor de la venta";
                                   Leer venta;
                                   tventas<-tventas+venta;
                        FinPara
                        com<-(tventas*15)/100;
                        Escribir "Digite Sueldo Básico";
                        Leer sb;
                        Escribir "El empleado gana comision de ",com;
                        escribir "El Sueldo Neto del empleado es ", sb+com;
                        c<-c+1;
            FinMientras
           
FinProceso
2) En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la sig. forma:
            Si el obrero trabaja 40 horas o menos se le paga $20 por hora
            Si trabaja mas de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por cada hora extra.
Proceso sueldo_por_hora
            c<-1;
            n<-0;
            nh<-0;
            sueldo<-0;
            hextra<-0;
            Escribir "Digite el numero de empleados";
            Leer n;
            Mientras c<=n Hacer
                        Escribir "Digite el numero de horas trabajadas";
                        Leer nh;
                        si nh<=40 Entonces
                                   sueldo<-nh*20;
                        Sino
                                   hextra<-nh-40;
                                   sueldo<-(40*20)+(hextra*25);
                        FinSi
                        Escribir "El obrero gana ",sueldo;
                        c<-c+1;
            FinMientras
           
FinProceso


mientrasque
3) Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de n personas, suponiendo que los datos son extraídos alumno por alumno.
Proceso conteo_h_m
            c<-1;
            mu<-0;
            ho<-0;
            n<-0;
            genero<-0;
            Escribir "Digite numero de personas";
            Leer n;
            Mientras c<=n Hacer
                        Escribir c, ") Digite 1 para hombres y 2 para mujeres";
                        leer genero;
                        si genero=1 Entonces
                                   ho<-ho+1;
                        Sino
                                   si genero=2 Entonces
                                               mu<-mu+1;
                                   FinSi
                        FinSi
                        c<-c+1;
            FinMientras
            escribir "La cantidad de hombres es: ",ho;
            Escribir "La cantidad de mujeres es: ",mu;
           
FinProceso


                                                                       FinSi
                                                           FinSi
                                               FinSi
                                   FinPara
                                   escribir "El porcentaje de Chimpances 0 hasta 1 es ", (n*100)/40," %";
                                   Escribir "El porcentaje de Chimpances de 1 hasta 3 es ",(j*100)/40," %";
                                   Escribir "El porcentaje de Chimpances de 3 o es ",(a*100)/40," %";
                        De Otro Modo:
                                   Escribir "La opcion especificada no está dentro del rango";
            FinSegun

FinProceso


4) El Depto. de Seguridad Publica y Transito del D.F. desea saber, de los n autos que entran a la ciudad de México, cuantos entran con calcomanía de cada color. Conociendo el ultimo dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la sig. relación:

                        DÍGITO                      COLOR
                        1 o 2                           amarilla
                        3 o 4                           rosa
                        5 o 6                           roja
                        7 o 8                           verde
                        9 o 0                           azul



5) Obtener el promedio de calificaciones de un grupo de n alumnos.
Proceso promedio_calificaciones
            c<-1;
            prom<-0;
            ncalf<-0;
            na<-0;
            suma<-0;
            Escribir "Digite el numero de alumnos";
            Leer na;
            Mientras c<=na Hacer
                        Escribir "digite calificacion";
                        Leer calif;
                        suma<-suma+calif;
                        c<-c+1;
            FinMientras
            prom<-suma/na;
            escribir "El promedio de calificaciones es ", prom;
FinProceso

6) Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés. Cual será la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es reinvertida?.
Proceso inversion_banco
            c<-1;
            can<-0;
            g<-0;
           
            escribir "Digite Cantidad de dinero";
            leer can;
            Mientras c<=12 Hacer
                        g<-(can*2)/100;
                        can<-can+g;
                        Escribir "ganacia mensual ",can;
                       
                        c<-c+1;
            FinMientras
            Escribir "Saldo a un año es: ",can;
FinProceso
7) Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos.
Proceso promedio
            c<-1;
            prom<-0;
            promh<-0;
            promm<-0;
            na<-0;
            edades<-0;
            Escribir "digitenumero de edades";
            Leer nedades;
            Mientras c<-n edades
                        Escribir "digite promedio de alumnos";
                        Leer pa;
                        si pa<=na Entonces
                                   prom=((na*pa)/100);
                        Sino
                                   si ph<=pm Entonces
                                               prom((na*pronh)/100);
                                   Sino
                                               si pm>=ph Entonces
                                                           prom((na*promm)/100);
                                                          
                                               FinSi
                                   FinSi
                        FinSi
                        Escribir "el promedio h es",prom;
                        Escribir "el promedio mes",prom;
            FinMientras
            c<-<+1
FinProceso
8) Encontrar el menor valor de un conjunto de n números dados.
Procesoconjunto
c<-1;
conj<-0;
n<-0;
nmenor<-0;
núm.<-0;
Escribir"digitenumero";
Leern;
Mientras<-nhacer
Escribir"digitenumeromenordelconjunto";
siconj<=nEntonces
numerom=(numerom+conj)/num
FinSi
Escribir"numeromenores",numerom;
c<-c+1

FinMientras

FinProces
9) Encontrar el mayor valor de un conjunto de n números dados.
Procesoconjunto
c<-1;
conj<-0;
n<-0;
nmenor<-0;
núm.<-0;
Escribir"digitenumero";
Leern;
Mientras<-nhacer
Escribir"digitecualeselmenordelconjunto";
siconj<=nEntonces
nmayor=(nmenor+conj)
Sino
sinmayor=nmenor-conj

FinSi
FinSi
Escribir"numeromenor",conj;
c<-c+1

FinMientras

FinProceso
10) En un supermercado un cajero captura los precios de los artículos que los clientes compran e indica a cada cliente cual es el monto de lo que deben pagar. Al final del día le indica a su supervisor cuanto fue lo que cobro en total a todos los clientes que pasaron por su caja.
Inicio
Prec<-0 ; totalc<-0 ; total <- 0
Lea “digite precio”; prec
Mientras C =total C + 1
Lea “digite total” ; total
Si total = prec + totalc , ent
Escribir “total cobro” ; total
Fin si
fin mientras
fin


Repetir hasta
1) En una tienda de descuento las personas que van a pagar el importe de su compra llegan a la caja y sacan una bolita de color, que les dirá que descuento tendrán sobre el total de su compra. Determinar la cantidad que pagara cada cliente desde que la tienda abre hasta que cierra. Se sabe que si el color de la bolita es roja el cliente obtendrá un 40% de descuento; si es amarilla un 25% y si es blanca no obtendrá descuento
Proceso Tienda descuentos
            color<-0;
            vp<-0;
            estado<-0;
            suma<-0;
            repetir
            Escribir "Valor a pagar";
            Leer vp;
            Escribir "Color de la balota";
            Escribir "1 para rojo, 2 para amarillo y 3 para blanco";
            Leer color;
            si color=1 entonces
                        suma<-suma+vp-((vp*40)/100);
                        Escribir "valor a pagar es ",vp-((vp*40)/100);
            Sino
                        si color=2 entonces
                                   suma<-suma+vp-((vp*25)/100);
                                   Escribir "valor a pagar es ",vp-((vp*25)/100);
                        Sino
                                   si color=3 Entonces
                                               suma<-suma+vp;
                                               Escribir "valor a pagar es ",vp;
                                   FinSi
                        FinSi
            FinSi
            Escribir "Estado de la tienda 0 para abierta y 1 para cerrada";
            Leer estado;
Hasta Que estado=1
Escribir "Total de ventas en el dia es ",suma;
FinProceso



2) En un supermercado una ama de casa pone en su carrito los artículos que va tomando de los estantes. La señora quiere asegurarse de que el cajero le cobre bien lo que ella ha comprado, por lo que cada vez que toma un articulo anota su precio junto con la cantidad de artículos iguales que ha tomado y determina cuanto dinero gastara en ese articulo; a esto le suma lo que ira gastando en los demás artículos, hasta que decide que ya tomo todo lo que necesitaba. Ayúdale a esta señora a obtener el total de sus compras.

3) un teatro otorga descuentos según la edad del cliente. Determinar la cantidad de dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro:
Inicio
Categoría<-0;
 Edad<-0;
Descuento<-0;
catg1<-0;
 catg2<-0;
catg3<-0;
catg4<-0;
 catg5<-0;
Vp<-0;
Repetir
Escribir “valor a pagar”;
Leer vp;
Escribir “cuál es la categoría”;
Leer categoría;
Si categoria1=edad entonces
Categoría=categoría + edad/descuento;
Escribir”el valor apagar es”, tp;
Sino
Si categoria2=edad entonces
Categoría=categoría + edad/descuento;
Escribir” el valor apagar es  ”,tp;
Si categoria3=edad entonces
Categoría=categoría + edad/descuento;
Escribir” el valor apagar es”, tp ;
Si categoria4=edad entonces
Categoría=categoría + edad/descuento;
Escribir” el valor apagar es”, tp ;
Si categoria5=edad entonces
Categoría=categoría + edad/descuento;
Escribir” el valor apagar es”, tp;
Escribrir” el valor a pagar es “,tp;
Fin si
Fin si
Fin si
Fin si
Fin si
Escribir “el descuento por categoría es”descuento;
Lea dp;
Hasta q dp=1
Escribir “el total de descuento en el dio es”, suma;
Fin proceso