Buenas!! Estoy aprendiendo a programar y tengo que hacer un ejercicio en Pascal. El enunciado es el siguiente:
Suponga que desea saber qué "perfil" tienen sus llamadas telefónicas. Para ello realizará un programa que solicite la duración de las llamadas y calcule:
- la duración total de sus llamadas.
- el valor medio.
- el número total de llamadas.
Estos resultados se presentarán por pantalla.
Para este ejercicio hace falta un bucle que vaya pidiendo la duración de las distintas llamadas. El algoritmo sería aproximadamente:
- Iniciar los valores de las variables necesarias (número de llamadas y duración total de todas las llamadas entre otras).
- Leer la duración de la primera llamada.
- Mientras la duración de la llamada sea mayor que cero:
o Incrementar el número de llamadas en uno.
o Incrementar el tiempo total que suman todas las llamadas.
o Leer la duración de otra llamada. - Si se ha introducido alguna llamada:
o Realizar los cálculos necesarios.
o Presentar resultados. - Si no se introdujo ninguna llamada indicarlo al usuario.
[/b]
Yo he realizado el siguiente código sin obtener los resultados que me pide:
program Ejercicio_5_2_3;
uses crt;
var
contador_total:integer;
dur_actual:integer;
dur_total:integer;
dur_media:real;
BEGIN
contador_total := 0;
dur_total := 0;
dur_actual := 0;
dur_media :=0;
Repeat
write ('Duracion de la llamada (0 para terminar): '); readln (dur_actual);
dur_total := 0;
while (dur_actual > 0) do
contador_total := contador_total + 1;
dur_total := dur_actual + dur_total;
write ('Duracion de la llamada (0 para terminar): '); readln (dur_actual);
Until (dur_actual = 0);
If (dur_actual = 0) then
begin
write('Numero de llamadas: ',contador_total);
write('Duracion total: ',dur_total);
dur_media := (dur_total/contador_total);
write('Duracion media: ',dur_media);
end;
END.
A ver si algún alma caritativa puede ilustrarme!!
Gracias!!