Está en la página 1de 4

ALGORITMOS ESTRUCTURA REPETITIVA: MIENTRAS QUE (WHILE)

Crear un paquete llamado While dentro del paquete Repetido. Resuelva cada uno delos
siguientes algoritmos en java.

EJERCICIO 1: CONOCIENDO EL NUMERO DE REGISTRO

Elaborar un algoritmo que obtenga el salario neto de cada uno de los 20 trabajadores de la
empresa S.A.
Se debe leer de cada registro: el nombre del empleado, su salario básico por hora, el número
de horas trabajadas y el porcentaje en la retención en la fuente. Se debe obtener e imprimir
por cada trabajador: su nombre, su retención y su salario neto.

SEUDOCODIGO.

INICIO
Cont  1;
MIENTRAS (cont <= 20) HAGA

LEER nombre, sueldoBH, NumHoTr, PReten;

SBruto  sueldoBH * NumHoTr;


Retencion  SBruto * PReten;
SueldoNeto  SBruto – Retencion;

Escriba “El empleado: “, nombre;


Escriba “La retención es: “, Retencion;
Escriba “Su salario neto es: “, SueldoNeto;

Cont  Cont + 1;

FINMIENTRAS
FIN
EJERCICIO 2: NÚMERO DE TRABAJADORES DESCONOCIDO, UTILIZANDO REGISTRO CENTINELA

Elaborar un algoritmo que obtenga el salario neto de cada uno de los trabajadores de la
empresa S.A

Se debe leer de cada registro: el nombre del empleado, su salario básico por hora, el
número de horas trabajadas y el porcentaje en la retención en la fuente. La empresa desea
obtener el promedio de los salarios netos de los trabajadores que ganan $100000 o más y
saber cuántos trabajadores ganan menos de $100000 mil.

Se debe sacar también un listado donde aparezca por cada trabajador el nombre, la
retención en la fuente y su salario neto.

SEUDOCODIGO.

INICIO
SSum1000; // Acumulador - Suma de sueldos netos - Mayores o iguales a 100000
TrMa100  0; // contador – trabajadores que ganan 100000 o mas
TrMen100 0; // contador – Trabajadores que ganan menos de 100000

LEA nombre, sueldoBH, NumHoTr, PReten;


MIENTRAS (NumHoTr <> 0) HAGA

SBruto  sueldoBH * NumHoTr;


Retencion  SBruto * PReten;
SueldoNeto  SBruto – Retencion;

Si (SueldoNeto >= 100000) Entonces


SSum100  SSum100 + SueldoNeto // Acumulador
TrMa100 TrMa100 + 1 //contador
SINO
TrMen100  TrMen100 + 1; //contador
FINSI
Escriba “El empleado: “, nombre;
Escriba “La retención es: “, Retencion;
Escriba “Su salario neto es: “, SueldoNeto;

LEA nombre , sueldoBH, NumHoTr, PReten;

FINMIENTRAS

PSM100  SSum100 / TrMa100; // PSM100 promedio de los sueldos netos >= 100000
Escribir “ El promedio de sueldos netos mayores o igual a 100000 mil es: “, PSm100;
Escribir “Los trabajadores que ganan menos de 100000 es: “, TrMen100;
FIN

EJERCICIO 3.
Se desea saber la comisión de ventas por cada vendedor de la compañía ABC, durante el mes de
junio. Por cada vendedor se lee un registro que contiene lo siguiente:

Código Nombre Ventas del mes

Para obtener la comisión se se parte de los siguientes principios:

- Ventas menores de $ 10000, comisión 5% comision === ventas del ,mes * %

- Ventas entre $ 10000 y $20000, comisión 10%

- Ventas mayores de $20000, comisión 20%

Se debe imprimir el código, el nombre y la comisión por cada vendedor.

INICIO

Leer código, nombre, venta

MIENTRAS (codigo <> 0000) HAGA

SI ( venta< 10000) Entonces


Comisión <- venta * 0.05;
SINO
SI (( venta >=10000) y (venta < 20000)) entonces
Comisión < - venta * 0.10;
SINO
Comisión <- venta * 0.20;
FINSI
FINSI
Escribir “ El código es: “, código;
Escribir “ El nombre del vendedor es: “, nombre;
Escribir “ la comisión de venta ganadas es: “, comision ;

Leer código, nombre, venta

FINMIENTRAS

Ejercicio 4.
El DANE está interesado en saber tanto el número de hombre, como de mujeres que sean mayores
de 21 años, que habitan en la ciudad de Sincelejo. Elabore un algoritmo que calcule e imprima los
resultados de esta investigación. El primer registro de todo el bloque indica el número de
habitantes de Sincelejo, el resto de registro trae el sexo y la edad de cada persona. Si es mujer se
representa con una “F”, si es hombre con una “M”.

INICIO

cont_M <- 0 // contador para sexo masculino


cont_F <- 0 // contador para sexo femenino
cont <- 1;
Leer “Numero de habitantes”, numHab

MIENTRAS (cont <= numHab) HAGA


Leer “sexo de la persona”, sexo
Leer “edad de la persona”, edad

SI ( edad > 21) y (sexo = “M”) Entonces


Cont_M <- cont_M + 1;
SINO
SI (( edad >21) y (sexo=”F”)) entonces
cont_F < - cont_F + 1;
SINO
Comisión <- venta * 0.20;
FINSI
FINSI

Cont <- cont + 1

FINMIENTRAS
Escribir “ El número de hombre es: “, cont_M;
Escribir “ El número de mujeres es: “, cont_F ;

FIN

También podría gustarte