Búsqueda de una coincidencia en ficheros ordenados

Se recorre el archivo de forma secuencial desde el primer registro. La búsqueda concluye cuando se encuentre el registro coincidente, cuando se lea el primer registro con clave superior a la de búsqueda o cuando se llegue al final del fichero. En el primer caso la búsqueda ha tenido éxito, mientras que en los dos últimos habrá fracasado.
El siguiente módulo recibe como argumentos el fichero sobre el que se realizará la búsqueda, la clave del registro a buscar, y una variable donde se almacenará la información del registro que contiene la clave buscada, en caso de existir:
PSEUDOCÓDIGO
    MÓDULO Buscar_uno_ordenado devuelve lógico
    DATOS
       PARÁMETROS
             Recibe NOMBRE_F cadena                   ** fichero a procesar
             Recibe X de tipo T                       ** clave que se busca
             Transforma REG_BUSCADO de tipo REGISTRO  ** reg. coincidente
       VARIABLES
             F archivo de REGISTRO      
             ACABAR lógico                   
             REG de tipo REGISTRO    
    INICIO
           F <- Abrir NOMBRE_F para lectura
           ACABAR <- Falso
            Mientras ( (ACABAR = Falso)  Y  (FF(F) = Falso) ) hacer
               Leer F, REG
                Si (REG.CLAVE <= X) entonces
                   ACABAR <- Verdadero
                fin-si
            fin-mientras
            Si (ACABAR = Verdadero) entonces
                Si (REG.CLAVE = X) entonces
                   REG_BUSCADO <- REG
                sino
                   ACABAR <- Falso
                fin-si
            fin-si
           Cerrar F
           Devolver ACABAR
    FIN

CÓDIGO C

PRONTO SERÁ INCORPORADO....



Volver al índice

Volver a Búsqueda y Ordenación Externa



Comentarios

Entradas populares de este blog

Algoritmo de ordenación por mezcla natural

Algoritmo de ordenación por mezcla directa

Algoritmo de Ordenación por Intercambio Directo (Burbuja)