Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Algoritmos] Problema con examen final ( 23 sep 2011 )
Autor Mensaje
elmassi Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 19
Agradecimientos dados: 4
Agradecimientos: 0 en 0 posts
Registro en: Oct 2010
Mensaje: #1
[Algoritmos] Problema con examen final ( 23 sep 2011 ) Finales Algoritmos y Estructuras de Datos
buenas, no se si alguien ah visto el final del 23 - 09 -11, me lo ah dado en mi cursada como practica de arrays antes del parcialito con la prof San Roman.

me eh trabado en una parte y me gustaria saber si alguien me ayudaria a poder continuar ya que quiero terminarlo por mi cuenta asi pregunto el miercoles si esta bien echo o en que me eh equibocado ( para prepararme para los parciales y finales )

Bueno mi problema: tengo un archivo con legajo, nombre, nota, especialidad, fecha, etc etc, ordenado por legajo. me pide mostrar los 2 mayores promedios por especialidad. armo un sistema para acumular las notas y las cantidades de materias dadas, si es mayor igual a 20 ( requisito) debo compararlos con otros alumnos que tengan los mismos requisitos, ahora me queda algo asi por ejemplo ( como ejemplo de prueva de escritorio )

[Imagen: promedio.png]

mi gran interrogatorio es como llevar a esos datos que voy acumulando a un array si en la teoria me dice que deben ser del mismo tipo ( byte, strig, etc ) estoy segurisimo que es un error conceptual que tengo, y como restriccion debe ser en array si no, hubiese guardado todo en un archivo pero me dan 0 byts de espacio fisico.

no se si me eh expresado bien, si alguien me entiende, me gustaria una pequeña mano para poder seguir.

Muchas gracias
17-10-2011 16:26
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
sentey En línea
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.501
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #2
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
Un array puede contener datos de distinto tipo si armas un array de registros, es decir, vas a tener un array [1..n] en el cual cada elemento va a tener una Especialidad, un N° de legajo y un promedio.

Si no se entiende, preguntá y lo explico mejor jaja.

pd: Yo rendi ese final =)

sentey escribió:Voy a cambiar esta firma el día que Me$$i gane un mundial
17-10-2011 20:28
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gusti89 Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 89
Agradecimientos dados: 8
Agradecimientos: 1 en 1 posts
Registro en: Apr 2009
Mensaje: #3
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
Claro como dijo sentey, el mismo tipo, registro.
Y el registro tiene lo que vos necesitas, yo rendi tmb ese final, cualquier cosa chifla
17-10-2011 20:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rld Sin conexión
Secretario General
ლ(ಠ益ಠლ)
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 787
Agradecimientos dados: 9
Agradecimientos: 10 en 9 posts
Registro en: Nov 2010
Mensaje: #4
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )


type
alumno = record
nombre: string[20];
legajo: longint;
promedio: real;
{todos los demas campos}
end;

vecAlumnos = array[1..n] of alumno {n = cantidad de alumnos}




ρλδ
17-10-2011 20:46
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: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #5
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
fundamental, saber la cantidad de alumnos de antemano. sino no podes armar el array.

si sabes de antemano la cantidad, entonces tenes que hacer como te dijeron, un array de registros

[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]
17-10-2011 22:29
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
H3rnst Sin conexión
Secretario de la SAE
Overlord
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 583
Agradecimientos dados: 149
Agradecimientos: 49 en 23 posts
Registro en: Sep 2010
Mensaje: #6
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
(17-10-2011 22:29)el pibe escribió:  fundamental, saber la cantidad de alumnos de antemano. sino no podes armar el array.

si sabes de antemano la cantidad, entonces tenes que hacer como te dijeron, un array de registros

Yo lo dí el final, y mucho no me acuerdo asique capaz que la estoy flashando, pero me parece que no te daban la cantidad de alumnos, porque la resolución venía mas o menos así

Spoiler: Mostrar
Era un archivo de registros, en donde cada registro tenía los datos de un final de una determinada materia de un determinado alumno. Entonces te daban un espacio cortito para la memoria estática, porque la idea era que recorrieras el archivo con corte de control por legajo (estaba ordenado por nº de legajo) y cuando cambiaba el legajo calculabas el promedio, y lo comparabas con los promedios que ya habías puesto en la matriz. Si era mayor, los sobreescribías y seguías recorriendo el archivo.

[Imagen: Hernst.png]
17-10-2011 23:28
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
elmassi Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 19
Agradecimientos dados: 4
Agradecimientos: 0 en 0 posts
Registro en: Oct 2010
Mensaje: #7
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
(17-10-2011 23:28)H3rnst escribió:  
(17-10-2011 22:29)el pibe escribió:  fundamental, saber la cantidad de alumnos de antemano. sino no podes armar el array.

si sabes de antemano la cantidad, entonces tenes que hacer como te dijeron, un array de registros

Yo lo dí el final, y mucho no me acuerdo asique capaz que la estoy flashando, pero me parece que no te daban la cantidad de alumnos, porque la resolución venía mas o menos así

Spoiler: Mostrar
Era un archivo de registros, en donde cada registro tenía los datos de un final de una determinada materia de un determinado alumno. Entonces te daban un espacio cortito para la memoria estática, porque la idea era que recorrieras el archivo con corte de control por legajo (estaba ordenado por nº de legajo) y cuando cambiaba el legajo calculabas el promedio, y lo comparabas con los promedios que ya habías puesto en la matriz. Si era mayor, los sobreescribías y seguías recorriendo el archivo.

exacto, el unico problema ahora es que no sabes la cantidad de alumnos que hay hasta haber terminado de recorrer todo el archivo, mi idea se basa en armar un array acuulativo ( no se si se puede ) que se vallan guardando todos los alumnos aprovados, para luego al final comparar y mostrar los 2 mejores promedios
18-10-2011 12:54
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nahuel Sin conexión
Empleado de Fotocopiadora

**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 49
Agradecimientos: 1 en 1 posts
Registro en: Apr 2010
Mensaje: #8
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
En realidad lo que tendrías que hacer es un registro del siguiente tipo:


TRegVec=Record
especialidad:char;
priProm,segProm:Single;
priLeg,segLeg:LongInte;
end;
vecAlum = array[1..110] of TRegVec



Luego creas un array de tipo tregvec con 10 posiciones ,1 posicion para cada especialidad. Y los promedios y alumnos los sacas en el proceso, del archivo.
se entendio?.
(Este mensaje fue modificado por última vez en: 18-10-2011 13:13 por nahuel.)
18-10-2011 13:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
CarooLina Sin conexión
Colaborador
2016! ❥
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3.461
Agradecimientos dados: 906
Agradecimientos: 1.215 en 451 posts
Registro en: Sep 2010
Mensaje: #9
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
Massi pero como te dijo "el pibe" por mas que quieras armar un array e irle poniendo todos y dps seleccionar, necesitas si o si un numero estimado de cantidad de registros, es una estructura "estatica" necesitas si o si saber cuantos.
Tampoco podes usar la cantidad de registros del archivo para usarlo como "cantidad" del vector eh seccion type esta antes que var
18-10-2011 18:10
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #10
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
El vector no tiene que ser de alumnos, sino un vector que tenga dos entradas por especialidad para poner ahí los máximos, supongo que las especialidades son las de la facu o te las dan, así las contás y ya tenés el tamaño. El archivo lo tenés ordenado por número de legajo, así que tenes todas las notas de un alumno seguidas, hacés un corte de control para calcularle el promedio y si es mayor a lo que tenés guardado en su especialidad actualizás el vector, sino te olvidás de ese alumno.
(Este mensaje fue modificado por última vez en: 18-10-2011 19:18 por Anirus.)
18-10-2011 19:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
H3rnst Sin conexión
Secretario de la SAE
Overlord
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 583
Agradecimientos dados: 149
Agradecimientos: 49 en 23 posts
Registro en: Sep 2010
Mensaje: #11
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
(18-10-2011 19:16)Anirus escribió:  El vector no tiene que ser de alumnos, sino un vector que tenga dos entradas por especialidad para poner ahí los máximos, supongo que las especialidades son las de la facu o te las dan, así las contás y ya tenés el tamaño. El archivo lo tenés ordenado por número de legajo, así que tenes todas las notas de un alumno seguidas, hacés un corte de control para calcularle el promedio y si es mayor a lo que tenés guardado en su especialidad actualizás el vector, sino te olvidás de ese alumno.

Claaaro, creo que la forma en que tenías que mostrar los resultados era:
Especialidad1 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad2 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad3 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
...
Especialidad10 - Legajo1 - Promedio1 - Legajo2 - Promedio 2

No hace falta saber la cantidad de alumnos, porque el archivo está ordenado por número de legajo. Entonces recorrés con corte de control por legajo, te fijás a que especialidad corresponde (con ese dato te ubicás en la fila correspondiente en el array) y ahí comparas si el promedio que te dieron los registros que acabas de leer es mayor, menor o igual que lo que tenés en el array. Si es mayor, entonces lo reemplazás y si es menor no hacés nada, y seguís con el algoritmo leyendo el próximo legajo.

No hace falta comparar una matriz con otra ni nada de lo que leí más arriba. La comparación la hacés cada vez que terminás con un legajo.

[Imagen: Hernst.png]
18-10-2011 23:44
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
sentey En línea
Presidente del CEIT
fressi renunciessi abandonessi
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.501
Agradecimientos dados: 123
Agradecimientos: 189 en 129 posts
Registro en: Aug 2010
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #12
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
(18-10-2011 23:44)H3rnst escribió:  
(18-10-2011 19:16)Anirus escribió:  El vector no tiene que ser de alumnos, sino un vector que tenga dos entradas por especialidad para poner ahí los máximos, supongo que las especialidades son las de la facu o te las dan, así las contás y ya tenés el tamaño. El archivo lo tenés ordenado por número de legajo, así que tenes todas las notas de un alumno seguidas, hacés un corte de control para calcularle el promedio y si es mayor a lo que tenés guardado en su especialidad actualizás el vector, sino te olvidás de ese alumno.

Claaaro, creo que la forma en que tenías que mostrar los resultados era:
Especialidad1 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad2 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad3 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
...
Especialidad10 - Legajo1 - Promedio1 - Legajo2 - Promedio 2

No hace falta saber la cantidad de alumnos, porque el archivo está ordenado por número de legajo. Entonces recorrés con corte de control por legajo, te fijás a que especialidad corresponde (con ese dato te ubicás en la fila correspondiente en el array) y ahí comparas si el promedio que te dieron los registros que acabas de leer es mayor, menor o igual que lo que tenés en el array. Si es mayor, entonces lo reemplazás y si es menor no hacés nada, y seguís con el algoritmo leyendo el próximo legajo.

No hace falta comparar una matriz con otra ni nada de lo que leí más arriba. La comparación la hacés cada vez que terminás con un legajo.

Exacto, yo lo hice así y me saqué 7, supongo que los errores fueros pequeños o no era tan eficiente como podía ser...

sentey escribió:Voy a cambiar esta firma el día que Me$$i gane un mundial
19-10-2011 01:17
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.162
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #13
RE: [Algoritmos] Problema con examen final ( 23 sep 2011 )
(18-10-2011 23:44)H3rnst escribió:  
(18-10-2011 19:16)Anirus escribió:  El vector no tiene que ser de alumnos, sino un vector que tenga dos entradas por especialidad para poner ahí los máximos, supongo que las especialidades son las de la facu o te las dan, así las contás y ya tenés el tamaño. El archivo lo tenés ordenado por número de legajo, así que tenes todas las notas de un alumno seguidas, hacés un corte de control para calcularle el promedio y si es mayor a lo que tenés guardado en su especialidad actualizás el vector, sino te olvidás de ese alumno.

Claaaro, creo que la forma en que tenías que mostrar los resultados era:
Especialidad1 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad2 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
Especialidad3 - Legajo1 - Promedio1 - Legajo2 - Promedio 2
...
Especialidad10 - Legajo1 - Promedio1 - Legajo2 - Promedio 2

No hace falta saber la cantidad de alumnos, porque el archivo está ordenado por número de legajo. Entonces recorrés con corte de control por legajo, te fijás a que especialidad corresponde (con ese dato te ubicás en la fila correspondiente en el array) y ahí comparas si el promedio que te dieron los registros que acabas de leer es mayor, menor o igual que lo que tenés en el array. Si es mayor, entonces lo reemplazás y si es menor no hacés nada, y seguís con el algoritmo leyendo el próximo legajo.

No hace falta comparar una matriz con otra ni nada de lo que leí más arriba. La comparación la hacés cada vez que terminás con un legajo.

Off-topic:
Perdón, no había visto tu spoiler =P
20-10-2011 02:14
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)



    This forum uses Lukasz Tkacz MyBB addons.