Algoritmia - por favor ayudenme

 
Vista:

por favor ayudenme

Publicado por gabriela faria (2 intervenciones) el 22/06/2009 15:15:20
me gustaria que me ayudaran a resolver el siguiente algoritmo y su pseudo codigo.... dado el siguiente conjunto de datos relativos a 20 empleados de una empresa: A) Edad de la persona B)Estado civil (1-.Soltero, 2-.Casado, 3-.Viudo) C)Sexo (1. Femenino, 2.Masculino)
D)Sueldo (1-. Mas de 3000, 2-.Entre 3000 y 5000, 3-. Mas de 5000). Se pide: -El total de empleados de sexo femenino, -El total de hombres casados que ganan mas de bsf 5000, -El total de mujeres solteras que ganan mas de bsf 3000, - Edad promedio de hombres y mujeres,
-Hombres y mujeres que ganan entre 3000 y 5000.

Por favor ayudenme a resolver este ejercicio... por siempre se los agradecere. Besos y espero que puedan ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:por favor ayudenme

Publicado por eduardo (55 intervenciones) el 22/06/2009 23:06:18
Supongo que hay un error en D 1) debería ser 1) Menos de 3000

Bueno yo haría algo similar a esto en C.

/* definición de constantes simbólicas */
#define TOTAL_EMPLEADOS

#define SOLTERO 1
#define CASADO 2
#define VIUDO 3

#define MASCULINO 1
#define FEMENINO 2

CATEG1 1 /* menos de 3000 */
CATEG2 2 /* entre 3000 y 5000 */
CATEG3 3 /* más de 5000 */

estructura empleado {
edad: Entero;
estadoCivil: Entero;
sexo: Entero;
sueldo: Real;
categogoria: Entero
};

Var
i: Entero; /* contador */
totalHombres: Entero;
totalMujeres: Entero;
cuenta2: Entero; /* para la pregunta 2 */
cuenta3: Entero; /* para la pregunta 3 */
sumaEdadesH: Entero;
sumaEdadesM: Entero;
promedioEdadH: Real;
promedioEdadM: Real;
hombresCat2: Entero; /* para la última pregunta */
mujeresCat2: Entero; /* para la última pregunta */

Inicio
totalHombres = totalMujeres = 0;
totalSexo1 = totalSexo2 = 0;

estructura empleado nomina[20];

Leer( nomina );

totalSexo1 = 0;

desde i = 0 hasta i < TOTAL_EMPLEADOS; ++i {

/* 1: determinar total empleados de sexo femenino */
Si nomina[i].sexo == FEMENINO entonces
totalMujeres++;
Fin_Si

/* 2: determinar total empleados hombres casados que ganan más de 5000 */
Si nomina[i].sexo == MASCULINO Y nomina[i].estadoCivil == CASADO Y nomina[t].categoria == CATEG3 entonces
cuenta2++;
Fin_Si

/* 3: determinar total empleados mujeres solteras que ganan mas de 3000 */
Si nomina[i].sexo == FEMENINO Y nomina[i].estadoCivil == SOLTERO Y
nomina[t].sueldo > 3000 entonces
cuenta3++;
Fin_Si

/* sumar edades totales de hombres y mujeres, para la pregunta 4 */
Si nomina[i].sexo == MASCULINO entonces
sumaEdadesH= sumaEdadesH + nomina[i].edad;
Sino
sumaEdadesM = sumaEdadesM + nomina[i].edad;
Fin_Si

/* 5: determinar hombres y mujeres que ganan entre 3000 y 5000 */
Si regs[i].sueldo >= 3000 && regs[i].sueldo <= 5000 entonces
Si regs[i].sexo == MASCULINO entonces
hombresCat2++;
Sino
mujeresCat2++;
Fin_Si
Fin_Si
}

/* 4: determinar edad promedio de hombres y mujeres */
totalHombres = TOTAL_EMPLEADOS - totalMujeres;
promedioEdadH = totalEdadH / totalHombres;
promedioEdadM = totalEdadM / totalMujeres;

Escribir( " Total Mujeres: " + totalMujeres );
Escribir( " Total hombres casados que ganan mas de 5000 " + cuenta2 );
Escribir( " Total mujeres que ganan mas de 3000 " + cuenta3 );

Escribir( " Edad promedio hombres: " + promedioEdadH );
Escribir( " Edad promedio mujeres: " + promedioEdadM );

Escribir( " Total hombres que ganan entre 3000 y 5000: " + hombresCat2 );
Escribir( " Total mujesres que ganan entre 3000 y 5000: " + mujeresCat2 );

