Pascal/Turbo Pascal - help!!!

 
Vista:

help!!!

Publicado por Mape (6 intervenciones) el 18/05/2006 08:04:41
Necesito ayuda con un programa para hacer free pascal, es con archivo, eliminar registros en forma lógica y física y par de cosas mas si me pueden ayudar se los voy a agradecer...
Escribanme un mail a [email protected].... Graciasssssssssss......
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:help!!!

Publicado por Diego Romero (996 intervenciones) el 18/05/2006 19:36:31
Pues al registro del archivo agrégale un campo bandera que señale si ese registro está borrado o activo y ya. Eso por la parte lógica.
Por la parte física, pues recorre todo el archivo de punta a punta copiando los registros marcados como activos en otro archivo y saltándote los que están marcados como borrados y ya. Fácil, ¿no?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:help!!!

Publicado por Mape (6 intervenciones) el 18/05/2006 21:07:27
La parte de que hacer la se... es decir la teoria esta, lo que no se es como hacer el código, la teoria que tengo no es muy explícita en cuanto a como... Si qures o podes te mando el enunciado del ejercicio y dame una idea general de como hacerlo... Yo estoy usando el Free Pascal...
gracias por responder tan rápido....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:help!!!

Publicado por Diego Romero (996 intervenciones) el 18/05/2006 21:25:35
No le veo mucha dificultad... pero claro, es solo mi opinión.
Supon que tienes un registro como este:

type

TRegistro=register
Dato1: string[20]
Dato2: integer;
Dato3: byte;
...
DatoN: char;
BanderaBorrado: boolean;
end;

El campo BanderaBorrado será true si el registro leído está borrado y false si está activo. Obviamente cuando das de alta (agregas un nuevo registro al archivo) debes poner esa bandera en false. Cuando el usuario pida eliminar un registro lo único que haces es poner en true ese campo.
En el resto de las operaciones, cada vez que lees un registro chequeas que esa bandera sea false, si es true no lo tomas en cuenta para la operación actual y ya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:help!!!

Publicado por Mape (6 intervenciones) el 18/05/2006 21:48:21
Este es el enunciado un poco largo pero bue...

1. Se debe generar un archivo con nombres de docentes de la Facultad de Informática usando
registros de longitud fija. Para ello la información (los nombres) se leen desde teclado y finalizan
con un docente ZZZ que no debe incorporarse al archivo.
Se debe permitir la eliminación de nombres. Los algoritmos solicitados son:
• Borrar los nombres de manera lógica.
• Idem anterior, generando dentro del mismo archivo una “lista invertida” que permita la
posterior recuperación de espacios ante altas de nuevos docentes.
Los nombres a dar de baja deben estar en un archivo de texto.
Se debe permitir el alta de nuevos docentes en el archivo, de manera de reutilizar el espacio
disponible, si lo hubiera. Los nombres a dar de alta deben estar en otro archivo de texto. Comparar
los tiempos de respuesta de cada algoritmo.
Para resolver este ejercicio se deben hacer dos versiones del mismo programa que sólo difieran en
la forma de instrumentar las bajas.
El programa debe comenzar solicitando al usuario que informe si desea crear el archivo docentes (el
nombre físico del archivo debe ser “docentes”, sin extensión) o abrirlo; si se escoge crearlo se debe
dar lugar al proceso de generación descrito en el primer párrafo, si no, se debe considerar que ya
existe y contiene datos y abrirlo.
Luego el programa debe
• listar el contenido original del archivo docentes en un archivo de texto llamado “inicial.txt”,
• eliminar del archivo “docentes” los nombres que figuren en el archivo de texto “bajas.txt”,
• listar el contenido del archivo de datos después de las bajas en un archivo de texto llamado
“postbajas.txt”,
• incorporar al archivo “docentes” los nombres que figuren en el archivo de texto “altas.txt”,
• listar el contenido de “docentes” en un archivo de texto “final.txt”,
• y finalmente informar por pantalla la cantidad de registros leídos para completar las bajas.
Las bajas lógicas deben instrumentarse prefijando el nombre a eliminar con un asterisco, y los
registros eliminados lógicamente también deben listarse.
Para instrumentar la lista invertida de registros eliminados se debe usar el primer registro del
archivo como cabecera de la lista, y en lugar de tener un nombre de docente debe tener el string ‘0’,
si no hay registros libres, o un string con el número relativo del último registro eliminado, si
hubiera registros libres. Para efectivizar una baja se debe sobrescribir el nombre a eliminar con el
número relativo de registro libre que aparezca en el primer registro, y actualizar el primer registro
con el número relativo del nombre que se elimina. Los números relativos de registro deben listarse
como cualquier nombre.
Se debe entregar los códigos fuente y ejecutable de ambos programas, el archivo docente
precargado con al menos veinte nombres, y los archivos “bajas.txt” y “altas.txt”. A los efectos de
comparar los tiempos de respuesta se ejecutarán ambos programas en distintos directorios con
copias idénticas de los archivos entregados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:help!!!

