martes, 30 de octubre de 2012

Practica 9

Problema 1 inciso a
Un fabricante de equipo electrico prueba cinco generadores midiendo sus voltajes de salida en tres momentos diferentes. Escriba un programa en C++ que use un ciclo anidado para introducior los resultados de prueba de cada generador y luego calcule y despliege el voltaje promedio para cada generador. Suponga los siguientes resultados de prueba de los generadores:
primer generador: 122.5, 122.7, 123.0
sefundo generador: 120.2, 127.0, 125.1
tercer generador: 121.7, 124.9, 126.0
cuarto generador: 122.9, 123.8, 126.7
quinto generador: 121.5, 124.7, 122.6

Pseudocodigo:

1-Inicio
v,vtotal=0.0,vprom real
n,x int
for(n=1 to 5 step n=n+1)
{
print "generador ",n
 for(x=1 to 3 step x=x+1)
 {
 print "voltaje",x,"= "
 read v
 vtotal=vtotal+v
 }
 vprom=vtotal/3
 print "voltaje promedio= ",vprom,"\n"
 vtotal=0.0

}
fin

Lenguaje C++

Problema 1 inciso b
Modifique el programa escrito en el ejercicio 1 inciso a para calcular y desplegar el voltaje promedio para todos los generadores.

Pseudocodigo:

1-Inicio
v,vtotal=0.0,vprom,suma_vprom=0.0,vprom_gen real
n,x int
for(n=1 to 5 step n=n+1)
{
print "generador ",n
 for(x=1to 3 step x=x+1)
 {
 print "voltaje",x,"= "
 read v
 vtotal=vtotal+v
 }
 vprom=vtotal/3
 print "voltaje promedio= ",vprom,"\n"
 suma_vprom=suma_vprom+vprom
 vtotal=0.0
}
vprom_gen=suma_vprom/5
print "\n","voltaje promedio de los generadores: ",vprom_gen

fin

Lenguaje C++

Problema 2
Vuelva  a escribir el ejercicio 1 a para eliminar el ciclo interior. Para hacer esto, tendra que introducir tres voltajes para cada generador en lugar de uno a la vez. cada voltaje debe almacenarse en su propio nombre de variable antes que se calcule el promedio.

Pseudocodigo:

1-Inicio
v1,v2,v3,vtotal,vprom real
n int
for(n=1 to 5 step n=n+1)
{
print "generador ",n
print "voltaje1= "
read v1
print "voltaje2= "
read v2
print "voltaje3= "
read v3
vtotal=v1+v2+v3
vprom=vtotal/3
print "voltaje promedio= ",vprom,"\n"
}

fin

Lenguaje C++

Problema 3
Escribir un ciclo que calcule la suma de cada tercer entero, comenzando por i=2 (es decir, calcular la suma de 2+5+8+11...) para todos los valores de i menores que 100. Escribir el ciclo de tres formas diferentes
a) utilizando while

Pseudocodigo:

1-Inicio
i=2,suma=0 int
while(i<100)
{
print i," + "
suma=suma+i
i=i+3
}
print "\n","suma= ",suma

fin

Lenguaje C++

b) utilizando do while

Pseudocodigo:

1-Inicio
i=2,suma=0 int
do
{
print i," + "
suma=suma+i
i=i+3
}
while(i<100)
print "\n","suma= ",suma

fin

Lenguaje C++

c) utilizando for

Pseudocodigo:

1-Inicio
i,suma=0 int
for(i=2 to 100 step i=i+3)
{
print i," + "
suma=suma+i
}
print "\n","suma= ",suma

fin

Lenguaje C++

Problema 4
La secuencia de Fibonacci es 0,1,1,2,3,5,8,13... donde los primeros dos terminos son 0 y 1, y cada termino a partir de entonces es la suma de los terminos precedentes: es decir Fib(n)=Fib(n-1) + Fib(n-2). Usando esta informacion, escribir un programa en C++ que calcule el enesimo numero en una secuencia de Fibonacci donde n sea introducido de manera interactiva en el programa por el usuario. Por ejemplo si n=6 el programa debera desplegar 0,1,1,2,3,5.

Pseudocodigo:

1-Inicio
n,ant=0,act=1,sig,conta int
do
{
print "numero de terminos= "
read n
 if(n==1)
 {
 print ant,","
 }
 else
 {
  if(n==2)
  {
  print ant,",",act
  }
 }
}
while(n<1)
print ant,",",act,","
for(conta=3 to n step conta=conta+1)
{
sig=ant+act
ant=act
act=sig
print act,","
}

fin

Lenguaje C++

Problema 5
Elaborar un programa que lea un valor N y el caracter y que imprima un triangulo de caracteres  como se muestra a continuacion, si el valor leido es 4 y el caracter es *.
*
**
***
****

Pseudocodigo:

1-Inicio
lineas,conta1,conta int
caracter char
print "no lineas= "
read lineas
print "caracter= "
read caracter
for(conta=1 to lineas step conta=conta+1)
{
 for(conta1=1 to conta step conta1=conta1+1)
 {
 print caracter," "
 }
print "\n"
}

fin

Lenguaje C++ 

viernes, 26 de octubre de 2012

Sentencia if

if (condición)
{
sentencia1;
}
else
{
sentencia2;
}

La expresión que se evalúa como condición es booleana, lo que quiere decir que sólo hay dos valores posibles, y por lo tanto, sólo se puede elegir entre dos sentencias a ejecutar. Si la condición es verdadera se ejecutará la sentencia1, si es falsa se ejecutará la sentencia2.
La claúsula else es opcional, y si se usa, no pueden insertarse sentencias entre la sentencia1 y el else.

Video:


Sentencia switch
 
switch (expresión entera)
{
   case 1: sentencia1;
break;
   case 2: sentencia2;
break;
   ...
   case n: sentencian;
break;
   default : sentencia
}
 
En el caso de la sentencia switch, la expresión a evaluar será entera, por lo tanto, el número de opciones es mucho mayor, y en consecuencia, también es mayor el número de diferentes sentencias que se pueden ejecutar. Cuando se usa la sentencia switch el control se transfiere al punto etiquetado con el case cuya expresión constante coincida con el valor de la expresión entera evaluada dentro del switch.
Si el valor de la expresión entera no satisface ningún case, es decir, si no existe un case con una expresión constante igual al valor de la expresión entera, el control parará a la sentencia etiquetada con la etiqueta default.
Todas las etiquetas son opcionales, tanto default como todos los case. Si no se satisface ningún case, ni aparece la etiqueta default, se abandonará la sentencia switch sin ejecutar ninguna sentencia.

video:

 
Bucle while

while (condición)
{
sentencia;
}

La sentencia es ejecutada repetidamente mientras la condición sea verdadera. Si no se especifica condición se asume que es true, y el bucle se ejecutará indefinidamente. Si la primera vez que se evalúa la condición resulta falsa, la sentencia no se ejecutará ninguna vez.

video:


Bucle do...while

do
{
sentencia;
}
while(condicion);

La sentencia es ejecutada repetidamente mientras la condición resulte verdadera. Si no se especifica condición se asume que es true, y el bucle se ejecutará indefinidamente.

video:


Bucle for

for (inicialización; condición ; incremento) 
{
   sentencia;
}

La sentencia es ejecutada repetidamente mientras la condición resulte verdadera. En general, podemos considerar que la parte de inicialización establece las condiciones iniciales del bucle, la parte de la condición establece la condición de salida, y la parte del incremento, modifica las condiciones iniciales para establecer las de la siguiente iteración del bucle, o para alcanzar la condición de salida.

video:

 

martes, 23 de octubre de 2012

Practica 8

Problema 1
Cierta empresa telefonica ha decidido incrementar la tarifa de la renta mensual por uso del telefono, en un 3% mensual. La terifa en abril del 2005 es de 69.00. Elaborar un programa que imprima el monto de la renta mensual en abril de 2006,2007,2008...2013.

Pseudocodigo:

1-Inicio
renta=69.0,aumento real
a int
for(a=2006 to 2013 step a=a+1)
{
aumento=renta*0.03
renta=renta+aumento
print "La renta telefonica en el anio ",a," es: ",renta
}

fin

Lenguaje C++

Problema 2
Haga un programa para determinar e imprimir una tabla de amortizacion de un prestamo ; para ell se tienen como datos el saldo por amortizar, la tasa de intereses anual y el numero de meses que se tienen de plazo. imprimir el reporte siguiente :

Tabla de amortizacion: Saldo, interes anual, numero de meses.

mes           saldo insoluto          cuota fija          intereses          mensualidad

totales:                                       xxxxxxx            xxxxxx            xxxxxxxx

El saldo insoluto es el capital que se debe en el mes correspondiente. La cuota fija se determina dividiendo el saldo entre el numero d meses. El interes se determina mediante la aplicacion del intereses mensual sobre el saldo insoluto. La mensualidad se establece sumando la cuota fija mas el interes. Los totales son la acumulacion de la cuota fija, el interes y la mensualidad.

Pseudocodigo:

1-Inicio
saldo,intereses,meses,cuota_fija,intereses_mensual real
mensualidad,total_cuota_fija,total_intereses,total_mensualidad,intereses_mes real
mes int
print "saldo del prestamo= "
read saldo
print "intereses anual= "
read intereses
print "numero de meses= "
read meses
print "\n","mes","\t","saldo insoluto","\t","cuota fija","\t","intereses","\t","mensualidad","\n"
cuota_fija=saldo/meses
intereses_mensual=intereses/12
for(mes=1 to meses step mes=mes+1)
{
intereses_mes=saldo*intereses_mensual/100
mensualidad=cuota_fija+intereses_mes
print mes,"\t",saldo,"\t\t",cuota_fija,"\t\t",intereses_mes,"\t\t",mensualidad
saldo=saldo-cuota_fija
total_cuota_fija=total_cuota_fija+cuota_fija
total_intereses=total_intereses+intereses_mes
total_mensualidad=total_mensualidad+mensualidad
}
print "\n","totales:","\t\t",total_cuota_fija,"\t\t",total_intereses,"\t\t",total_mensualidad

fin

Lenguaje C++

Problema 3
Disene un programa para calcular y desplegar los valores de la funcion
f(x,y)=(x^2-y2)/(x^2+y^2)
para x=2,4,6,8,10   y=6,9,12,15,18,21,24

Pseudocodigo:

1-Inicio
x,y int
f real
print "x","\t","y","\t","f(x,y)","\n"
for(x=2 to 10 step x=x+2)
{
 for(y=6 to 24 step y=y+3)
 {
 f=(pow(x,2)-pow(y,2))/(pow(x,2)+pow(y,2))
 print x,"\t",y,"\t",f
 }
}

fin

Lenguaje C++

Problema 4
El valor de e^x se puede aproximar por la suma
1+x+(x^2/2!)+(x^3/3!)+...+(x^n/n!)
Escriba un programa que tome un valor x como entrada y visualice la suma para cada uno de los valores de 1 a 15.

Pseudocodigo:

1-Inicio
x,f2,fa,termino=0.0,suma=1.0 float
c int
print "introdusca el valor de x= "
read x
print "suma"
for(c=1 to 15 step c=c+1)
{
fa=1.0
 for(f2=c to 1 step f2=f2-1)
 {
 fa=fa*f2
 }
termino=pow(x,c)/fa
suma=suma+termino
print termino
 if(c==15)
 {
 print " = "
 }
 else
 {
print " + "
 }
}
print ,suma

fin

Lenguaje C++

Problema 5
Una serie geometrica se define por
A+Ar+Ar^2+Ar^3+.....+Ar^(n-1)
Donde A es el primer termino, r es la razon comun y n es el numero de terminos de la serie . Usado esta informacion, escriba un progrma que utilice un ciclo para desplegar cada termino y para determinar la suma de una serie geometrica. Leer por teclado el valor de A, r y n.

Pseudocodigo:

1-Inicio
a,r,ter,suma=0.0 real
n,c int
print "valor a= "
read a
print "valor r= "
read r
print "numero de terminos de la serie= "
read n
for(c=1 to n step c=c+1)
{
ter=a*pow(r,(c-1))
print ter
 if(c==n)
 {
print " = "
 }
 else
 {
 print " + "
 }
 suma=suma+ter
}
print suma

fin

Lenguaje C++

Problema 6
Las coordenadas X y Y, como funcion del tiempo, t, de un proyectil disparado a una velocidad inicioal v en un angulo teta con respecto a la tierra estad dados por: X=v*t*coseno(angulo), Y=v*t*seno(angulo). Utilizando estas formulas, escriba un programa en c++ que despliegue una tabla de valores de X y Y para un proyectil disparado a una velocidad inicial de 500pies/seg a un angulo de 23.55 grados. La tabla debe contener valores que corresponden a un intervalo de 0 hasta 10 segundos en incrementos de 1/2 segundo.

Pseudocodigo:

1-Inicio
t,x,y,rad=(23.55*3.1416)/180.0 real
print "tiempo","\t","x","\t\t","y","\n"
for(t=0.0 to 10.0 step t=t+0.5)
{
x=500.0*t*cos(rad)
y=500.0*t*sin(rad)
print t,"\t",x,"\t\t",y,endl
}

fin

Lenguaje C++

martes, 16 de octubre de 2012

Practica 7

Problema 1
Diseñe un programa que lea por teclado el nombrea de un trabajador, categoria y sueldo, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla.
categoria   aumento:
1   8%, 2   7%, 3   8%, 4   5%, 5   5%.
Despliegue el nombre del trabajador, el sueldo actual y el sueldo aumentado. Utilice un ciclo de repeticion para desplegar el total de la nomina con sueldo actual y total de la nomina con sueldo aumentado.

Pseudocodigo:

1-Inicio
continuar,nombre[20] char
categoria int
sueldo,sueldoa,nomina_sa,nomina_saum real
do
{
print "nombre empleado: "
read nombre;
print "sueldo actual: "
read sueldo
 do
 {
 print "categoria: "
 read categoria
  switch(categoria)
  {
  case 1:
  case 3:sueldoa=sueldo*1.08
  break
  case 2:sueldoa=sueldo*1.07
  break
  case 4:
  case 5:sueldoa=sueldo*1.05
  break
  default:
   {
   print "error en categoria"
   categoria=0
   }
  }
 }
 while(categoria==0)
 nomina_sa=nomina_sa+sueldo
 nomina_saum=nomina_saum+sueldoa
 print "nombre empleado: ",nombre
 print "sueldo actual: ",sueldo
 print "sueldo aumentado: ",sueldoa
 print "desea continuar (s,n): "
 read continuar
}
while(continuar=='s' or continuar=='S')

fin

Lenguaje C++

Problema 2
El costo de las llamadas telefonicas internacionales depende d la zona geografica en la que se encuentra el pais destino y del numero de minutos hablados. En la siguiente tabla se presenta el costo del minuto por zona. A cada zona se le ha asociado una clave:
Clave    Zona                             Precio
15         America del  norte          3.5
17         America central              4.25
18         America del sur              4.50
20         Europa                            5.50
21         Asia                                6.30
25         Africa                             7.25
29         Oseania                          5.75  

Pseudocodigo:

1-Inicio
minutos,clave; int
precio real
continuar char
do
{
print "minutos de la llamada= "
read minutos
 do
 {
 print "clave= "
 read clave
  switch(clave)
  {
  case 15:precio=minutos*3.5
  break
  case 17:precio=minutos*4.25
  break
  case 18:precio=minutos*4.50
  break
  case 20:precio=minutos*5.50
  break
  case 21:precio=minutos*6.30
  break
  case 25:precio=minutos*7.25
  break
  case 29:precio=minutos*5.75
  break
  default:
   {
   print clave no valida"
   clave=0
   }
  }
 }
 while(clave==0)
 print "el precio de la llamada es: ",precio
 print "continuar (s,n)= "
 read continuar
 print endl
}
while(continuar=='s' or continuar=='S')

fin

Lenguaje C++

Problema 3
Calcule la siguiente seriae para N valores
1/2 + 2/2^2 + 3/2^3 + 4/2^4 + ...n/2^n.

Pseudocodigo:

1-Inicio
contador=1,n int
suma real
print "nuero de terminos= "
read n
while(contador<=n)
{
print contador,"/2^",contador,"+"
suma=suma+(contador/pow(2,contador))
contador=contador+1
}
print "\n","la sumatoria de los ",n," terminos es: ",suma

fin

Lenguaje C++

Problema 4 
Una serie aritmetica se define por
a + (a+d) + (a+2d) + (a+3d) + ... (a+(n-1)d)
donde a es el primer termino, d es la diferencia conum y n es el numero de terminos que se van a sumar. Usando esta informacion , escriba un programa que use un ciclo while para desplegar cada termino y para determinar la suma de una serie geometrica  si se tiene a=1, d=5, n=20. Asegurese que su programa despliegue el valor que ha calculado.

Pseudocodigo:

1-Inicio
a=1,d=5,n=20,contador=0,suma int
while(contador<n)
{
print "(",a,"+",(contador*d),")"," + "
suma=suma+a+(contador*d)
contador=contador+1
}
print "\n\n","suma= ",suma

fin

Lenguaje C++

Problema 5
Escriba un programa que calcule la suma de los 50 primeros numeros enteros.

Pseudocodigo:

1-Inicio
n=1,suma=0 int
while(n<51)
{
suma=suma+n
n=n+1
}
print "la suma de los 50 primeros numeros enteros es: ",suma
fin

Lenguaje C++

Problema 6
Supongase que en una reciente eleccion hubo tres candidatos (con identificadores 1,2,3). Usted habra de encontrar, mediante un programa el numero de votos correspondiente a cada candidato y el porcentaje que obtuvo respecto al total de los votantes. El usuario tecleara los votos de manera desorganizada, tal y como se obtuvieron  en la eleccion, el final de datos esta reprecentado por un cero. Observe, como por ejempl, la siguiente lista: 1 3 1 3 2 2 1 1 1 1 1 2 1 3 1 3 2 1 3 3 1 0.

Pseudocodigo:

1-Inicio
candidato,candidato1=0,candidato2=0,candidato3=0,votos int
por1,por2,por3 real
continuar char
do
{
 do
 {
 print "candidato= "
 read candidato
  switch(candidato)
  {
  case 1:candidato1=candidato1+1
  break
  case 2:candidato2=candidato2+1
  break
  case 3:candidato3=candidato3+1
  break
  default:
   {
   print "candidato no valido"
   if(candidato!=0)
    {
    candidato=4
    }
   }
  }
 }
 while(3<candidato)
votos=votos+1
}
while(candidato!=0)
votos=votos-1
por1=(candidato1*100.0)/votos
por2=(candidato2*100.0)/votos
por3=(candidato3*100.0)/votos
print "\n","candidato     votos    porcentajes"
print "candidato1","      ",candidato1,"        ",por1,"%"
print "candidato2","      ",candidato2,"        ",por2,"%"
print "candidato3","      ",candidato3,"        ",por3,"%"

fin

Lenguaje C++

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++