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

 Codigo 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
  
Inicio
continuar = 's' Caracter
while(continuar = = 's' OR continuar = = 'S')
{
zona = 0 Entero
minutos = 0.0, costo = 0.0 Real
do
{
Print "**************************************"
Print , "Introduzca los minutos transcurridos: "
Read minutos
Print "Introduzca la zona: "
Read zona
switch(zona)
{
case 15: costo = minutos * 3.5
break
case 17: costo = minutos * 4.25
break
case 18: costo = minutos * 4.50
break
case 20: costo = minutos * 5.50
break
case 21: costo = minutos * 6.30
break
case 25: costo = minutos * 7.25
break
case 29: costo = minutos * 5.75
break
default: zona = 0
Print "#VALOR NO RECONOCIDO#"
Print
Print
}
if(zona NOT 0)
{
Print , "El costo por llamada es ", costo
}
}
while(zona = = 0)
Print , "Desea repetir el programa: s/n "
Read continuar
}
Fin

Codigo 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

Inicio
continuar = 's' Caracter
n Entero
while(continuar = = 'S' OR continuar = = 's')
{
float suma1 = 0.0, cont = 1.0
Print "N valores? "
Read n
do
{
Print cont, "/", "2^", cont
if(cont NOT n)
{
Print " + "
}
if(cont = = n)
{
Print " = "
}
suma1 = suma1 + (cont/pow(2.0,cont))
cont = cont + 1
}
while(cont <= n)
Print suma1
Print , "Desea repetir el programa?: s/n "
Read continuar
}
Fin


Codigo 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

Inicio
continuar = 's' Caracter
while(continuar = = 's' OR continuar = = 'S')
{
//Para calcular n terminos se le resta 1, ej. (20-1) para calcular 20 terminos.
a = 1, d = 5, n = 19, cont = 0, suma = 0 Entero
do
{
Print "(a + ", cont, "d)"
if(cont < n)
{
Print " + "
}
if(cont = = n)
{
Print " = "
}
suma = suma + (a + (cont * d))
cont = cont + 1
}
while(cont <= n)
Print suma
Print , "Desea repetir el programa?: s/n "
Read continuar
}
Fin
  
Codigo C++
 
Problema 5
Escriba un programa que calcule la suma de los 50 primeros numeros enteros.
Pseudocodigo
Inicio
continuar = 's' Caracter
while(continuar = = 's' OR continuar = = 'S')
{
suma = 0, cont = 1 Entero
do
{
Print cont
if(cont < 50)
{
Print " + "
}
if(cont = = 50)
{
Print " = "
}
suma = suma + cont
cont = cont + 1
}
while(cont <= 50)
Print suma
Print, "Desea repetir el programa?: s/n "
Read continuar
}
Fin
  

Codigo 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 

Inicio
continuar = 's' caracter
while(continuar = = 's' OR continuar = = 'S')
{
num = 1 Entero
num1 = 0.0, num2 = 0.0, num3 = 0.0 Real
Print "*******************"
do
{
Print "Introduzca voto: "
Read num
switch(num)
{
do
{
case 0:
break
case 1: num1 = num1 + 1
break
case 2: num2 = num2 +1
break
case 3: num3 = num3 + 1
break
default: Print "**Error: Candidato no reconocido**"
}
while(num NOT 0)
}
}
while(num NOT 0)
Print , "Total de votos = ", num1 + num2 + num3
Print , "Votos del candidato 1 = ", num1
Print , "Votos del candidato 2 = ", num2
Print , "Votos del candidato 3 = ", num3
Print , "Porcentaje de votos"
Print , "Porcentaje del candidato 1 = ", (num1/(num1 + num2 + num3))*100, " %"
Print , "Porcentaje del candidato 2 = ", (num2/(num1 + num2 + num3))*100, " %"
Print , "Porcentaje del candidato 3 = ", (num3/(num1 + num2 + num3))*100, " %"
Print , "Desea repetir el programa: s/n "
Read continuar
}
Fin

Codigo C++

No hay comentarios:

Publicar un comentario