[ Foro de Pascal ]

¿Dimensionar un arreglo mediante readln?

24-Mar-2014 21:31
Invitado (Marc)
3 Respuestas

Hola!

Supongo que no se podrá hacer. Pero no sé si lo he visto en otro lenguaje. Ahora estoy viendo el tema de los arreglos (del nuevo curso pascal). Y siempre se debe indicar el valor mínimo y máximo del arreglo:

 
arreglo : array[1..6] of byte
 


¿Pero no se puede dimensionar el arreglo mas tarde? Osea, que le diéramos la opción al usuario para poder escoger su tamaño:

 
arreglo : array[1..valor] of byte
 


Dentro del programa se pediría su 'valor':

 
readln(valor);
 


Saludos!



25-Mar-2014 14:19
Nacho Cabanes (+32)

Efectivamente, no se puede hacer.

En Pascal estándar, el tamaño de un array tiene que estar decidido en tiempo de compilación, no en tiempo de ejecución.

La única alternativa es usar una estructura dinámica.


25-Mar-2014 21:21
Invitado (Marc)

Viendo el tema por encima (aún no he llegado), también tenemos la opción de sobre dimensionar la matriz. Osea, pedimos un dato máximo mas grande del que necesitamos ¿Correcto...?

Saludos!


25-Mar-2014 22:41
Nacho Cabanes (+32)

Así es. O usas variables dinámicas en tiempo de ejecución o sobredimensionas en diseño. En Pascal estándar no puedes crear un array estático en tiempo de ejecución tal y como lo harías en los lenguajes que derivan de C.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)