• Lenguaje

    Pascal

  • Descripción

    Una compañía incrementa el sueldo actual de sus empleados de acuerdo a su categoría como se muestra en el siguiente cuadro:
    a=25
    b=20
    c=15
    d=10
    Además recibe un aumento especial de 2.5% de su sueldo actual por cada hijo que tuviese. Así mismo si el nuevo sueldo excede a $2,000 se descuenta el 3% por impuesto de solidaridad. Calcular el sueldo neto que recibe un empleado de dicha compañía.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
program IncrementoPorCategoria;
uses crt;

var categoria : integer;
var aumento_especial, impuesto_de_solidaridad, incremento, nuevo_sueldo, numero_de_hijos : real;
var sueldo_actual, sueldo_neto : real;
begin
    write ('Ingresa el valor de numero de hijos: ');
    readln (numero_de_hijos);
    write ('Ingresa el valor de sueldo actual: ');
    readln (sueldo_actual);
    incremento := 0;
    writeln ('Selecciona el valor de categoria.');
    writeln ('    1.- A');
    writeln ('    2.- B');
    writeln ('    3.- C');
    writeln ('    4.- D');
    write ('    : ');
    repeat
        readln (categoria);
        if (categoria<1) or (categoria>4) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (categoria>=1) and (categoria<=4);
    if categoria=1 then
        begin
            incremento := sueldo_actual*0.25;
        end;
    if categoria=2 then
        begin
            incremento := sueldo_actual*0.2;
        end;
    if categoria=3 then
        begin
            incremento := sueldo_actual*0.15;
        end;
    if categoria=4 then
        begin
            incremento := sueldo_actual*0.1;
        end;
    aumento_especial := sueldo_actual*0.025*numero_de_hijos;
    nuevo_sueldo := sueldo_actual+incremento+aumento_especial;
    if nuevo_sueldo>2000 then
        begin
            impuesto_de_solidaridad := nuevo_sueldo*0.03;
        end
    else
        begin
            impuesto_de_solidaridad := 0;
        end;
    sueldo_neto := nuevo_sueldo-impuesto_de_solidaridad;
    writeln ('Valor de aumento especial: ', aumento_especial:0:6);
    writeln ('Valor de impuesto de solidaridad: ', impuesto_de_solidaridad:0:6);
    writeln ('Valor de incremento: ', incremento:0:6);
    writeln ('Valor de nuevo sueldo: ', nuevo_sueldo:0:6);
    writeln ('Valor de sueldo neto: ', sueldo_neto:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.