Pascal/Turbo Pascal - ¿Manera de optimizar este programa?

   
Vista:

¿Manera de optimizar este programa?

Publicado por Tropicfail (5 intervenciones) el 27/11/2015 02:29:25
Saludos, ayer estuve escribiendo este codigo para un trabajo, pero estuve leyendo un poco y vi que hay algo llamado bucles (No logre entender bien) que creo me puede servir para optimizar esto y ahorrar lineas en el codigo, este seria mi codigo.

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
Program Goals;
 
Uses Wincrt;
 
Var
 
Temporada1,Temporada2,Temporada3,Temporada4,Temporada5,Temporada6,Temporada7,Temporada8,Temporada9,Temporada10,total:integer;
Promedio_por_temporada:real;
Nombre:string;
 
Begin
 
Writeln('Inserta el nombre del jugador');
Readln(Nombre);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la primera temporada');
Readln(Temporada1);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la segunda temporada');
Readln(Temporada2);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la tercera temporada');
Readln(Temporada3);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la cuarta temporada');
Readln(Temporada4);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la quinta temporada');
Readln(Temporada5);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la sexta temporada');
Readln(Temporada6);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la septima temporada');
Readln(Temporada7);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la octava temporada');
Readln(Temporada8);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la novena temporada');
Readln(Temporada9);
 
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la decima temporada');
Readln(Temporada10);
 
total:=Temporada1+Temporada2+Temporada3+Temporada4+Temporada5+Temporada6+Temporada7+Temporada8+Temporada9+Temporada10;
Promedio_por_temporada:=Temporada1+Temporada2+Temporada3+Temporada4+Temporada5+Temporada6+Temporada7+Temporada8+Temporada9+Temporada10;
 
Writeln(Nombre,' Ha marcado ',total,' goles en estas ultimas diez temporadas y su promedio por temporada es de ',Promedio_por_temporada/10:2:2);
 
end.

¿Si quisiera hacer que en base a ese bucle, se repita la acción de insertar la cantidad de goles de 10 temporadas distintas, y que me leyera toda esa información para luego hacer la sumatoria y sacar el promedio, como quedaria?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Manera de optimizar este programa?

Publicado por David (139 intervenciones) el 27/11/2015 12:41:46
Te propongo la siguiente solución:


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
Program Goals;
 
Uses crt;
 
Const
  TOPE = 10;
Var
 
  Temporadas : Array[1..TOPE] of Byte;
  i:integer;
 
Promedio_por_temporada:real;
Nombre:string;
total:integer;
 
Begin
 
Writeln('Inserta el nombre del jugador');
Readln(Nombre);
 
For i:=1 to tope do
begin
Writeln('Inserta la cantidad de goles anotados por ',Nombre,' la ',i,'¦ temporada');
Readln(Temporadas[i]);
 
total:=total+temporadas[i];
 
End;
Promedio_por_temporada:=total /tope ;
 
Writeln(Nombre,' Ha marcado ',total,' goles en estas ultimas diez temporadas');
Writeln('Su promedio por temporada es de ',Promedio_por_temporada/10:2:2);
readln;
 ENd.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar