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
Duda Teoria Algoritmos
Autor Mensaje
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #1
Duda Teoria Algoritmos Dudas y recomendaciones Algoritmos y Estructuras de Datos
Hola, tengo un par de preguntas:
1) En las entructuras enlazdas, lo unico en que se diferencian las pilas, colas y listas es en la forma en que se carga la estructura, osea la pila la carga de forma inversa, la cola mantiene el orden y la pila la carga ordenada?
2)En los parciales cuando dice "un solo recorrido secuencial a cada archivo" o "un solo acceso a cada registro", ese recorrido es el que hago para cargar la estructura paralela, osea para cargar el vector o lista, etc.
3)Cuando dice "accesos directos a tal archivo", es para guardar la posicion, y hacer luego un seek y mostrar algun campo de ese registro que guarde la posicion?
22-02-2012 23:05
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: 626 en 210 posts
Registro en: Aug 2010
Mensaje: #2
RE: Duda Teoria Algoritmos
1- En las listas cargás según un orden de criterio (Pusiste dos veces "pila" =P)
2- No precisamente necesites usar esos recorridos para cargar un vector o una lista. Quizá en el ejercicio tuviste que actualizar un archivo y después imprimas leyéndolo desde ahí
3- Claro. Pudiendo acceder porque en algún lado guardaste la posición, o porque accedés después de una búsqueda binaria

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]
22-02-2012 23:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
onita Sin conexión
Empleado del buffet
...
*

Ing. en Sistemas
-----

Mensajes: 9
Agradecimientos dados: 5
Agradecimientos: 3 en 2 posts
Registro en: Nov 2011
Mensaje: #3
RE: Duda Teoria Algoritmos
En la pila lo que cargas último lo sacas primero ( como una pila de libros), la cola entra primero sale primero ... y las listas como vos quieras las podes cargar.

Algo muy importante de los archivos por lo menos es lo que pide Marta Ferrari es que los abras y los leas una sola vez (en el caso que lo recorras linealmente), con búsqueda binaria cambia la cosa, y que con esa sola lectura saques todo lo necesario como para resolver el problema. Conviene bajarlo a vectores de registro, vectores, listas, pilas ,etc.

En caso que tengas que usar varios procedimientos con el mismo archivo, abrilo en el algoritmo principal y mandalo como parametro a los procedimientos, en caso de usarlo solo para uno, abrilo directamente dentro del procedimiento. =)

no te olvides de cerrarlos !!
23-02-2012 14:30
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #4
RE: Duda Teoria Algoritmos
(23-02-2012 14:30)onita escribió:  En la pila lo que cargas último lo sacas primero ( como una pila de libros), la cola entra primero sale primero ... y las listas como vos quieras las podes cargar.

Algo muy importante de los archivos por lo menos es lo que pide Marta Ferrari es que los abras y los leas una sola vez (en el caso que lo recorras linealmente), con búsqueda binaria cambia la cosa, y que con esa sola lectura saques todo lo necesario como para resolver el problema. Conviene bajarlo a vectores de registro, vectores, listas, pilas ,etc.

En caso que tengas que usar varios procedimientos con el mismo archivo, abrilo en el algoritmo principal y mandalo como parametro a los procedimientos, en caso de usarlo solo para uno, abrilo directamente dentro del procedimiento. =)

no te olvides de cerrarlos !!

Claro si, justamente te dejan hacer solo un recorrido secuencial para sacar los datos del archivo y pasarlo a otra cosa. Gracuas
23-02-2012 14:52
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.683 en 547 posts
Registro en: Sep 2010
Mensaje: #5
RE: Duda Teoria Algoritmos
mas que exactamente pasarlo a otra cosa, es para que lo leas una vez y ahi decidas que hacer. Lo podes meter en alguna otra estructura o usar para contar algo... no estrictamente para meter en la lista.
23-02-2012 15:36
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #6
RE: Duda Teoria Algoritmos
ok, gracias, mas preguntas:
1) cuando dicen que las pilas, colas y listas no se pueden recorrer. Que significa? Se puede, por ejemplo, crear 3 nodos sin ningun valor en el campo info, y despues ir sumando valores en el campo info a medida que leo un archivo, como si fuera un contador? Y que cada nodo represente algo en particular, osea si leo de un registro un campo tipo char y es "A", tal valor lo sumo al primer nodo, y si dice "B", lo sumo al segundo. Me parece que es re cualquiera, pero pregunto por las dudas.
2) Cuando invoco una funcion, para mostrar el resultado, pongo el nombre de de la funcion con el simbolo mostrar o se guarda el resultado en una variable y ahi lo mustro.
Gracias.
23-02-2012 17:07
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.683 en 547 posts
Registro en: Sep 2010
Mensaje: #7
RE: Duda Teoria Algoritmos
1) Lo que quiere decir es que no podes usar una lista,pila o cola como un archivo. Que lo abris y lo recorres, si tenes algo en la lista lo que si podes hacer es eliminarlo, buscarlo y usarlo. nada maS! Si vos queres ""actualizar"" algo de un nodo. Buscas el nodo en la lista y ahi actualizas esa es la forma de la lista.
2) por costumbre, siempre se lo asignas a una variable...creo que es asi como lo tenes que hacer. Y mostras esa variable
23-02-2012 17:14
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Fackus Sin conexión
Militante
A State Of Trance
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 97
Agradecimientos dados: 83
Agradecimientos: 18 en 12 posts
Registro en: May 2010
Mensaje: #8
RE: Duda Teoria Algoritmos
(23-02-2012 17:07)diegocuervo escribió:  ok, gracias, mas preguntas:
1) cuando dicen que las pilas, colas y listas no se pueden recorrer. Que significa? Se puede, por ejemplo, crear 3 nodos sin ningun valor en el campo info, y despues ir sumando valores en el campo info a medida que leo un archivo, como si fuera un contador? Y que cada nodo represente algo en particular, osea si leo de un registro un campo tipo char y es "A", tal valor lo sumo al primer nodo, y si dice "B", lo sumo al segundo. Me parece que es re cualquiera, pero pregunto por las dudas.
2) Cuando invoco una funcion, para mostrar el resultado, pongo el nombre de de la funcion con el simbolo mostrar o se guarda el resultado en una variable y ahi lo mustro.
Gracias.

1) No podes recorrerla porque cada vez q "usas" un nodo tenes q liberar ese espacio de memoria, o sea tenes una pila con 5 elementos, accedes al primero lo miras, lo usas y descartas para PODER acceder al siguiente. Pasa lo mismo con las colas nada mas que el orden y acceso de cada elemento es diferente. Las listas si podes recorrerlas, por ejemplo podes usar el famoso "InsertarOrdenado", "BuscaOInserta". Ahi estas recorriendo. Lo que creo q la cateadra no quiere es q utilices una Lista como un vector, si el elemento no se usa mas la memoria SIEMPRE tiene que liberarse.
Es al pedo usar un contador como vos decis, para eso cuando es "A" cargas en el contador CONT_A y si es "B" cargas en CONT_B. Además la memoria que te dan para estructuras dinamicas siempre (o casi siempre) es exacta asique no te compliques.

2) Cuando estas dentro de la funcion el valor vuelve en el nombre de la funcion. Si se llama FUNCION_SUMA al final te queda algo asi
FUNCION_SUMA <-- Variable1
Y despues en el programa principal vas a tener algo asi:
Variable2 <-- FUNCION_SUMA(Parametro1, Parametro2, etc)

Espero que haya sido claro jajaja
(Este mensaje fue modificado por última vez en: 23-02-2012 17:26 por Fackus.)
23-02-2012 17:25
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #9
RE: Duda Teoria Algoritmos
Buenisimo, gracias a los 2. Entonces, si el nodo no se usa mas, lo termino eliminando? Osea siempre antes de terminar, termino borrando todo lo de la memoria dinamica?
23-02-2012 18:01
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: 626 en 210 posts
Registro en: Aug 2010
Mensaje: #10
RE: Duda Teoria Algoritmos
"eliminando" ---> Tenés que liberar la memoria
Digamos, por ejemplo, una vez que terminás de suprimir todos los nodos, procedé a utilizar Dispose

El dispose forma parte de los procedimientos de suprimir nodo (o sacar en pila y cola)

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]
23-02-2012 23:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 115 en 32 posts
Registro en: May 2011
YouTube
Mensaje: #11
RE: Duda Teoria Algoritmos
para eliminar todos los nodos podes hacer:
sea puntero el puntero al principio de la lista

while (puntero <> nil)
begin
aux:= puntero;
puntero:=puntero^.siguiente;
dispose (aux);
end;


Siempre tenes que liberar la memoria dinamica


Off-topic:
pasa que son maquinas viejitas con 2 mb de ram algunas

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
23-02-2012 23:22
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #12
RE: Duda Teoria Algoritmos
Perfecto, si el dispose forma parte de los procedimientos. Gracias.
26-02-2012 12:17
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: 626 en 210 posts
Registro en: Aug 2010
Mensaje: #13
RE: Duda Teoria Algoritmos
(26-02-2012 12:17)diegocuervo escribió:  Perfecto, si el dispose forma parte de los procedimientos. Gracias.

Vi 4 finales.. uno sólo hizo dispose xD Por eso lo recalco; es muy importaaante
Si se toma memoria dinámica, hay que demostrar que se sabe manejar, y eso se define más que nada en los procedimientos standard

Así que los insertar, suprimir, intenten hacerlos!

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]
26-02-2012 12:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegocuervo Sin conexión
Secretario de la SAE
Invisible
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 466
Agradecimientos dados: 15
Agradecimientos: 13 en 10 posts
Registro en: Aug 2010
Mensaje: #14
RE: Duda Teoria Algoritmos
Sigo con las preguntas:
1)Cuando dice en los finales: "Nodos de 12 bytes x (cantidad de piezas + fileSize(archivo de movimientos))"(es un ejemplo de un final, aparece en varios pero con otro nombre). No entiendo por que lo multiplica por cantidad de piezas + filesize.
2) En otros casos aparece 4000Bytes + 6Bytes de memoria estatica, es para hacer otro array separado de 6 Bytes(segun vi la resolucion)? En caso de que no figure asi, no puedo armar 2 array separados si me alcanza justo la memoria por mas que no separe la memoria con el +?
3) Si dentro de un procedimiento utilizo un contador para luego armar un porcentaje dentro del procedimiento, no se declara la variable no? cuando invoco al procedimiento? . En el caso de calcular un porcentaje y utilizarlo en otro procedimiento, dentro del programa principal, ahi si va con Var cuando lo desarrollo no?.
Gracias a todos por las respuestas y disculpen por tantas preguntas.
27-02-2012 12:48
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: 626 en 210 posts
Registro en: Aug 2010
Mensaje: #15
RE: Duda Teoria Algoritmos
Voy por partes

(27-02-2012 12:48)diegocuervo escribió:  Sigo con las preguntas:
1)Cuando dice en los finales: "Nodos de 12 bytes x (cantidad de piezas + fileSize(archivo de movimientos))"(es un ejemplo de un final, aparece en varios pero con otro nombre). No entiendo por que lo multiplica por cantidad de piezas + filesize.

En ese caso está remitiendo a una lista con sublista

Imaginate que vos tenés, no sé, armar una estructura para un edificio, y necesitás guardar datos de la siguiente manera:

El edificio tiene pisos
Los pisos tienen departamentos

Entonces tendrías una lista de pisos, y dentro de cada nodo deberías guardar información de cada depto [son 10 deptos por piso], y el edificio tiene, 15 pisos
Ese "10" sería tu "cantidad de piezas".

(27-02-2012 12:48)diegocuervo escribió:  2) En otros casos aparece 4000Bytes + 6Bytes de memoria estatica, es para hacer otro array separado de 6 Bytes(segun vi la resolucion)? En caso de que no figure asi, no puedo armar 2 array separados si me alcanza justo la memoria por mas que no separe la memoria con el +?

Se supone que vos disponés de una determinada memoria y tenés que remitirte a eso. Cuando hacen 4000kb + 6kb, es como para ser más explícitos de lo que se pretende [como en el caso anterior que te explicitan que quieren lista con sublista]. Pueden no decirte nada y capaz tu estructura tiene lista con sublista, y la memoria te alcanza y sos feliz; siempre cumpliendo con las restricciones e intentando que tu resolución sea lo más eficiente posible

(27-02-2012 12:48)diegocuervo escribió:  3) Si dentro de un procedimiento utilizo un contador para luego armar un porcentaje dentro del procedimiento, no se declara la variable no? cuando invoco al procedimiento? . En el caso de calcular un porcentaje y utilizarlo en otro procedimiento, dentro del programa principal, ahi si va con Var cuando lo desarrollo no?.
Gracias a todos por las respuestas y disculpen por tantas preguntas.

Si vos por ejemplo estás cargando un vector, pero no sabés cuántos registros exactamente tenés que cargar [sabés un máximo, sino no podrias haaber creado el array], vas cargando y utilizando un acumulador para saber cuántos cargaste. Ese acumulador probablemente te sirva en otros módulos del programa, entonces dejaría de ser local y por tanto declarable para el programa. O al menos es lo que entiendo que preguntás. Si no te referís a eso, espero no confundirte.

No te hagas drama, no pidas disculpas, mejor sacarte las dudas ahora!

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: 27-02-2012 13:30 por nanuiit.)
27-02-2012 13:28
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




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