• Lenguaje

    Pascal

  • Descripción

    Dado N números enteros como dato haga un diagrama de flujo que:
    a) Obtenga cuántos números leídos fueron mayores que cero.
    b) Calcule el promedio de los números positivos.
    c) Obtenga el promedio de todos los números.

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

var i, mayores_que_cero, n, numero_leido : integer;
var promedio_positivos, promedio_todos : real;
begin
    mayores_que_cero := 0;
    promedio_positivos := 0;
    promedio_todos := 0;
    write ('Ingresa el valor de n: ');
    readln (n);
    for i:=1 to n do
    begin
        writeln ('PROCESO ', i);
        write ('Ingresa el valor de numero leido: ');
        readln (numero_leido);
        if numero_leido>0 then
            begin
                mayores_que_cero := mayores_que_cero+1;
                promedio_positivos := promedio_positivos+numero_leido;
            end;
        promedio_todos := promedio_todos+numero_leido;
        writeln;
    end;
    if n = 0 then
        promedio_positivos := 0
    else
        promedio_positivos := promedio_positivos/n;
    if n = 0 then
        promedio_todos := 0
    else
        promedio_todos := promedio_todos/n;
    writeln ('Valor de mayores que cero: ', mayores_que_cero);
    writeln ('Valor de promedio positivos: ', promedio_positivos:0:6);
    writeln ('Valor de promedio todos: ', promedio_todos:0:6);
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.