Autor |
Mensaje |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
Acá hay algunos ejercicios de final:
https://dl.dropboxusercontent.com/u/2470403/post/algo1.html
RESOLUCIONES:
PADRES E HIJOS
https://www.mediafire.com/?db55cialpmizwru
Creo que si no se hace con recursividad, el ejercicio se hace muy largo y muy dificil. Básicamente la recursividad ayuda a no perderse, porque uno trabaja con el primer nodo de la lista y sólo piensa en ese nodo en un principio; para trabajar con los nodos subsiguientes simplemente se aprovecha todo lo que uno ya tiene programado y se invoca la función nuevamente pero con un puntero al siguiente nodo (para entender lo que digo, busquen la función InsertarAlFinalRecursivamente que da Kuhn en clase).
Si hacen el seguimiento de escritorio de la función creo que se entiende bastante bien. Cualquier duda pregunten!
MATERIAS Y ALUMNOS
https://www.mediafire.com/?x1cq7hbmfwv19ja
Escribí algunas notas dentro del archivo.
ORDENAR VECTOR DE LISTAS SEGÚN LONGITUD
Usando vector auxiliar:
https://www.mediafire.com/?dw46tz1xkcw5bfn
Sin usar vector auxiliar:
https://www.mediafire.com/?lt7wibbuluez1yv
PRÓXIMAMENTE VOY A SUBIR EJERCICIOS DE RECORRIDOS DE MATRICES.
RECORDAR QUE ARCHIVOS, MUY DE VEZ EN CUANDO, SE TOMA.
¡¡SUERTE PARA EL EXAMEN!!
|
|
|
|
|
|
|
    |
 |
loonatic
Nivel 9

Edad: 32
Registrado: 16 May 2009
Mensajes: 1256
Carrera: Sistemas

|
|
 |
     |
 |
Granada
Nivel 9

Edad: 30
Registrado: 16 Ago 2011
Mensajes: 1325
Carrera: Química

|
|
Ya puse el link en la wiki, pero en Algo I de electronica
|
|
|
|
_________________
koreano escribió:
|
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".
Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".
Después es "después de FísicaII es cuestión de tiempo nomás".
No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR
|
|
|
 |
    |
 |
fernandodanko
Nivel 8

Edad: 33
Registrado: 16 May 2009
Mensajes: 859
Ubicación: Berazategui - BS.AS
Carrera: Electrónica

|
|
Reporto para que lo pasen a la materia correcta. (<bardo>Los que cursaron con Cardozo no se equivocan de código</bardo>)
|
|
|
|
|
|
 |
     |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
EJERCICIOS DE MATRICES:
IMPRIMIR MATRIZ CUADRADA RECORRIENDO EN FORMA DE RELOJ DE ARENA
https://www.mediafire.com/?22gq1iad4dxpcwp
Interpreto que no es necesario que se impriman los elementos con esa forma. No es muy dificil hacer una función que haga eso, basta con modificar lo que ya hice (facilita mucho las cosas hacer una función ImprimirBlancos(int cantBlancos) ).
RECORRER MATRIZ EN FORMA DE Z
https://www.mediafire.com/?vk0ky4skakkq6fp
Observen bien el enunciado: allí se muestra que la Z se recorre empezando por abajo a la derecha (si es que fuéramos a escribirla). Yo respeté eso. Para boludear, tomé la lista existente. la invertí (saqué la funcion de Internet porque se me complicaba) y ahí la imprimí en forma de Z.
RECORRER MATRIZ POR COLUNAS
https://www.mediafire.com/?5fo4wuj7lbe0ay0
Este lo hice un poco a mi antojo. Para no tener que destruir la lista original, agregué campos "sig2" a los viejos nodos. Las listas originales recorren mediante los campos "sig," y la nueva recorre por los "sig2." En el examen yo preguntaría exactamente qué hay que hacer.
NOTA MUY IMPORTANTE:
En la página de inscripción se dice que el examen dura desde las 9:30 hasta las 13:30, lo cual no es cierto. El examen dura sólo dos horas. Pongo esto porque sé de alguien que rendió y avanzaba como si tuviera cuatro horas y a las dos le hicieron entregar.
La próxima subo más ejercios. Eventualmente pondré algo de archivos.
|
|
|
|
|
|
|
    |
 |
drakoko
Nivel 9

Edad: 28
Registrado: 19 Jul 2007
Mensajes: 2528
Ubicación: caballito
Carrera: Mecánica

|
|
_________________
|
|
 |
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
EJERCICIO DE PADRES E HIJOS RESUELTO CON MAYOR EFICIENCIA:
https://www.mediafire.com/?zzb4koppmu4ncc5
Este ya lo había hecho pero en esta ocasión subo una versión 2.0. El código es apenas 2 ó 3 líneas más corto, pero es más eficiente.
En la versión anterior se hace lo siguiente: no "engancho" propiamente dicho los hijos a la lista de padres de la forma pedida. Por cada padre, hago una nueva lista sólo con los hijos que le corresponden, y luego hago que el padre apuntara a esta lista, guardando en una variable auxiliar un puntero al padre que viene después y enganchando el final de la primer lista al padre siguiente (para ello hay una función que busca el último elemento de la lista, cosa que implica recorrer la lista una vez entera, algo ineficiente). Al final, destruyo la lista de hijos tal cual existía originalmente. Se logra el efecto buscado pero no se está aprovechando el concepto de listas dado que se copia información de un nodo a otro.
En esta oportunidad, lo que hago es, a partir de un padre, buscar sus hijos; al encontrar un hijo que le corresponde, se "aísla" dicho nodo dado que lo remuevo de la lista de hijos y luego lo agrego a continuación del padre correspondiente (el siguiente padre se guarda en una variable auxiliar). Se repite el procedimiento hasta que en la lista no queden más hijos de ese padre, y se continúa con el siguiente. Acá no libero memoria dado que efectivamente las listas se enganchan. Nunca copio información, sólo cambio punteros. Eso sí; no pude evitar tener que usar la función para buscar el último elemento de la lista de padres. Se puede hacer pero trabajando con recursividad se complica mucho y si uno hace a las funciones iterativas, por lo menos en mi caso, se confunde más.
Espero que les sirva!
|
|
|
|
|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
EJERCICIO DE PADRES E HIJOS RESUELTO CON MAYOR EFICIENCIA:
https://www.mediafire.com/?zzb4koppmu4ncc5
Este ya lo había hecho pero en esta ocasión subo una versión 2.0. El código es apenas 2 ó 3 líneas más corto, pero es más eficiente.
En la versión anterior se hace lo siguiente: no "engancho" propiamente dicho los hijos a la lista de padres de la forma pedida. Por cada padre, hago una nueva lista sólo con los hijos que le corresponden, y luego hago que el padre apuntara a esta lista, guardando en una variable auxiliar un puntero al padre que viene después y enganchando el final de la primer lista al padre siguiente (para ello hay una función que busca el último elemento de la lista, cosa que implica recorrer la lista una vez entera, algo ineficiente). Al final, destruyo la lista de hijos tal cual existía originalmente. Se logra el efecto buscado pero no se está aprovechando el concepto de listas dado que se copia información de un nodo a otro.
En esta oportunidad, lo que hago es, a partir de un padre, buscar sus hijos; al encontrar un hijo que le corresponde, se "aísla" dicho nodo dado que lo remuevo de la lista de hijos y luego lo agrego a continuación del padre correspondiente (el siguiente padre se guarda en una variable auxiliar). Se repite el procedimiento hasta que en la lista no queden más hijos de ese padre, y se continúa con el siguiente. Acá no libero memoria dado que efectivamente las listas se enganchan. Nunca copio información, sólo cambio punteros. Eso sí; no pude evitar tener que usar la función para buscar el último elemento de la lista de padres. Se puede hacer pero trabajando con recursividad se complica mucho y si uno hace a las funciones iterativas, por lo menos en mi caso, se confunde más.
Espero que les sirva!
|
|
|
|
|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
ÚLTIMA VERSIÓN DE EJERCICIO DE PADRES E HIJOS:
EJERCICIO DE PADRES E HIJOS RESUELTO CON MAYOR EFICIENCIA:
https://www.mediafire.com/?zzb4koppmu4ncc5
Esta es la última y más eficiente versión del programa.
La diferencia: no no necesito la función para buscar el último elemento de la lista. Lo tengo en cuenta en otra de las funciones y me ahorro recorrer la lista final el doble de veces.
Además, introduzco algo puramente adicional: tiene un modo de autorrelleno o autofill, como me gusta llamarlo a mí. En dicho modo, se introducen padres e hijos al azar, de modo que no tener que introducir toda esa información cada vez que uno quiera probar el programa.
Si se apaga esa opción, el programa pide información normalmente.
Este ya lo había hecho pero en esta ocasión subo una versión 2.0. El código es apenas 2 ó 3 líneas más corto, pero es más eficiente.
En la versión anterior se hace lo siguiente: no "engancho" propiamente dicho los hijos a la lista de padres de la forma pedida. Por cada padre, hago una nueva lista sólo con los hijos que le corresponden, y luego hago que el padre apuntara a esta lista, guardando en una variable auxiliar un puntero al padre que viene después y enganchando el final de la primer lista al padre siguiente (para ello hay una función que busca el último elemento de la lista, cosa que implica recorrer la lista una vez entera, algo ineficiente). Al final, destruyo la lista de hijos tal cual existía originalmente. Se logra el efecto buscado pero no se está aprovechando el concepto de listas dado que se copia información de un nodo a otro.
En esta oportunidad, lo que hago es, a partir de un padre, buscar sus hijos; al encontrar un hijo que le corresponde, se "aísla" dicho nodo dado que lo remuevo de la lista de hijos y luego lo agrego a continuación del padre correspondiente (el siguiente padre se guarda en una variable auxiliar). Se repite el procedimiento hasta que en la lista no queden más hijos de ese padre, y se continúa con el siguiente. Acá no libero memoria dado que efectivamente las listas se enganchan. Nunca copio información, sólo cambio punteros. Eso sí; no pude evitar tener que usar la función para buscar el último elemento de la lista de padres. Se puede hacer pero trabajando con recursividad se complica mucho y si uno hace a las funciones iterativas, por lo menos en mi caso, se confunde más.
Espero que les sirva!
[U]
|
|
|
|
|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
FINAL DEL 17/2/14 RESUELTO (PARCIALMENTE)
No tengo el enunciado de forma escrita, pero se los puedo explicar de forma sencilla.
Enunciado:
1) El primer ejercicio es igual al de alumnos y materias de ésta página, pero en vez de alumnos hay empleados, en vez de la nota está la antigüedad en una empresa, y en vez de materias hay sectores. El vector de materias es tEmpresa vect[CANT_SECTORES] (tEmpresa es una estructura). No pueden usarse elementos auxiliares (copiar información), sólo punteros auxiliares. El encabezado de la función debe tener la forma que usé yo en la resolución.
Vean las estructuras al principio de la resolución.
Resolución: https://www.mediafire.com/?txt0xslkda4pysc (Lo que está en gris es lo que cambié respecto de mi escrito. Son notas para mí, digamos, y para Kuhn, luego les explico por qué).
2) Ordenar una lista de personas (cada persona es un nodo) en orden alfabético mediante una función recursiva. Todas las funciones necesarias para hacer la función principal también deben ser recursivas. La función principal debe tener el encabezado que yo usé.
Resolución: Antes, yo puse "resolución parcial" porque no pude cumplir con el punto de usar funciones sólo recursivas (usé InsertarAlComienzo que no puede hacerse recursiva de ninguna forma).
El link: https://www.mediafire.com/?txt0xslkda4pysc
|
|
|
|
|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
CORRECCIÓN AL 1) Lo que se pedía era enganchar a todos los empleados por el campo sigAntig en orden según la antiguedad. Ésa es la diferencia respecto al de alumnos y materias que no había aclarado.
|
|
|
|
|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
|
    |
 |
sebascarra
Nivel 3
Registrado: 26 Jul 2012
Mensajes: 39

|
|
Bueno, eso es todo gente. Espero haberles brindado una buena herramienta para aprobar. No voy a publicar más cosas, pero cualquier cosa pueden preguntar y si puedo les contesto; sino, pueden contestarse entre ustedes.
Forma de evaluar:
No sé si es así en todas las fechas de examen, ni si depende de la cantidad de gente que se presenta a rendir, ni nada de eso, pero les explico cómo se nos evaluó el lunes 17/2/14.
Se nos entregó el examen con dos ejercicios y algunos diagramas de punteros y nodos con los cuales guiarnos. El examen comenzó 9:40 y terminó 11:40. Al final, Kuhn pide que todos pongamos nuestros mails en el examen junto con el nombre. Luego, nos envió por mail el examen escaneado para que lo pasáramos en computadora y probásemos que funcionara. Si había algo que corregir, debía ser algo mínimo, como un error en algún puntero u olvidarse una llave, pero la idea detrás del funcionamiento de lo hecho durante el examen debía estar correcta de entrada. Si funcionaba y cumplía con las consignas, se aprobaba el examen. Si uno no le mandaba el examen pasado por computadora, dijo que no había problema, que lo corregía igual por su cuenta. Finalmente, enviaba a cada uno la nota por mail y el motivo por el cual se otorgó dicha nota.
Eso es todo, ¡éxitos!
|
|
|
|
|
|
|
    |
 |
tlorences
Nivel 1
Registrado: 05 Mar 2012
Mensajes: 4

|
|
alto post man!
che pregunta random, te llamas scarra por el jugador de dignitas?
|
|
|
|
|
|
|
    |
 |
|
Ir a página 1, 2 Siguiente
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|