Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
"Parcialito" de algoritmos
Autor Mensaje
fede.fna Sin conexión
Empleado del buffet
(ಠ_ಠ)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 17
Agradecimientos: 0 en 0 posts
Registro en: Mar 2013
Mensaje: #1
"Parcialito" de algoritmos Trabajo practico Algoritmos y Estructuras de Datos
Buenas! Aca paso un "parcialito" que nos enchufaron la ultima clase, si algun alma caritativa ya lo hizo/tiene ganas de hacerlo y compartirlo buenisimo!

Saludos y gracias!


Archivo(s) adjuntos Imagen(es)
   
(Este mensaje fue modificado por última vez en: 05-06-2013 10:29 por fede.fna.)
05-06-2013 10:26
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.163
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #2
RE: "Parcialito" de algoritmos
Ya vieron registros? (records/structs)
06-06-2013 00:32
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Anirus recibio 1 Gracias por este post
fede.fna (07-06-2013)
fede.fna Sin conexión
Empleado del buffet
(ಠ_ಠ)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 17
Agradecimientos: 0 en 0 posts
Registro en: Mar 2013
Mensaje: #3
Re: "Parcialito" de algoritmos
Emm, si, supuestamente ya vimos todo para el primer parcial!

Enviado desde mi GT-I9100 usando Tapatalk 2

(Este mensaje fue modificado por última vez en: 06-06-2013 01:22 por fede.fna.)
06-06-2013 01:20
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.163
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #4
RE: "Parcialito" de algoritmos
A ver, se me ocurre así:

productos: vector de 9999 entradas (Una por producto. Son 9999 porque el código de producto es de 4 dígitos) Cada entrada es un registro que tiene descripcion, precio, stock, vendidos y un flag valido que indica si completé la entrada. Lo uso para ir contando las cosas de la semana.

productosDia: vector de 9999 entradas(una por producto). Cada entrada contiene cantidad(cantidad vendida) y rechazados. Lo uso para ir contando las ventas del día.



//Inserto datos en el vector productos hasta que codProd sea 0
read(codProd)
while codProd<> 0 do begin

read(productos[codProd].descripcion, productos[codProd].precio, productos[codProd].stock);
productos[codProd].valido := true;
productos[codProd].vendidos := 0;
read(codProd)

end;

//////////////////
//Inicio semana
/////////////////
punto7:=false; //Al menos un dia de la semana con una venta>50 unidades
punto8:=0; //Cantidad de dias con al menos un pedido rechazado por menos de 20 unidades de productos que cuestan más de 15


//Por cada dia:
for dia:=1 to 7 do begin
////////////////
///Inicio dia
///////////////
productosDia[codProd].vendidos := 0;
productosDia[codProd].rechazados := 0;

//Por cada producto:
read(codProd)
while codProd<> 0 do begin

read(cantidad);
if cantidad>productos[codProd].stock then begin //Si no hay stock suficiente
write('Stock insuficiente');
if cantidad<20 and productos[codProd].precio>15 then punto8:=punto8+1;
productosDia[codProd].rechazados := productosDia[codProd].rechazados + cantidad;
end else begin //En otro caso
if cantidad>50 then punto7:=true;
productosDia[codProd].vendidos := productosDia[codProd].vendidos + cantidad;
productos[codProd].stock := productos[codProd].stock - cantidad;
productos[codProd].vendidos := productos[codProd].vendidos + cantidad;
write(codProd, cantidad, cantidad*productos[codProd].precio); //(1)
end;

read(codProd)
end;
/////////////////
//Al final del dia
//////////////////
maxCantidad:=0;
maxProd := 0;
//Por cada producto
for i:=0 to 9999 do begin

if producto[codProd].valido then begin //Si lo ingresaron
write(productosDia[codProd].vendidos, productosDia[codProd].rechazados); //(2),(3)
write(productos[codProd].stock); //stock restante (4)

if productosDia[codProd].vendidos> maxCantidad then begin
maxCantidad := productosDia[codProd].vendidos;
maxProd := codProd;
end;
end;
end;
write(productosDia[maxProd].descripcion); //Imprimo el maximo. (5)


end;

/////////////////////////
//Al final de la semana
/////////////////////////

//Por cada producto
for i:=0 to 9999 do begin

if producto[codProd].valido then begin //Si lo ingresaron
write(producto[codProd].vendidos);
end;

end;
write(punto7, punto8);


(Este mensaje fue modificado por última vez en: 06-06-2013 22:13 por Anirus.)
06-06-2013 21:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Anirus recibio 1 Gracias por este post
fede.fna (07-06-2013)
fede.fna Sin conexión
Empleado del buffet
(ಠ_ಠ)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 17
Agradecimientos: 0 en 0 posts
Registro en: Mar 2013
Mensaje: #5
RE: "Parcialito" de algoritmos
(06-06-2013 21:55)Anirus escribió:  A ver, se me ocurre así:

productos: vector de 9999 entradas (Una por producto. Son 9999 porque el código de producto es de 4 dígitos) Cada entrada es un registro que tiene descripcion, precio, stock, vendidos y un flag valido que indica si completé la entrada. Lo uso para ir contando las cosas de la semana.

productosDia: vector de 9999 entradas(una por producto). Cada entrada contiene cantidad(cantidad vendida) y rechazados. Lo uso para ir contando las ventas del día.



//Inserto datos en el vector productos hasta que codProd sea 0
read(codProd)
while codProd<> 0 do begin

read(productos[codProd].descripcion, productos[codProd].precio, productos[codProd].stock);
productos[codProd].valido := true;
productos[codProd].vendidos := 0;
read(codProd)

end;

//////////////////
//Inicio semana
/////////////////
punto7:=false; //Al menos un dia de la semana con una venta>50 unidades
punto8:=0; //Cantidad de dias con al menos un pedido rechazado por menos de 20 unidades de productos que cuestan más de 15


//Por cada dia:
for dia:=1 to 7 do begin
////////////////
///Inicio dia
///////////////
productosDia[codProd].vendidos := 0;
productosDia[codProd].rechazados := 0;

//Por cada producto:
read(codProd)
while codProd<> 0 do begin

read(cantidad);
if cantidad>productos[codProd].stock then begin //Si no hay stock suficiente
write('Stock insuficiente');
if cantidad<20 and productos[codProd].precio>15 then punto8:=punto8+1;
productosDia[codProd].rechazados := productosDia[codProd].rechazados + cantidad;
end else begin //En otro caso
if cantidad>50 then punto7:=true;
productosDia[codProd].vendidos := productosDia[codProd].vendidos + cantidad;
productos[codProd].stock := productos[codProd].stock - cantidad;
productos[codProd].vendidos := productos[codProd].vendidos + cantidad;
write(codProd, cantidad, cantidad*productos[codProd].precio); //(1)
end;

read(codProd)
end;
/////////////////
//Al final del dia
//////////////////
maxCantidad:=0;
maxProd := 0;
//Por cada producto
for i:=0 to 9999 do begin

if producto[codProd].valido then begin //Si lo ingresaron
write(productosDia[codProd].vendidos, productosDia[codProd].rechazados); //(2),(3)
write(productos[codProd].stock); //stock restante (4)

if productosDia[codProd].vendidos> maxCantidad then begin
maxCantidad := productosDia[codProd].vendidos;
maxProd := codProd;
end;
end;
end;
write(productosDia[maxProd].descripcion); //Imprimo el maximo. (5)


end;

/////////////////////////
//Al final de la semana
/////////////////////////

//Por cada producto
for i:=0 to 9999 do begin

if producto[codProd].valido then begin //Si lo ingresaron
write(producto[codProd].vendidos);
end;

end;
write(punto7, punto8);



Buenisimo! Gracias Anirus!!

Saludos!
07-06-2013 09:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.149
Agradecimientos dados: 126
Agradecimientos: 83 en 64 posts
Registro en: Dec 2010
Mensaje: #6
RE: "Parcialito" de algoritmos
Y acá está en diagrama, que creo que en realidad es lo que les pedían (y no código)
https://docs.google.com/file/d/0B1YW6naj...sp=sharing

La única aclaración es que los procedimientos están hechos con cuadrados simples porque por algún motivo no estaban los sandwichs que se suelen emplear para tal. Cuando se carga PRODUCTOS al vector, se carga ordenado mediante el método de burbuja, todo adentro del procedimiento. Está "resumido" (no es completo), completo sería un bardo, pero se entiende lo que se busca del enunciado.

Saludos!

wake me up when september ends!
(Este mensaje fue modificado por última vez en: 11-06-2013 23:05 por rob..)
11-06-2013 20:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] rob. recibio 1 Gracias por este post
fede.fna (12-06-2013)
Anirus Sin conexión
Super Moderador
Sin estado :)
*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.163
Agradecimientos dados: 77
Agradecimientos: 194 en 69 posts
Registro en: Nov 2009
Mensaje: #7
RE: "Parcialito" de algoritmos

Off-topic:

Siempre piden diagrama, pero para contestar en el foro es más rápido usar código =P
(Este mensaje fue modificado por última vez en: 12-06-2013 12:39 por Anirus.)
12-06-2013 12:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fede.fna Sin conexión
Empleado del buffet
(ಠ_ಠ)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 15
Agradecimientos dados: 17
Agradecimientos: 0 en 0 posts
Registro en: Mar 2013
Mensaje: #8
RE: "Parcialito" de algoritmos
(11-06-2013 20:21)rob. escribió:  Y acá está en diagrama, que creo que en realidad es lo que les pedían (y no código)
https://docs.google.com/file/d/0B1YW6naj...sp=sharing

La única aclaración es que los procedimientos están hechos con cuadrados simples porque por algún motivo no estaban los sandwichs que se suelen emplear para tal. Cuando se carga PRODUCTOS al vector, se carga ordenado mediante el método de burbuja, todo adentro del procedimiento. Está "resumido" (no es completo), completo sería un bardo, pero se entiende lo que se busca del enunciado.

Saludos!

ecolee, igual sirvio el cod. tambien para entender un poco algunas cosas!

Gracias Rob.!
12-06-2013 17:06
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rob. Sin conexión
Presidente del CEIT
Smile!
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.149
Agradecimientos dados: 126
Agradecimientos: 83 en 64 posts
Registro en: Dec 2010
Mensaje: #9
RE: "Parcialito" de algoritmos
(12-06-2013 17:06)fede.fna escribió:  
(11-06-2013 20:21)rob. escribió:  Y acá está en diagrama, que creo que en realidad es lo que les pedían (y no código)
https://docs.google.com/file/d/0B1YW6naj...sp=sharing

La única aclaración es que los procedimientos están hechos con cuadrados simples porque por algún motivo no estaban los sandwichs que se suelen emplear para tal. Cuando se carga PRODUCTOS al vector, se carga ordenado mediante el método de burbuja, todo adentro del procedimiento. Está "resumido" (no es completo), completo sería un bardo, pero se entiende lo que se busca del enunciado.

Saludos!

ecolee, igual sirvio el cod. tambien para entender un poco algunas cosas!

Gracias Rob.!


Off-topic:
De nada!
Igual iba básicamente por una cuestión de gustos (está el que prefiere el código y está el que quiere el diagrama, dependiendo él o lo que pide el profesor con quien cursan), para que al menos no hayan excusas para no entenderlo. Es un ejercicio medio engorroso para lo que pide realmente la materia, lo ideal sería simplificarlo un poco para que no hayan tantos cucos.

Saludos!

wake me up when september ends!
(Este mensaje fue modificado por última vez en: 12-06-2013 18:45 por rob..)
12-06-2013 18:41
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.