UTNianos

Versión completa: [pedido]- final ALGORITMOS 19/02/2011
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2 3 4 5
buenas...

Alguien rindio en esta fecha??? si lo pueden subir! mil gracias!!

necesito dar bien si o si!! para cursar diseño!!!
Me sumo al pedido, si alguien lo tiene por favor que lo suba =)
si y el de hoy tb !!
Revisa que acá los suben 1 o 2 días después de tomarlos:
http://ar.groups.yahoo.com/group/aye-Alu...s/Finales/
Alguien rindió este sábado?
(26-02-2011 16:55)Anirus escribió: [ -> ]Revisa que acá los suben 1 o 2 días después de tomarlos:
http://ar.groups.yahoo.com/group/aye-Alu...s/Finales/

mil gracias!!!!!!!
alguno tiene una resolucion de este?
Lo acabo de hacer. No sé si está bien. Si alguno encuentra algún error que me avise =) Gracias!
Fijate si esto sirve:
Los archivos solo se pueden leer una vez, así que va a haber que cargar el de resultados a la memoria porque hay que consultarlo a cada rato. La memoria para vectores es de 125 bytes, que dividido en 5 examenes nos da un total de 25bytes para cada examen, que es justo lo que necesitamos para guardar su código(5 bytes) y el vector de respuestas(20 bytes)-
El listado nos lo piden creciente por DNI, por el orden que tiene el archivo(no estan todos los del mismo DNI seguidos) no podemos hacer un corte de control, así que va a haber que usar una lista ordenada por DNI. En la lista vamos a necesitar guardar DNI y los puntos de cada examen. Como cada alumno rindió 5 exámenes, es un desperdicio poner 5 veces el DNI, así que hacemos los nodos así:

DNI|sublista|siguiente (6+4+4 = 14 bytes)

En la sublista vamos a poner los datos de cada examen:

Posición|Correctas|siguiente (1+1+4= 6 bytes)

En Posición guardamos la posición del vector en la que está el código del examen, para no gastar tantos bytes.

Esa es la estructura, la estrategia sería así:

1. Cargar resultados.dat en el vector, ordenado por código de examen.

2. Ir leyendo examenes.dat. Primero utilizamos un buscaInsertaNodo creciente por DNI que nos devuelve el nodo del alumno que rindió el examen. Después buscamos el código de examen en el vector. Tomamos la sublista del nodo del alumno y usamos un buscaInsertaNodo creciente por el campo Posicion ( por esa razón cargamos el vector de forma ordenada ). Ahora comparamos la respuesta del alumno con la respuesta correcta del examen, la cual tenemos cargada en el vector. Si es correcta, sumamos 1 al campo de correctos.

3. La lista ya la tenemos ordenada crecientemente por DNI, la vamos recorriendo y por cada nodo que sacamos imprimimos el DNI y tomamos la sublista. Por cada nodo de la sublista usamos la posicion guardada para imprimir el código de examen que está en el vector e imprimos la cantidad de respuestas correctas (Sumamos esta cantidad a notaFinal para poder poner la cantidad total de respuestas correctas que te pide después de los exámenes)


Cuando empecé a escribir no me salia tu msj leandrong xD
Ah! Jajjaaj. Lo hicimos parecido pero el DNI es Longint, que son 4 bytes. Así que suma 12 bytes, y la sublista la hice de 11 bytes, puse CodEx, NroItem, OpEl, buscab con el CodEx la posición en el vector y comparaba si la respuesta era la correcta.

Pero es parecido lo que pensamos.
Ahh, no sé porqué pensé que Integer tenía 4 bytes y Longint 6 xD
Está lindo el final, ojalá me hubiera tocado uno así, a mi me tocó el de las prestaciones médicas que tenía apareo, cualquier cantidad de ifs anidados, y lo hice suponiendo que en el año estaban los mismos médicos del año anterior+nuevos y cuando lo estaba terminando me pregunté si había que tener en cuenta posibles renuncias xD
Y qué pasó???
Aprobé igual, pero me hubiera gustado uno así que es menos dolor de cabeza =P
Ah, bueno, mejor! jajaja.

Vos cargaste en la sublista la cantidad de correctos, que iba teniendo según el examen, o sea que te quedaban 5 nodos. Cada respuesta a un examen es un registro y los resultados estaban ordenados por Examen y DNI. O sea que, tenés que ir viendo de sacar las cuentas mientras sea el mismo dni y el mismo examen para ir contando.

Yo lo que hice feu crear una Lista que tenga los DNI y por cada DNI una SubLista que contenía todas las respuestas a cada parcial. Después de cargar todo, libero el primer nodo de la lista, obtengo el info, me meto en la sublista, y voy liberando todos los nodos y sacando las cuentas.

Viste cómo lo hice yo?
(02-03-2011 22:18)leandrong escribió: [ -> ]Ah, bueno, mejor! jajaja.

Vos cargaste en la sublista la cantidad de correctos, que iba teniendo según el examen, o sea que te quedaban 5 nodos. Cada respuesta a un examen es un registro y los resultados estaban ordenados por Examen y DNI. O sea que, tenés que ir viendo de sacar las cuentas mientras sea el mismo dni y el mismo examen para ir contando.

Yo lo que hice feu crear una Lista que tenga los DNI y por cada DNI una SubLista que contenía todas las respuestas a cada parcial. Después de cargar todo, libero el primer nodo de la lista, obtengo el info, me meto en la sublista, y voy liberando todos los nodos y sacando las cuentas.

Viste cómo lo hice yo?
Yo usé una lista con los DNI, ordenada crecientemente. Cada nodo de esa lista tiene una sublista ordenada por código de examen. La diferencia con lo que hiciste vos fue que en lugar de poner cada respuesta en la sublista, hice un subnodo por examen y fui fijandome si la respuesta era o no correcta a medida que leia examenes.dat, porque en el listado no me piden que imprima detalles sobre las preguntas, sólo necesito la cantidad de correctas de cada exámen, de esta forma solo necesito 5 subnodos por sublista, con un campo de tipo byte que identifique el examen (si uso las posiciones del vector) o uno de tipo string con el código, y otro byte para acumular la cantidad de correctas.

Para imprimir libero el primer nodo, y directamente imprimo los datos de los nodos de la sublista porque los cálculos los hice al cargar examenes.dat, lo único que tengo que hacer es sumar las correctas de los 5 subnodos para tener la nota final que piden.
Páginas: 1 2 3 4 5
URLs de referencia