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