Publicado por Mape (6 intervenciones) el 18/05/2006 21:50:28
Este es el enunciado un poco largo pero bue... desde ya gracias nuevamente

1. Se debe generar un archivo con nombres de docentes de la Facultad de Informática usando registros de longitud fija. Para ello la información (los nombres) se leen desde teclado y finalizan con un docente ZZZ que no debe incorporarse al archivo.
Se debe permitir la eliminación de nombres. Los algoritmos solicitados son:
• Borrar los nombres de manera lógica.
• Idem anterior, generando dentro del mismo archivo una “lista invertida” que permita la posterior recuperación de espacios ante altas de nuevos docentes.
Los nombres a dar de baja deben estar en un archivo de texto.
Se debe permitir el alta de nuevos docentes en el archivo, de manera de reutilizar el espacio disponible, si lo hubiera. Los nombres a dar de alta deben estar en otro archivo de texto. Comparar los tiempos de respuesta de cada algoritmo.
Para resolver este ejercicio se deben hacer dos versiones del mismo programa que sólo difieran en la forma de instrumentar las bajas.
El programa debe comenzar solicitando al usuario que informe si desea crear el archivo docentes (el nombre físico del archivo debe ser “docentes”, sin extensión) o abrirlo; si se escoge crearlo se debe dar lugar al proceso de generación descrito en el primer párrafo, si no, se debe considerar que ya existe y contiene datos y abrirlo.
Luego el programa debe
• listar el contenido original del archivo docentes en un archivo de texto llamado “inicial.txt”,
• eliminar del archivo “docentes” los nombres que figuren en el archivo de texto “bajas.txt”,
• listar el contenido del archivo de datos después de las bajas en un archivo de texto llamado
“postbajas.txt”,
• incorporar al archivo “docentes” los nombres que figuren en el archivo de texto “altas.txt”,
• listar el contenido de “docentes” en un archivo de texto “final.txt”,
• y finalmente informar por pantalla la cantidad de registros leídos para completar las bajas.
Las bajas lógicas deben instrumentarse prefijando el nombre a eliminar con un asterisco, y los registros eliminados lógicamente también deben listarse.
Para instrumentar la lista invertida de registros eliminados se debe usar el primer registro del archivo como cabecera de la lista, y en lugar de tener un nombre de docente debe tener el string ‘0’, si no hay registros libres, o un string con el número relativo del último registro eliminado, si hubiera registros libres. Para efectivizar una baja se debe sobrescribir el nombre a eliminar con el
número relativo de registro libre que aparezca en el primer registro, y actualizar el primer registro con el número relativo del nombre que se elimina. Los números relativos de registro deben listarse como cualquier nombre.
Se debe entregar los códigos fuente y ejecutable de ambos programas, el archivo docente precargado con al menos veinte nombres, y los archivos “bajas.txt” y “altas.txt”. A los efectos de comparar los tiempos de respuesta se ejecutarán ambos programas en distintos directorios con
copias idénticas de los archivos entregados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar