Escolar Documentos
Profissional Documentos
Cultura Documentos
PROCEDURE OrdenarBurbuja
VAR Vector: TipoVector; LimiteInferior, LimiteSuperior: WORD
I
Intercambiar
Vector[ I ], Vector[ I + 1 ]
LimiteInferior Fin
LimiteSuperior <--- I
PROCEDURE Intercambiar
VAR Entidad1, Entidad2: TipoEntidad
PROCEDURE OrdenarRapido
VAR Vector: TipoVector; Lim iteInferior, Lim iteSuperior: WORD
Vector[ I ] < X
INC( I )
X < Vector[ J ]
DEC( J )
I <= J
Intercambiar
Vector[ I ], Vector[ J ]
INC( I )
DEC( J )
FUNCTION BusBinVector
(Vector: TipoVector; Lim iteInferior, Lim iteSuperior: WORD; Buscado: TipoClave): WORD
(Posicion < Lim iteInferior) AND (Lim iteInferior <= Lim iteSuperior)
PROCEDURE BusBinArchivo
VAR Archivo: TipoArchivo; Buscado: TipoClave;
VAR Registro: TipoRegistro; VAR Posicion: TipoEntero
(Posicion < Lim iteInferior) AND (Lim iteInferior <= Lim iteSuperior)
SEEK(Archivo, PuntoMedio)
Archivo
Registro
Buscado = Registro.CampoClave
FUNCTION BusBinRepeticionEnVector
(Vector: TipoVector; Lim iteInferior, Lim iteSuperior: WORD; Buscado: TipoClave): WORD
Posicion <--
PuntoMedio Buscado > Vector[ PuntoMedio ].CampoClave
PROCEDURE CorteDeControlVector
VAR Vector: TipoVector; Tope: WORD; { Parámetros de salida }
I <--- 1
I <= Tope
INC( I )
PROCEDURE CorteDeControlArchivo
VAR Archivo: TipoArchivo; { Parámetros de salida }
LeerArchivo
Archivo, Registro, FinArch
NOT FinArch
LeerArchivo
Archivo, Registro, FinArch
PROCEDURE CorteDeControlArchivo
VAR Archivo: TipoArchivo; VAR Registro: TipoRegistro; VAR FinArch: BOOLEAN
NOT EOF(Archivo)
Archivo
Registro FinArch <-- TRUE
PROCEDURE AparearVectores
Vec1: TipoVec1; Vec2: TipoVec2; VAR Vector: TipoVector; Tope1, Tope2: WORD
I <--- 1
J <---1
K <--- 0
INC( K )
(J > Tope2) OR
( (I <= Tope1) AND (Vec1[ I ] <= Vec2[ J ]) )
INC( I ) INC( J )
PROCEDURE AparearArchivos
VAR Arch1, Arch2, Archivo: TipoArchivo
LeerArchivo
Arch1, Reg1, FinArch1
LeerArchivo
Arch2, Reg2, FinArch2
(FIN Arch2) OR
((NOT FinArch1) AND (Reg1 <= Reg2))
Archivo Archivo
Reg1 Reg2
LeerArchivo LeerArchivo
Arch1, Reg1, FinArch1 Arch2, Reg2, FinArch2
PROCEDURE CompactarArchivo
VAR Archivo: TipoArchivo
PosLectura <-- 0
PosEscritura <-- 0
NOT EOF(Archivo )
Archivo
Registro
INC(PosLectura)
Registro.CampoClave <> 0
SEEK(Archivo, PosEscritura)
Archivo
Registro
INC(PosEscritura)
SEEK(Archivo, PosLectura)
SEEK(Archivo, PosEscritura)
TRUNCATE(Archivo)
PROCEDURE CompactarArchMejorado
VAR Archivo: TipoArchivo
PosLectura <-- 0
PosEscritura <-- 0
NOT EOF(Archivo )
Archivo
Registro
INC(PosLectura)
Registro.CampoClave <> 0
SEEK(Archivo, PosEscritura)
Archivo
Registro
SEEK(Archivo, PosLectura)
INC(PosEscritura)
SEEK(Archivo, PosEscritura)
TRUNCATE(Archivo)