lunes, 8 de octubre de 2012

Practica 6

Utilizar instruccion while para todos los problemas

Problema 1
En una tienda efectuan un descuento a los clientes dependiendo del monto de la compra. El descuento se efectua con base en el siguiente criterio. Si el monto es menor que 500 no hay descuento, si el monto esta comprendido entre 500 y 1000 el descuento es 3%, si el momto esta entre 1001 y 7000 el descuento es 6%, si el monto esta comprendido entre 7001 y 15000 el descuento es 12%, si es mayor a 15000 el descuento es 20%. Construya un programa que considere 5 articulos, sus precios respectivos y la cantidad dada por teclado. Despliege los roductos, su precio, la cantidad y subtotal de cada producto comprado y calcular el subtotal y mostrar el descuento y total a pagar.

Pseudocodigo:

1-Inicio
 p1=25.5,p2=34.0,p3=49.60,p4=72.5,p5=89.2,subtotal,descuento,total real
 c1,c2,c3,c4,c5 int
 continuar = 's' char
 while(continuar == 'S' or continuar == 's')
 {
        print "cantidad de lentes de sol = "
        read c1
        print  "cantidad de camisetas = ";
        read c2
        print "cantidad de camisas = "
        read c3
        print "cantidad de pantalones = "
        read c4
        print "cantidad de sudaderas = "
        read c5
        print "\n" , "Producto" , "           " , "Precio" , "      " , "cantidad" , "      " , "Subtotal" , "\n"
        if(c1>0)
        {
            print , "\nlentes de sol" , "       " , p1 , "          " , c1 , "          " , (c1*p1)
        }
        if(c2>0)
        {
            print , "\ncamiseta" , "            " , p2 , "            " , c2 ,"          ", (c2*p2)
        }
        if(c3>0)
        {
            print , "\ncamisa" , "              " , p3 , "          " , c3 , "          " , (c3*p3)
        }
        if(c4>0)
        {
            print , "\npantalon" , "            " , p4 , "          " , c4 , "          " , (c4*p4)
        }
        if(c5>0)
        {
            print , "\nsudadera" , "            " , p5 , "          " , c5 , "          " , (c5*p5)
        }
        subtotal=(c1*p1)+(c2*p2)+(c3*p3)+(c4*p4)+(c5*p5)
        print "\n" , "Subtotal= " , subtotal
        if(subtotal<500.0)
        {
            descuento=subtotal*0.0
        }
        else
        {
            if(500.0<=subtotal and subtotal<=1000.0)
            {
                descuento=subtotal*0.03
            }
            else
            {
                if(1001.0<=subtotal and subtotal<=7000.0)
                {
                    descuento=subtotal*0.06
                }
                else
                {
                    if(7001.0<=subtotal and subtotal<=15000.0)
                    {
                        descuento=subtotal*0.12
                    }
                    else
                    {
                        if(15000.0<subtotal)
                        {
                            descuento=subtotal*0.20
                        }
                    }
                }
            }
        }
        print  ," Descuento= " , descuento
        total=subtotal-descuento
        print ," Total= " << total
        print  ,endl , endl , "Desea continaur? s/n "
        read continuar
        print ,endl
 }

fin

Lenguaje C++


Problema 2
En un cierto pais el impuesto que se debe pagar por articulo se calcula mediante la siguiente regla: los primeros 20 no causan impuesto, los siguientes 20 tienen el 30% de impuesto y el resto 40% de impuesto, pero si el costo del producto es mayor a 500, entonces en lugar del 40% se cobra el 50%. Disene un programa que lea el costo basico de un articulo y calcule su precio total (precio_total=precio_basico+impuesto).

Pseudocodigo:

1-Inicio
    impuesto=0.0, articulo, PrecioTotal real
    continuar='s' char
    while(continuar == 's' or continuar == 'S')
    {
        print  "Introduzca el costo basico del articulo: "
        read articulo
        read endl
        if(articulo <= 20 and articulo > 0)
        {
            impuesto=0.0
        }
        else
        {
            if(articulo > 20 and articulo <= 40)
            {
                impuesto = .30
            }
            else
            {
                if(articulo > 40 and articulo <= 500)
                {
                    impuesto=.40
                }
                else
                {
                    impuesto=.50
                }
            }
        }
        PrecioTotal = articulo*impuesto+articulo
        print "El costo total del articulo es = " , PrecioTotal
        print ,endl , "Desea continuar? s/n "
        read continuar
        print ,endl
    }

fin

Lenguaje C++


Problema 3
El numero de sonidos emitidos por un grillo en un minuto, es una funcion de la temperatura. Como resultado de esto, es posible determinar el nivel de temperatura haciendo uso de un grilo como termometro. La formula pra la funcion es t=n/4+40, t repreenta la temperatura en grados fahrenheit y n es el numero de sonidos emitidos por minuto. Si no emite sonido la temperatura es 0.

Pseudocodigo:

