11411 Base de Datos, TP I, ejercicio 2, Pseudocodigo "Cherencio" Algoritmo de Hashing: Modulo por primo cercano a 1000 + direccionamiento abierto por lista simplemente enlazada Rutina Ingresar Abrir Archivo R/W Hacer Ingresar pk // busco registro direccion = hashing de pk encontre = no Mientras no encontre Leer registro por direccion Si registro.ocupado entonces Si registro.pk = pk entonces encontre = si Sino Si registro.puntero no vacio entonces direccion = registro.puntero Sino Agrego nuevo registro Actualizo puntero encontre = si Fin Si Fin Si Sino encontre = si Fin Si Fin Mientras // fin busco Si registro existente entonces Mostrar registro Fin Si registro.ocupado = si Tipear registro Si registro valido entonces Si Confirma Cambio entonces Grabo registro Fin Si Fin Si Mientras pk distinto -1 Cerrar Archivo Fin Rutina Ingresar Rutina Borrar Abrir Archivo R/W Hacer Ingresar pk // busco registro direccion anterior = vacio direccion = hashing de pk encontre = no Mientras no encontre Leer registro por direccion Si registro.ocupado entonces Si registro.pk = pk entonces encontre = si Sino Si registro.puntero no vacio entonces direccion anterior = direccion direccion = registro.puntero Sino Error (sinonima) El Cliente no ha sido creado aun encontre = si Fin Si Fin Si Sino Error El Cliente no existe encontre = si Fin Si Fin Mientras // fin busco Si registro.ocupado y registro.codigo = pk entonces Mostrar registro Si Confirma Borrar entonces Borro registro Si registro no es el primero de la lista entonces Desconectar registro Sino (primero de la lista) Si registro.puntero no vacio entonces (ojo! apunta a otro) Copiar registro siguiente sobre el actual Borrar registro siguiente Fin Si Fin Si Fin Si Fin Si Mientras pk distinto -1 Cerrar Archivo Fin Rutina Borrar