
Practica de examen final
Publicado por Daniel (5 intervenciones) el 10/11/2017 03:01:04
Tengo que practicar para otra vez que debo hacer este examen,tengo una practica que encontre que mi profesor me dio hace un tiempo en la universidad,pero me quede atascado,los puntos a cumplir son estos
A-Definir la estructura adecuada para almacenar de forma temporal 100 numeros enteros
B-Cargar los datos validando que los valores se encuentren en el rango de -60 a 150 inclusive
C-Informar el promedio de los numeros
D-Informar en que posicion se encuentra el menor de los numeros pares y cual es ese numero
E-Informar cuantos numeros son mayores que el promedio
F-Agregar un modulo al programa que permita ingresar la posicion de un numero por teclado e informe cual es ese numero(esto aun no lo hice)
Este es mi programa hecho_
Program examen;
uses crt;
type
vector = array [1..100] of Integer;
var
numeros:vector;
contador,Prom,i,cont_pos,menor,posicion:Integer;
Procedure carga;
Begin
Writeln ('ingrese un total de 100 numeros del 50 al 150 inclusive');
For i:=1 to length(numeros) do
begin
Readln (numeros[i]);
if (-50>=numeros[i]) or (numeros[i]>=150) then
begin
writeln ('error,ingrese otro valor');
Readln (numeros[i]);
end;
end;
end;
Function Promedio (numeros :array of Integer):Real;
var
R1:Integer;
Resultado:Real;
Begin
R1:=0;
Resultado:=0;
For i:=1 to length(numeros) do
begin
R1:=R1 + (numeros[i]);
end;
Resultado:= R1/length(numeros);
Writeln (Resultado);
Promedio:=Resultado;
Writeln (Promedio);
end;
Procedure Pares;
Begin
for i:=1 to length(numeros)-1 do;
if (numeros[i] mod 2)=0 then
begin
cont_pos:= cont_pos +1;
if (numeros[i])<(numeros[i+1]) then
menor:=numeros[i];
posicion:=cont_pos
end;
Writeln ('el menor de los numeros pares es',menor,'y se encuentra en la posicion',posicion);
end;
Function Mayores(Numeros : array of Integer; Prom:Integer):Integer;
Begin
for i:=1 to length(numeros) do
Begin
if (Prom<numeros[i]) then
contador:=contador+1;
end;
Mayores:=contador
end;
Begin ///Programa Principal///
Prom:=0;
carga;
Promedio(numeros);
Pares;
Mayores(numeros,Prom);
end.
Mi problema actual esta en la funcion denominada ''promedio'' para el punto C,donde se supone que deberia dividir correctamente,pero arroja un resultado que no corresponde;si encuentran algun otro error haganmelo saber,pues pienso rehacer este codigo una y otra vez
Valora esta pregunta


0