3 * 4 * Algoritmo que utiliza el metodo de busqueda secuencial (vector). 5 * 6 *********************************************************************/ 7 const 8 N = 20 9 // Zona de declaracion de variables. 10 var 11 i, dato_buscado : numerico 12 array : vector [N] numerico 13 inicio 14 // limpiamos la pantalla 15 cls() 16 // zona de inicializacion de variables 17 i=1 18 // ingresamos valores aleatorios al vector 19 mientras (i <= N) 20 { 21 array[i] = random(100) 22 i=i+1 23 } 24 25 // introducimos el valor que deseamos buscar 26 imprimir ("\n Introduzca un valor a buscar: " ) 27 imprimir ("\n ") 28 leer(dato_buscado) 29 30 // realizamos la busqueda secuencial en el vector 31 i = busqueda_secuencial(array, dato_buscado) 32 33 // imprimimos los resultados. 34 // si i == 0 es porque nunca encontro el elemento en el vector 35 si (i==0) 36 { 37 imprimir ("\n Elemento no encontrado en el vector " ) 38 sino 39 imprimir ("\n Elemento encontrado en la posicion " , i, " del vector" ) 40 } 41 42 imprimir ("\n") 43 44 // imprimimos el vector 45 imprimir ("\n Vector: " ) 46 imprimir ("\n") 47 imprimir (" ") 48 imprimir_vector(array) 49 fin 50 51 //*********************************************************************************************** 52 //******************************** ZONA DE DECLARACION DE FUNCIONES ***************************** 53 //*********************************************************************************************** 54 // Subrutina busqueda_secuencial: dado un vector de N posiciones y un dato, aplicamos la busqueda 55 // de ese dato a traves del metodo secuencial (no es necesario tener el vector ordenado). 56 subrutina busqueda_secuencial(ref array : vector [N] numerico; dato_buscado : numerico) retorna numerico 57 var 58 j, indiceElemento : numerico 59 encontrado : logico 60 inicio 61 j=1 62 encontrado = FALSE 63 indiceElemento = 0 64 mientras (j <= N and not(encontrado)) 65 { 66 si(array[j] == dato_buscado) 67 { 68 encontrado = TRUE 69 indiceElemento = j 70 } 71 j=j+1 72 } 73 retorna(indiceElemento) 74 fin 75 76 // Subrutina imprimir_vector: imprime un vector de N posiciones en pantalla 77 subrutina imprimir_vector(array : vector [N] numerico) 78 var 79 index : numerico 80 inicio 81 index = 1 82 desde index = 1 hasta N 83 { 84 imprimir (array[index]) 85 imprimir (" ") 86 } 87 fin 88