Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Dudas con posicion en un archivo
Autor Mensaje
leaan Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 131
Agradecimientos dados: 115
Agradecimientos: 47 en 20 posts
Registro en: Apr 2011
Mensaje: #1
Dudas con posicion en un archivo Ejercicios y 1 más Algoritmos y Estructuras de Datos
Buenas estoy resolviendo unos finales y tengo varias dudas:

1- Yo tengo un archivo ordenado por cod cliente, lo puedo cargar en una lista, hace falta que cargue el cod cliente en la lista ? O como esta ordenado ya con la posicion tengo el cod cliente ? O hace falta cargar un campo posicion de (2 bytes por ejemplo) y serviria para ahorrar memoria ?

2- Como muestro que estoy buscando la posicion cuando recorro el archivo ?

NOT EOF C

leer(C,RC)

raux.cod <- rc.codigo
raux.pos <- pos( )¿?

INSERTANODO
(RAUX, LISTA)

(seria un ejemplo de como hacerlo)


3- Tengo en una lista el cod cliente y en el listado tengo que mostrar la descripcion de cada cliente. El archivo de clientes esta sin orden. Para imprimir el listado seria algo asi ?

while ( Lista <> NIL

while(   NOT EOF C

  POSCLI <- Busquedabinaria(codcli,rc.codcli,p,bol) )

seek(c,poscli)
write(rc.descrripcion)

)





Gracias !
(Este mensaje fue modificado por última vez en: 03-01-2013 18:19 por Aye.)
16-12-2012 10:51
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador

********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.743
Agradecimientos dados: 1.496
Agradecimientos: 1.686 en 547 posts
Registro en: Sep 2010
Mensaje: #2
RE: Dudas con posicion en un archivo
Te explico maso menos.

Lo que vos podes hacer es a medida que vas leyendo guardar las posiciones, osea lees el primero y ese es 0, lees el segundo y es uno. Pero ojo! Salvo que sepas la cantidad exacta de registro de un archivo , la posición ocupa 4 bytes!.
Puede ser que necesites guardar el código de cliente, por que necesitas una forma de identificarlo en tu lista. Si no como distinguís los clientes?
No es que ahorras, es que necesitas mucha info y no te alcanza la capacidad y/o las restricciones del final.

PAra buscar ese registro con la posición, usas la función seek. Y la posición que vas guardando es nada mas y nada menos que un contador.

love
16-12-2012 11:15
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] CarooLina recibio 1 Gracias por este post
leaan (16-12-2012)
leaan Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 131
Agradecimientos dados: 115
Agradecimientos: 47 en 20 posts
Registro en: Apr 2011
Mensaje: #3
RE: Dudas con posicion en un archivo
Ahi me quedo mas claro, salvo la parte que la posicion es un contador.

Se inicializa en 0 y se va incrementando ?
16-12-2012 11:23
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #4
RE: Dudas con posicion en un archivo
La posición dependerá de cómo sea tu archivo: si está ordenado y usas la búsqueda binaria, la posición NO es un contador. Es simplemente un apuntador a registro. Arranca en cero porque se presume la primera posición natural del archivo, y por una cuestión de inicializar
Si el archivo está ordenado por clave, y esa clave son valores correlativos (tipo “de 1 a 100“, “de 1000 a 3000“ podés valerte de la posición única predecible (a.k.a PUP) y vas haciendo los seek usando como POS esa posición (como harias con un array ponele)
Si el archivo no está ordenado, vas a tener que delegar la responsabilidad del orden en otra estructura, leyendo secuencialmente al archivo y seguramente tengas que insertar la posición (NO la clave, porque no podés hacer búdqueda binaria en el archivo al estar desordenado). Insertando la POS del registro, luego accedés directamente a los registros.

Si no se entendió, avisá.

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
(Este mensaje fue modificado por última vez en: 16-12-2012 11:56 por nanuiit.)
16-12-2012 11:48
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] nanuiit recibio 1 Gracias por este post
leaan (16-12-2012)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)