[ Foro de Pseudocódigo ]

algoritmo sueldo+porcentaje

22-Apr-2015 21:17
Mary Aguiar
2 Respuestas

una empresa desea calcular el sueldo de un empleado, sabiendo que, el sueldo basico depende de la categoria. ademas se le paga adicional por antiguedad.
la determinacion del basico se realiza segun el siguiente detalle:
categoria: 1, sueldobasico:2500
categoria:2, sueldobasico:2000
categoria:3, sueldobasico:1500
categoria:4, sueldobasico:1200

la antiguedad se calcula en base a la siguiente tabla:
antiguedad (0-10años) porcentaje:20%
antiguedad (11-15años) porcentaje:50%
antiguedad (16-20años) porcentaje:80%
antiguedad (mas de 20años) porcentaje:100%

para ello se ingresa los datos de un empleado en el siguiente orden: apellido y nombre, categoria, antiguedad, sueldo total.


22-Apr-2015 21:20
Mary Aguiar



proceso empleado
	Escribir "nombre";
	Leer Nom;
	Escribir "apellido";
	Leer ape;
	Escribir "categoria";
	Leer categoria;
	Segun categoria Hacer
		1: Escribir "sueldo basico de 2500";
		2: Escribir "sueldo basico de 2000";
		3: Escribir "sueldo basico de 1500";
		4: Escribir "sueldo basico de 1200";
	FinSegun
	Escribir "antiguedad";
	Leer antiguedad;
	Si antiguedad=opc1 Entonces
		Escribir "sueldo";
		Leer sueldo;
		total<-sueldo*(100/20);
	Sino
		Si antiguedad=opc2 Entonces
			Escribir "sueldo";
			Leer sueldo;
			total<-sueldo*(100/50);
		Sino
			Si antiguedad=opc3 Entonces
				Escribir "sueldo";
				Leer sueldo;
				total<-sueldo*(100/80);
			Sino
				Escribir "sueldo";
				Leer sueldo;
				total<-sueldo*(100/100);
			Fin Si
		Fin Si
	Fin Si
	Escribir "categoria:", categoria, "antiguedad", antiguedad, "total:", total;
FinProceso


asi lo hice, que esta mal?


25-Apr-2015 10:22
Nacho Cabanes (+84)

Hay algún error de concepto:

- Es de esperar que el sueldo básico lo tengas que guardar en una variable, para luego añadir lo que corresponda a la antigüedad, en vez de mostrarlo directamente.

- Cuando pides la antigüedad, no das detalles de lo que esperas que introduzca el usuario, pero es de esperar que sea una cantidad de años. Si es así, las comparaciones deberían ser del estilo de "Si antiguedad < 10" en vez de "Si antiguedad=opc1" (porque, además, esa variable "opc1" no está definida en ningún sitio).

- Estás usando una variable "total", cuando realmente estás calculando el sobresueldo que se debe a la antigüedad. Ese nombre suena a que no lo has interpretado correctamente.

- Los porcentajes de sobresueldo están calculados al revés: el 20% no es 100/20 sino 20/100.

- El resultado final será el sueldo base más el sobresueldo.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)