UTNianos

Versión completa: Parcial Algoritmos Resuelto
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Nuestro profesor Frankel nos tiro un ejemplo de parcial. Nos guio un poco con la estructura y la estrategia.... esta resuelto por mi, espero que los oriente un poco y les sirva =D

Saludos
gracias che, cuando llego a casa me lo bajo y lo miro. Me estoy preparando para el final y todo me sirve =P
De nada, si hay algo mal en el diagrama avisa =D
Buen aporte=) yo lo acabo de terminar mi version del parcial tuyo. Estuve revisando el que pusiste, me cuesta un poco entenderlo, pasa que vos usas otros nombres y yo hice algo que de lejos se denota diferente al tuyo.
Tampoco entendi si esos 5000 vos tomaste como que eran el maximo de productos que se podian vender en total, yo ni lo use ese 5000
Claro, hay varias formas de hacer los ejercicios, se que soy un poco desprolijo... ni daba pasar la hoja de la estrategia =P
Esos 5000 tampoco los use porque seria una archivo transaccional, es decir, por cada venta voy a hacer las cosas que pide el punto 1. Ademas seria imposible llevarmelo a un vector, no me alcanzaria la memoria
No se como es el tema de memoria, como la profe no lo tomo no lo enseño. Ademas no es un tema fundamental,se que hay muchas. La mia fue simple aunque es bastante chocante el ejercicio en si.
Que suerte, el nuestro ya nos pone las molestas restricciones de memoria y la estrategia... Si queres copate y subi tu resolucion =P
Mira te subo la estrategia bien redactada, el algoritmo te lo debo! jajaja.

1) con el archivo "vededores.dat" armamos un vector que tiene un tamaño de 400( segun dato de vendedores y lo llamamos "VEC". Es un vector de registro, un registro para cada uno de los vendedores.

La estructura del vector seria:
Codv Nomyape Categ Vendido Facturado

Del archivo pasamos al vector Codv y nomyape, pero tambien inicializamos los otros tres campos asignandoles ceros del 1 al 400, usando un for.
El campo "categ" lo uso como contador, seria la cantidad de categorias que subio. Vendido cumple la funcion de sumador, cada vez que se detecta una cantidad se suma y facturado seria el importe de todo lo vendido un sumador tambien.

Armo un segundo vector de 200(segun datos) que lo voy a llamar VEP y tambien es de registro. Su formato:

Codp Subru Pu

Lo que tiene subru, yo interprete que cada producto podia tener un subrubro 1, 2 , 19 ponele o que solo es un numero entre el 1 y 20. Para el primer caso lo que pense que ese campo dentro del vector si se puede hacerlo de tipo vector tambien jajaja =) Igual es lo unico que me quedo en duda de los datos. Pero en fin uso para eso el archivo "productos.dat"

2) Segun mi profe yo solo puedo abrir el archivo una vez, asique todo lo que necesitamos procesar lo hago de una.

-Abro el archivo ventas.dat

-not eof (vends)

-Lees un registro entre lo que se encuentra el codigo de producto, el rubro, el codigo de venta y la cantidad vendida.

- llamo a una busqueda lineal, uso el Codv ( este le corresponde al vendedor y el cual uso para identificarlos), VEC( es donde lo busca) y pido una "Pos" que me va a dar el lugar exacto donde se encuentra nuestro codigo de venta.

-Una vez que me devolvio mi POS, hago: Inc(VEC[pos].Vendido). Debido a que ese codigo de venta que yo lei quiere decir que ese vendedor vendio un producto jaja queda feo asi redactado, entonces como hizo una venta aumento vendido.

-Denuevo mando a una busqueda pero esta vez en el vector VEP, debo tener en cuenta que mando tanto el codp como el subru y que ambos en esta busqueda deben coincidir, lo que busco es el PU, asique este Pu debe pertenecer tanto al subru como al codp.

-Ahora averiguo lo facturado y lo asigno:
VEC[pos].facturado<---VEC[pos].facturado + (CantV * Pu)
multiplico la cantidad vendida por el precio de cada unidad y a esto mas lo que habia anteriormente se lo asigno al vector en la misma POS de antes.

Una vez que termino de leer y tanto vendido como facturado esta lleno. Con un for leeo el vector para ver quien subio de categoria

-Uso un for de 1 a 400(i), adentro meto un IF que tenga de condicion "VEC[i].vendido>100. Si esto se cumple:

A)Vec[i].Categ <--- VEC[i].vendido div 100 (eso te da la cantidad de categorias a subir)
B) Actualiza el archivo, le mando el vector al procedimiento. Es un simple mecanismo por eso no digo mucho.
Dps otro IF con condicion : VEC[i].cat>20 do
que muestre: VEC[i].apellinombre, Vec[i].categ, Vec[i]. Facturado
Faaaa era la biblia tu estrategia xD Mira que mi profe me dijo que tiene que ser simple y precisa, sino van a ponerse asi:

Spoiler: Mostrar
[Imagen: a205002.jpg]
nono, no es una estrategia la de siempre eso =) te estoy contado lo que hace el algoritmo algunas cosa a grandes raasgos asi lo entendes
Ya tuve el parcial y me fue re bien, era muy sencillo. La resolucion se las debo (Mi profesor no me dio la nota wall )
Hago un pequeño flood, tuve el parcial de algoritmos y me fue bien otra vez =)

Les dejo el parcial de practica que hicimos, la proxima les traigo el que me tomaron hoy

Les recuerdo que curso con Frankel y que pueden aprovechar las clases de consulta

Saludos
muchas gracias nico =)
Se que soy un poco desprolijo, cualquier cosa pregunten jajaja =P
URLs de referencia