Se me propuso hacer un programa en pascal el cual tiene que hacer esto:
Suponga que desea saber que "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
-y los presente por pantalla.
Bien, el "algoritmo" (por llamarlo de alguna manera) que a mí se me ocurrió es el siguiente:
>iniciar los valores de las variables necesarias, numero de llamadas y duración total de todas las llamadas
>leer la primera llamada
>mientras llamada sea mayor que cero
>incrementar el numero de llamadas en uno
>incrementar el tiempo total que suman todas las llamadas
>leer otra llamada
>presentar resultados.
Y el código en pascal:
program telefonos;
var
numero: integer;
duracion: real;
media: real;
begin
write('Duracion de la llamada (0 para terminar): ');
readln(duracion);
while (duracion>0) do
begin
numero:=numero+1;
duracion:=duracion+duracion;
end;
media:=numero/duracion;
writeln('Numero de llamadas: ',numero);
writeln('Duracion total: ',duracion);
writeln('Duracion media: ',media);
end.
Se compila, pero lo ejecutar y de
write('Duracion de la llamada (0 para terminar): ');
readln(duracion);
Ya no pasa...
Sugerencias? Cuantas cosas me encontráis mal?
Si esta mal de la cabeza a los pies, no quiero la solución solo una orientación.
Salu2.
while (duracion>0) do
begin
numero:=numero+1;
duracion:=duracion+duracion;
end;
El problema es que dentro del WHILE ... DO no tienes una sentencia para leer la "duración"
Debes tener otra variable Durac_Total que acumule todas las duraciones.
.
.
.
durac_total:=0;
while (duracion>0) do
begin
durac_total:=durac_total + duración;
numero:=numero+1;
readln(duracion)
end;
.
.
.
Y tu media... esta al revés; debe ser min/llamada o seg/llamada; entonces:
media:=durac_total/numero;
Saludos.
el ; del while men te malogra todo
sakludos
mira men es sencillo lo que pasa que es la entrada de datos no tiene el ciclo repetitivo asi que lo ejecuta una sola vez tenes que ponerselo a la entrada de datos y listo... espero te sirva ;D ;D ;D
me puedes por favor explicar a que te refieres con que la entrada no tiene ciclo repetitivo es que soy nueva en esto y me cuesta mucho, pero igual si meinteresa enterder. gracias!