Crear+lista+preguntado+antes+de+leer+cada+número

=__**Crear lista preguntando antes de cada número si se quiere introducir un número**__=

code format="pascal" PROGRAM ARR_1 ; CONST iLONG_FISICA = 100 ; TYPE taiVectores = ARRAY [1 .. iLONG_FISICA] OF Integer ;

PROCEDURE CrearLista (VAR aiLista : taiVectores ; VAR iLongitud : Integer); VAR cResp  : Char ; BEGIN iLongitud := 0 ;                 { La lista inicialmente está vacía }

Write ('Introducir un  numero (S/N): ') ; Readln(cResp) ;

WHILE (Upcase (cResp) = 'S') AND (iLongitud < iLONG_FISICA) DO         BEGIN iLongitud := iLongitud + 1 ;

Write ('Numero ', iLongitud:2, ': ') ; Readln (aiLista [iLongitud]) ;

IF iLongitud < iLONG_FISICA THEN BEGIN Write ('Introducir otro numero (S/N): '); Readln(cResp) ; END ; END ; END ;

PROCEDURE MostrarNumeros (CONST aiLista : taiVectores ; iLongitud : Integer); VAR i : Integer ; BEGIN FOR i := 1  TO iLongitud DO         Write (aiLista [i] : 8 ) ;

Writeln ; END ;

{- Variables del programa principal --} VAR aiLista  : taiVectores ; iLongitud : Integer ;

BEGIN {************* PROGRAMA PRINCIPAL ***********************}

iLongitud := 0 ; { Inicializar la lista como vacía }

Writeln ('Escribe los números de la lista:') ; Writeln ; CrearLista (aiLista, iLongitud) ;

Writeln ; IF iLongitud > 0 THEN BEGIN WriteLn ('Lista de los numeros leidos: ') ; MostrarNumeros (aiLista, iLongitud) ; END ELSE Writeln ('Error: No has introducido ningun numero');

Writeln ; ReadLn ;

END. { FIN de Arr_1.PAS } code