Vous êtes sur la page 1sur 5

Diseo de Algoritmos

Ejemplo de Nmina (Usando ciclos y


acumuladores)

Marco Snchez
http://explicandoalgoritmos.blogspot.mx
Planteamiento del Problema
Definir el nombre de su compaa
Definir 3 categoras de empleados y el sueldo de cada
categora
Disee un algoritmo (Pseudocdigo) que dentro de un ciclo,
lea el nombre del empleado y la categora. De acuerdo a esta
informacin, el algoritmo debe calcular el sueldo del
empleado, teniendo en cuenta adems, basado en un nmero
aleatorio (de 1 a 100), si el nmero es mayor de 70 al sueldo
se le descontara el 5%, se debe imprimir el nombre y sueldo
del empleado y la nmina (suma de los N sueldos de la
empresa) total de la empresa.
Variables del Problema
Tipo Variable Uso
String Empresa Nombre de la empresa
String [3] Categoria[] Vector para guardar la categora del puesto del empleado
String [] Nombre[] Vector para guardar los nombres de los empleados
Float [3] Sueldo [] Vector para guardar los sueldos de las categoras
Float Total Guardar el total de los sueldos (usada como acumulador)
Float Aleatorio Determinar si se le asigna un 5% extra si es mayor a 70
String Puesto Variable auxiliar para Guardar el nombre de la categora del empleado y
compararlo con las que estn dadas de altas
Int n Numero de empleados
float Sueldofinal Variable auxiliar para asignar el sueldo total del empleado despus del aleatorio
int I Variable contador
Pseudocdigo
MIENTRAS(i<=n)
INICIO ESCRIBE nombre del empleado ,i
ESCRIBE Ingresa el nombre de la empresa " LEER Nombre[i]
LEER Empresa ESCRIBE Ingresa el puesto "
i=1 LEER Puesto
MIENTRAS(i<=3) Aleatorio = 100 * Random()
ESCRIBE Ingresa el puesto " ESCRIBE Aleatorio
SI (Puesto=Categoria[1] )
LEER Categoria[i]
SI(Aleatorio>70)
ESCRIBE Ingresa el sueldo del puesto " Sueldofinal=Sueldo[1]*1.05
LEER Sueldo[i] FIN_SI
i++ SINO
FIN_MIENTRAS SI (Puesto=Categoria[2] )
ESCRIBE Ingresa el numero de empleados " SI(Aleatorio>70)
LEER n Sueldofinal=Sueldo[2]*1.05
FIN_SI
i=1
SINO
Total=0 SI(Puesto=Categoria[3] )
SI(Aleatorio>70)
Sueldofinal=Sueldo[3]*1.05
FIN_SI
FIN_SI
Total=Total+Sueldofinal
ESCRIBE Sueldo de ,Nombre[i],:$,Sueldofinal
i++
FIN_MIENTRAS
ESCRIBE Total nomina: $,Total
FIN
Datos de Contacto
Si tienes dudas o quieres que te resuelva algn algoritmo

Suscrbete a mi canal:
https://www.youtube.com/channel/UCoqQCv_pqjpobIEWBd9kABQ

Suscrbete a mi blog:
http://explicandoalgoritmos.blogspot.mx/

Correo de Contacto:
marcosanchezd.job@gmail.com

Vous aimerez peut-être aussi