Fin

/* IMPLEMENTACIÓN DE FUNCIONES */
void Leer( estructura empleado regs[] )
{
t: Entero /* contador */

desde t = 0; t < TOTAL_EMPLEADOS; ++t {

Escribir( "Edad del empleado " + t );
regs[t]->edad = obtEdad();

Escribir( "Estado civil del empleado " + t );
Escribir( " Soltero 1 Casado 2 Viudo 3 " );
regs[t]->estadoCivil = obtEstadoCivil();

Escribir( "Sexo del empleado " + t );
Escribir( " [Femenino: 1 Masculino: 2] " );
regs[t]->sexo = obtSexo();

Escribir( "Sueldo del empleado " + t );
regs[t]->sueldo = obtSueldo();

Si ( regs[t]->sueldo < 3000 ) entonces
regs[t]->categoria = CATEG1;

Sino Si regs[t]->sueldo <= 5000 entonces
regs[t]->categoria = CATEG2;

Sino
regs[t]->categoria = CATEG3;
}
}

Bueno espero te tomes el tiempo de revisarlo al detalle asi como me tomó un tiempito en escribirlo.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor ayudenme pseudocodigo

Publicado por GABRIELA... (2 intervenciones) el 23/06/2009 20:26:41
MUCHAS GRACIAS... PERO CREO Q COMETI UN ERROR AL NO DECIRTE Q LO Q NECESITABA ERA EL PSEUDO-CODIGO. ESO ES LO Q NECESITO REALMENTE.... SI ALGUIEN LO PUDIESE RESOLVER SE LE AGRADECERIA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor ayudenme pseudocodigo

Publicado por eduardo (55 intervenciones) el 23/06/2009 21:04:49
Y lo que estas viendo que cosa es acaso es lenguaje C, Pascal o algo parecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:por favor ayudenme pseudocodigo

Publicado por gabriela faria (2 intervenciones) el 23/06/2009 21:07:49
si... pero ese es como mas avanzado. Yo recien empiezo a estudiar informatica. y necesito el pseudocodigo basico por asi decirlo el q yo veo no es tan complejo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Angel_Black00

RE:por favor ayudenme

Publicado por Angel_Black00 (1 intervención) el 25/06/2009 21:57:55
Algoritmo----->>

1.inicio
2.capturar o leer los datos de los 20 empleados
3.contar cantidad de campo sexo igual femenino
4.contar cantidad de campo sexo igual masculino y campo estado civil igual casado y campo sueldo mayor a 5000
5.contar cantidad total con sexo igual femenino y estado civil igual soltera y campo sueldo mayor a 3000
6.calcular edad promedio
7.calular total sueldos entre 3000 y 5000
8.imprimir resultados
9.fin

Pseudocodigo----->>>>

inicio
para i<--1 hasta 20 hacer
escribir escriba la edad:
leer Edad
escribir escriba el estado civil 1-.Soltero, 2-.Casado, 3-.Viudo:
leer Estado civil
escribir escriba el sexo 1. Femenino, 2.Masculino:
leer Sexo
escribir escriba el salario 1-. Mas de 3000, 2-.Entre 3000 y 5000, 3-. Mas de 5000 :
leer Sueldo

si sexo igual a femenino entoces
total_sexo femenino = total_sexo femenino + 1
fin si

si sexo igual a masculino y estado civil igual a casado y sueldo mayor que 5000 entoces
total_sexo_masc_mayor5000 = total_sexo_masc_mayor5000 + 1
fin si

si sexo igual a femenino y estado civil igual a soltera y sueldo mayor que 3000 entoces
total_sexo_femen_mayor3000 = total_sexo_femen_mayor3000 + 1
fin si

edad_promedio = edad_promedio + edad

si sueldo mayor que 2999.99 y sueldo menor que 5000.01 entoces
total_entre_3000_5000 = total_entre_3000_5000 + 1
fin si
fin para

edad_promedio = edad promedio entre 20

escribir "El total de empleados de sexo femenino":, total_sexo femenino
escribir "El total de hombres casados que ganan mas de bsf 5000":, total_sexo_masc_mayor5000
escribir "El total de mujeres solteras que ganan mas de bsf 3000":, total_sexo_femen_mayor3000
escribir "Edad promedio de hombres y mujeres":, edad_promedio
escribir "Hombres y mujeres que ganan entre 3000 y 5000", total_entre_3000_5000

fin.

espero que te sirva, cualquier consulta al email es mas rapido en el mail.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar