• Lenguaje

    Pascal

  • Descripción

    Una institución educativa estableció un programa para estimular a los alumnos con buen rendimiento académico y que consiste en lo siguiente:
    - Si el promedio es de 9.5 o más y el alumno es de preparatoria, entonces este podrá cursar 55 unidades y se le hará un 25% de descuento.
    - Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria, entonces este podrá cursar 50 unidades y se le hará un 10% de descuento.
    - Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podrá cursar 50 unidades y no tendrá ningún descuento.
    - Si el promedio es de 7 o menor, el número de materias reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento.
    - Si el promedio es de 7 o menor, el número de materias reprobadas es de 4 o más y el alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún descuento.
    - Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrá cursar 55 unidades y se le hará un 20% de descuento.
    - Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá cursar 45 unidades y no tendrá descuento.
    Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos de profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de $180 por cada cinco unidades.

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
60
61
62
63
64
65
66
67
68
69
70
71
program EstimuloPorBuenRendimientoAcademico;
uses crt;

var escolaridad : integer;
var colegiatura, descuento, materias_reprobadas, promedio, total : real;
var unidades : real;
begin
    write ('Ingresa el valor de materias reprobadas: ');
    readln (materias_reprobadas);
    write ('Ingresa el valor de promedio: ');
    readln (promedio);
    unidades := 0;
    descuento := 0;
    writeln ('Selecciona el valor de escolaridad.');
    writeln ('    1.- Preparatoria');
    writeln ('    2.- Profesional');
    write ('    : ');
    repeat
        readln (escolaridad);
        if (escolaridad<1) or (escolaridad>2) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (escolaridad>=1) and (escolaridad<=2);
    if (promedio>=9.5) and (escolaridad=1) then
        begin
            unidades := 55;
            descuento := 0.25;
        end;
    if (promedio>=9) and (promedio<9.5) and (escolaridad=1) then
        begin
            unidades := 50;
            descuento := 0.1;
        end;
    if (promedio>7) and (promedio<9) and (escolaridad=1) then
        begin
            unidades := 50;
        end;
    if (promedio<=7) and (escolaridad=1) and (materias_reprobadas<4) then
        begin
            unidades := 45;
        end;
    if (promedio<=7) and (escolaridad=1) and (materias_reprobadas>=4) then
        begin
            unidades := 40;
        end;
    if (promedio>=9.5) and (escolaridad=2) then
        begin
            unidades := 50;
            descuento := 0.2;
        end;
    if (promedio<9.5) and (escolaridad=2) then
        begin
            unidades := 45;
        end;
    if escolaridad=1 then
        begin
            colegiatura := 180*unidades/5;
        end
    else
        begin
            colegiatura := 300*unidades/5;
        end;
    descuento := colegiatura*descuento;
    total := colegiatura-descuento;
    writeln ('Valor de colegiatura: ', colegiatura:0:6);
    writeln ('Valor de descuento: ', descuento:0:6);
    writeln ('Valor de total: ', total:0:6);
    writeln ('Valor de unidades: ', unidades:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.