• Lenguaje

    Pascal

  • Descripción

    Se ingresa los resultados de la evaluación del curso de química. Por cada alumno se informa: Su condición (1=Becado, 2=No becado) y su calificación obtenida que va de 0 a 20. Para estar aprobado debe tener una nota mínima de 14. A partir de esta información se debe mostrar:
    - La cantidad de alumnos becados y la cantidad de no becados.
    - La nota promedio de los aprobados y la nota promedio de los desaprobados.
    El algoritmo termina cuando no se desea registrar mas alumnos.

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

var aprobados, becados, condicion, desaprobados, no_becados : integer;
var nota, promedio_aprobados, promedio_desaprobados : real;
var tecla_repetir : char;
begin
    aprobados := 0;
    becados := 0;
    desaprobados := 0;
    no_becados := 0;
    promedio_aprobados := 0;
    promedio_desaprobados := 0;
    repeat
        clrscr;
        write ('Ingresa el valor de nota: ');
        readln (nota);
        writeln ('Selecciona el valor de condicion.');
        writeln ('    1.- Becado');
        writeln ('    2.- No becado');
        write ('    : ');
        repeat
            readln (condicion);
            if (condicion<1) or (condicion>2) then
                write ('Valor incorrecto. Ingr'#130'salo nuevamente.: ');
        until (condicion>=1) and (condicion<=2);
        if condicion=1 then
            begin
                becados := becados+1;
            end
        else
            begin
                no_becados := no_becados+1;
            end;
        if nota>=14 then
            begin
                aprobados := aprobados+1;
                promedio_aprobados := promedio_aprobados+nota;
            end
        else
            begin
                desaprobados := desaprobados+1;
                promedio_desaprobados := promedio_desaprobados+nota;
            end;
        writeln;
        write (#168'Deseas repetir el proceso? (S/N): ');
        repeat
            tecla_repetir := readkey;
        until (tecla_repetir = 's') or (tecla_repetir = 'n') or (tecla_repetir = 'S') or (tecla_repetir = 'N');
    until (tecla_repetir <> 's') and (tecla_repetir <> 'S');
    if aprobados = 0 then
        promedio_aprobados := 0
    else
        promedio_aprobados := promedio_aprobados/aprobados;
    if desaprobados = 0 then
        promedio_desaprobados := 0
    else
        promedio_desaprobados := promedio_desaprobados/desaprobados;
    writeln ('Valor de aprobados: ', aprobados);
    writeln ('Valor de becados: ', becados);
    writeln ('Valor de desaprobados: ', desaprobados);
    writeln ('Valor de no becados: ', no_becados);
    writeln ('Valor de promedio aprobados: ', promedio_aprobados:0:6);
    writeln ('Valor de promedio desaprobados: ', promedio_desaprobados:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.