• Lenguaje

    Pascal

  • Descripción

    En una asignatura hay estudiantes que están repitiendo por primera vez, repitiendo por segunda vez y tomando la asignatura por primera vez.
    El profesor ha decidido darles una AYUDA a los estudiantes así:
    - Los estudiantes que están tomando la asignatura por primera vez, tendrán un 10% adicional de la nota obtenida como definitiva.
    - Los estudiantes que están repitiendo, la materia por primera vez, obtendrán un 5% más de la nota obtenida como definitiva
    - Los estudiantes que están repitiendo la asignatura por segunda vez obtendrán un 2% más de la nota obtenida como definitiva.
    Determinar el valor a pagar por la matrícula teniendo en cuenta que:
    - Si repite por primera vez se le hace un descuento del 15%.
    - Si repite por segunda vez se le hace un 8% de descuento.
    - Si toma la asignatura por primera vez y es mujer se le hara un descuento del 20%.
    - Si toma la asignatura por primera vez y es hombre se le hara un 15% descuento.
    Además, para cada uno de los estudiantes del curso deberá indicar
    1) La nota obtenida como definitiva, calculada como el promedio de dos notas ingresadas por el usuario.
    2) La nota obtenida como definitiva luego de obtener la AYUDA del profesor.

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
program AyudaEnDefinitiva;
uses crt;

var condicion, genero : integer;
var ayuda, definitiva, definitiva_con_ayuda, descuento, matricula : real;
var matricula_con_descuento, nota_1, nota_2 : real;
begin
    write ('Ingresa el valor de matricula: ');
    readln (matricula);
    write ('Ingresa el valor de nota 1: ');
    readln (nota_1);
    write ('Ingresa el valor de nota 2: ');
    readln (nota_2);
    writeln ('Selecciona el valor de condicion.');
    writeln ('    1.- Toma por primera vez');
    writeln ('    2.- Repitiendo por primera vez');
    writeln ('    3.- Repitiendo por segunda vez');
    write ('    : ');
    repeat
        readln (condicion);
        if (condicion<1) or (condicion>3) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (condicion>=1) and (condicion<=3);
    writeln ('Selecciona el valor de genero.');
    writeln ('    1.- Hombre');
    writeln ('    2.- Mujer');
    write ('    : ');
    repeat
        readln (genero);
        if (genero<1) or (genero>2) then
            write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
    until (genero>=1) and (genero<=2);
    definitiva := (nota_1+nota_2)/2;
    ayuda := 0;
    descuento := 0;
    if condicion=1 then
        begin
            ayuda := definitiva*0.10;
        end;
    if condicion=2 then
        begin
            ayuda := definitiva*0.05;
        end;
    if condicion=3 then
        begin
            ayuda := definitiva*0.02;
        end;
    definitiva_con_ayuda := definitiva+ayuda;
    if ((condicion=1) and (genero=1)) or (condicion=2) then
        begin
            descuento := matricula*0.15;
        end;
    if (condicion=1) and (genero=2) then
        begin
            descuento := matricula*0.2;
        end;
    if condicion=3 then
        begin
            descuento := matricula*0.08;
        end;
    matricula_con_descuento := matricula-descuento;
    writeln ('Valor de ayuda: ', ayuda:0:6);
    writeln ('Valor de definitiva: ', definitiva:0:6);
    writeln ('Valor de definitiva con ayuda: ', definitiva_con_ayuda:0:6);
    writeln ('Valor de descuento: ', descuento:0:6);
    writeln ('Valor de matricula con descuento: ', matricula_con_descuento:0:6);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.