Nombre: Arreglo
Descripción:
programa que permite crear un arreglo y hacer busquedas en el devolvieldo el elemto y la posicion en la que se encuentra.
URL: http://www.mygnet.net/codigos/pascal/matrices_y_vectores/arreglo.787
Código Fuente:
PROGRAM BUSQUEDA;
USES CRT;
CONST LIM=20;
TYPE ELEMENTOS = ARRAY [1..LIM] OF INTEGER;
VAR I: 1..LIM; M:1..LIM;
X:ELEMENTOS;
VALOR,MAL: INTEGER;
EXITO:BOOLEAN;
RESP:CHAR;
BEGIN
CLRSCR;
REPEAT
MAL:=1;
WRITE('DAME EL NUMERO DE LEMENTOS DE LA LISTA:');
READLN(M);
IF (M IN[1..LIM]) THEN
BEGIN
CLRSCR;
WRITELN('DATO VALIDO, ADELANTE...');
MAL:=0;
DELAY (2000)
END
ELSE
BEGIN
CLRSCR;
WRITELN('DATO FUERR DE RANGO, INTENTA OTRA VEZ');
DELAY (2000);
END
UNTIL (MAL=0);
FOR I:= 1 TO M DO
BEGIN
WRITE('DAME EL ELEMENTO X[',I,']:)');
READLN(X[I]);
END;
REPEAT
CLRSCR;
WRITE('DEME EL ELEMENTO A BUSCAR:');
READLN(VALOR);
EXITO:=FALSE;
I:=1;
WHILE (I <= M) AND (EXITO = FALSE) DO
BEGIN
IF (VALOR = X[I]) THEN
EXITO:= TRUE
ELSE
I:= I+1;
END;
IF (EXITO) THEN
BEGIN
CLRSCR;
WRITELN('ENCONTRE EL ELEMENTO:',VALOR);
WRITELN('EN UNA POSICION:',I);
DELAY(5000);
END
ELSE
BEGIN
CLRSCR;
WRITE('EL ELEMENTO:',VALOR);
WRITE('NO ESTA EN LA LISTA');
DELAY (4000)
END;
WRITELN; WRITELN;
WRITELN('OTRA BUSQUEDA (S/N):');
RESP:= UPCASE(READKEY)
UNTIL (RESP='N');
CLRSCR;
GOTOXY(20,20);
WRITE('***** HASTA LUEGO *****');
DELAY(2000);
END.