1-Inicio
    n int
    continuar = 's' char
    while(continuar == 'S' or continuar == 's')
    {
        print "Ingrese el numero de sonidos por minuto emitidos por el grillo: "
        read n
        if(n<=0)
        {
            print "la temperatura en fahrenheith es = 0"
        }
        else
        {
            print "la temperatura en fahrenheith es = " , (n/4.0)+40
        }
        print endl , endl , "Desea repetir el programa? s/n "
        read continuar
        print endl
    }

fin

Lenguaje C++


Problema 4
Construya un programa para introducir dos valores enteros en las variables P y Q , determine si los valores satisfacen la siguiente exprecion es P^5+Q^4-2P^2<680 en caso afirmativo imprima el valor P,Q y de la exprecion.

Pseudocodigo:

1-Inicio
    p,q,valor int
    continuar = 's' char
    while(continuar == 'S' or continuar == 's')
    {
        print "Introduzca el valor P: "
        read p
        print "Introduzca el valor Q: "
        read q
        valor=pow(p,5)+pow(q,4)-(2*pow(p,2))
        if(valor < 680)
        {
            print "Valor p = " , p , endl
            print "Valor q = " , q , endl
            print "Expresion = p^5+q^4-2p^2 = " , valor
        }
        else
        {
            print "Valor mayor de 680"
        }
        print endl , endl , "Desea repetir el programa? s/n "
        read continuar
        print endl
    }


Lenguaje C++


Problema 5
Las raices reales de la exprecion ax^2+bx+c=0 se obiene atravez de la formula x=(-b+-sqrt(b^2-4ac))/2a. Hacer un programa para calcular las raices, de la ecuacion de segundo grado.

Pseudocodigo:

1-Inicio
 x, a, b, c, raiz real
 continuar = 's' char
 print "Formula  x = (b +- sqrt(b^2-4ac))/2a"
 while(continuar == 's' or continuar == 'S')
 {
     print endl , "Valor a: "
        read a
        if(a == 0)
        {
            prin endl , "Error: Division entre cero"
        }
        else
        {
            print endl , "Valor b: "
            read b
            print endl , "Valor c: "
            read c
            raiz = (pow(b,2))+(-4*a*c)
            if(raiz < 0)
            {
                print endl , "Error: Raiz negativa"
            }
            else
            {
                x = (-b + sqrt(raiz))/(2*a)
                print endl , "x1 = " , x
                x = (-b - sqrt(raiz))/(2*a)
                print endl , "x2 = " , x
            }
        }
        print endl , endl , "Desea continuar? s/n "
        read continuar
        print endl
 }

fin

Lenguaje C++


Problema 6
La tolerancia de componentes criticos en un sistema se determina por la aplicacion de acuerdo con la siguiente tabla.
Exploracion espacial con tolerancia menor que 0.1%, grado militar mayor que o igual 0.1% y menor que 1%, grado comercial mayor que o igual a 1% y menor que 5%, grado de juguete mayor o igual a 5%. Usando esta informacion, escriba un programa que acepte la lectura de tolerancia de un componente y determine la especificacion que deberia asignarse al componente.

Pseudocodigo:

1-Inicio
 toler float
 continuar = 's' char
 while(continuar == 's' or continuar == 'S')
 {
     print "Introduzca la tolerancia: "
        read ,toler
        if(toler < 0.1)
        {
            print ,endl , "Especificacion = Exploracion espacial"
        }
        else
        {
            if(toler >= 0.1 and toler < 1)
            {
                print ,endl , "Especificacion = Grado militar"
            }
            else
            {
                if(toler >= 1 and toler < 5)
                {
                    print ,endl , "Especificacion = Grado comercial"
                }
                else
                {
                    if(toler >= 5)
                    {
                        print ,endl , "Especificacion = Grado de juguete mayor"
                    }
                }
            }
        }
        print ,endl , endl , "Desea repetir el programa? s/n "
        read ,continuar
        print ,endl
 }

fin

Lenguaje C++


Problema 7
El nivel de grado de los estudiantes universitarios se determina de manera tipica de acuerdo con la siguiente tabla :
Numero de ceditos Grado
Menor que 48 primer grado, 48 a 64 segundo grado, 65 a 110 tercer grado, mayor de 110 ultimo grado. Usando esta informacion, escriba un programa que acepte el numero de credito que ha completado un estudiante, determine el grado del estudiante y lo despliegue.

Pseudocodigo:

1-Inicio
 creditos int
 continuar = 's' char
 while(continuar == 's' or continuar == 'S')
 {
     print "Creditos: "
        read creditos
        if(creditos < 48)
        {
            print endl , "Primer grado"
        }
        else
        {
            if(creditos >= 48 and creditos <= 64)
            {
                print endl , "Segundo grado"
            }
            else
            {
                if(creditos >=65 and creditos <= 110)
                {
                    print endl , "Tercer grado"
                }
                else
                {
                    if(creditos > 110)
                    {
                        print endl , "Ultimo grado"
                    }
                }
            }
        }
        print endl , endl , "Desea repetir el programa? s/n "
        read continuar
        print endl
 }

fin

Lenguaje C++


Problema 8
Dado N numeros enteros como datos , calcule el promedio de los valores mayor a 100 y los valores menor a 100.

Pseudocodigo:

1-Inicio
    n, contador int
    sum1, sum2, d1, d2, num real
    continuar = 's' char
    while(continuar == 's' or continuar == 'S')
    {
        print "*******************" << endl
        print "Introduzca N datos: "
        raed n
        contador = 1
        sum1 = 0, sum2 = 0, d1 = 0, d2=0
        while(contador <= n)
        {
            print endl , "Dato " , contador << ": "
            read num
            if(num > 100)
            {
                sum1 = sum1 + num
                d1++
            }
            else
            {
                if(num < 100)
                 {
                    sum2 = sum2 + num
                    d2++
                }
            }
            contador++
        }
        if(sum1 == 0)
        {
            print endl , "Promedio de valores mayor a 100 = 0"
         }
        else
        {
                print endl , "Promedio de valores mayor a 100 = " , sum1/d1
        }
        if(sum2 == 0)
        {
            print endl , "Promedio de valores menor a 100 = 0"
         }
        else
        {
                print endl , "Promedio de valores menor a 100 = " , sum2/d2
        }
        print endl , endl , "Desea repetir el programa: s/n "
        read continuar
    }

fin

Lenguaje C++


Problema 9
Un vendedor ha hecho una serie de ventas y desea conocer aquellas de 250 o menos, las mayores a 250 pero inferiores a 500, y el numero de ventas de 500 o superiores a tal cantidad. Haga un programa para que le proporcione al vendedor esta informacion despues de haber leido los datos de entrada y desplegar cual fue la mayor numero de ventas.

Pseudocodigo:

1-Inicio
    continuar='s' char
    ventas1=0,ventas2=0,ventas3=0 int
    cantidad,cantidad1,cantidad2,cantidad3 float
    while(continuar=='s' or continuar=='S')
    {
    print "\n","cantidad de la venta="
    read cantidad
    if(cantidad<=250)
    {
        ventas1=ventas1+1
        cantidad1=cantidad1+cantidad
    }
    else
    {
        if(250<cantidad and 500<cantidad)
        {
            ventas2=ventas2+1
            cantidad2=cantidad2+cantidad
        }
        else
        {
            if(500<=cantidad)
            {
                ventas3=ventas3+1
                cantidad3=cantidad3+cantidad
            }
        }
    }
    print "desea continuar (s/n)="
    read continuar
    }
    if(ventas2<=ventas1 and ventas3<=ventas1)
    {
        print "\n","El mayor numero de ventas es de 250 o menos",endl
        print "cantidad= ",cantidad1
    }
    else
    {
        if(ventas1<=ventas2 and ventas3<=ventas2)
        {
            print "\n","El mayor numero de ventas es mayor a 250 pero menor a 500",endl
            print "cantidad= ",cantidad2
        }
        else
        {
            print "\n"<<"El mayor numero de ventas es de 500 o mas",endl
            print "cantidad= ",cantidad3
        }
    }

fin

Lenguaje C++


Problema 10
La siguiente se le llama la conjetura de ULAM en honor al matematico S. Ulam:
Comience con cualquier entero positivo. si es par, dividalo entre 2; si es impar, multipliquelo or 3 y agreguele 1. Obtenga enteros sucesivamente repitiendo el proceso. Haga un programa que lea un entero positivo y obtenga e imprima la susecion ULAM. Ejemplo el numero inicial es de 26,la secuencia sera: 26,13,40,20,10,5,16,8,4,2,1.

Pseudocodigo:

1-Inicio
numero int
print "numero inicial= "
read numero
print "secuencia:",endl
while(1<numero)
{
print numero," "
if(numero%2==0)
{
numero=(numero/2)
}
else
{
numero=(numero*3)+1
}
}
print "1",endl

fin

Lenguaje C++


Problema 11
Escriba un programa que lea un numero entero N y calcule el resultado de la siguiente serie: 1+1/2+1/3+...1/N.

Pseudocodigo:

1-Inicio
numero,divisor=1 int
suma real
print "numero entero= "
read numero
while(divisor<=numero)
{
suma=suma+(1.0/divisor)
divisor=divisor+1
}
print "resultado de la serie= ",suma,endl

fin

Lenguaje C++


Problema 12
Haga un programa que obtenga la suma e imprima los terminos de la siguiente serie 2,5,7,10,12,15,17...1800.

Pseudocodigo:

1-Inicio
n1=2,n2=5,suma int
while(n1<1800)
{
print n1," ",n2," ";
suma=suma+n1+n2
n1=n1+5
n2=n2+5
}
print "\n\n","suma= ",suma,endl

fin

Lenguaje C++

No hay comentarios:

Publicar un comentario