(02-05-2012 17:13)CarooLina escribió: [ -> ]Hasta parece que falta parte del algoritmo.
1) Los nombres algunos son horribles, que es : subLote, sumCantidadInterna, cantInterna, V ,
Pones todo en cero y entras es un repeat untill que la condicion es que V sea negativo .¿Pero que es V?
nose es horrible para comprender, deja en claro bien que es cada cosa y con gusto te voy a ayudar. Dps el sublote es un XXX y tiene algo adentro? no entiendo nada la verdad
Vs as max le asignas v, pero v recien lo ingresas dps... es raro
Falta parte porque justamente no supe terminarlo...
Los nombres los usé tratando de resumir a qué se refieren:
V sería el valor a ingresar.
subLote es el contador de los sublotes que hay.
cantidadInterna es la cantidad de valores que hay en cada sublote.
sumCantidadInterna es la suma de los valores de cada sublote para luego usar esa suma y calcular el promedio.
El until (V<0) lo puse porque dice que el lote acaba con un valor negativo
Bueno.. eso es mas o menos lo que traté de representar.
(02-05-2012 19:32)nanuiit escribió: [ -> ]Uy, escribi la biblia y lo perdí. Ahora vuelvo a postear la respuesta
(02-05-2012 17:13)CarooLina escribió: [ -> ]Hasta parece que falta parte del algoritmo.
Dijo que lo empezó así. O sea, no está terminado.
(02-05-2012 17:13)CarooLina escribió: [ -> ]1) Los nombres algunos son horribles, que es : subLote, sumCantidadInterna, cantInterna, V ,
Poner "V" no es feliz, y es más, no sé si en instancia de examen se debería bajar puntos por eso [no estoy tan adentrada en el tema]. Los nombres tienen que ser explicativos. Los otros tres nombres se entienden perfectamente y no están mal. Podrían ser un poco más cortos, por ejemplo: sumCantInt. Sublote lo dejaría así porque "subl" remite más al término de sub-lista.
Por otro lado, si me das un rato te paso los diagramas correspondientes (no sé en qué curso estarás y con quién, pero muchos cursos no tocaron código aún)
Una cosita nomás (lo único que miré, después te reviso el diagrama si querés.. ahora no me siento muy bien)
Vos por ejemplo, mandás a imprimir:
'El promedio de cada sublote es:', sumCantInterna/cantInterna
Quedaría más feliz si eso lo pusieras en una variable. Calculá el promedio primero:
PROM <- sumCantInterna/cantInterna
Y después imprimi: 'El promedio de cada sublote es', PROM
Saludos!!
El nombre V es el valor a ingresar... quería poner "valor" pero tengo a Pablo Sznedleder de profesor y hasa ahora le asignó una letra a los valores... tipo... ('Ingrese un numero: ' - N) y todo asi.. pero si me dices que pueden llegar a bajar puntos, lo corrijo =)
Si me pasas los diagramas -cuando te sientas bien
- me vendrían genial así entiendo mejor como se trabaja todo el codigo.
GRACIAS!!!! =)
(02-05-2012 17:23)el pibe escribió: [ -> ]lo tengo hecho en pascal, te paso el codigo:
procedure pro (n:integer;var cont:byte;var acum:word;var min:word;var max:word;i:byte;var pos:byte;var va:boolean);
begin
cont:=cont+1;
acum:=acum +n;
va:=true;
if (n<min) then
min:=n;
if (n>max) then begin
max:=n;
pos:=i+1;
end;
end;
procedure mos(var acum:word;var cont:byte;min:word;va:boolean);
begin
if (va) then
writeln ('Prom: ',(acum/cont):0:2);
cont:=0; acum:=0;
writeln ('El minimo del sublote es: ',min);
end;
var
acum,min,max:word;
n:integer;
i,cont,pos,flag:byte;
va:boolean;
begin
cont:=0; acum:=0; i:=0; flag:=0;
write ('Ingrese un numero: ');
read (n);
min:=n;
max:=n;
if (n>0) then begin
i:=1;
flag:=1;
pos:=i;
end;
repeat
va:=false;
while (n>0) do begin
pro(n,cont,acum,min,max,i,pos,va);
write ('Ingrese un numero: ');
read (n);
if (n<1) and (flag=0)then begin
i:=i+1;
flag:=0;
end;
end;
mos(acum,cont,min,va);
if(n>=0)then begin
write ('Ingrese un numero: ');
read (n);
min:=n;
end;
if (n>0) then
flag:=0;
until (n<0);
writeln ('');
writeln ('La cantidad de sublotes es: ',i);
writeln ('El maximo es: ',max,' y esta en el sublote numero ',pos);
end.
Ay muchas gracias!! Lo voy a probar y tratar de entender cómo va!! =)
Saludos
(02-05-2012 17:23)el pibe escribió: [ -> ]lo tengo hecho en pascal, te paso el codigo:
procedure pro (n:integer;var cont:byte;var acum:word;var min:word;var max:word;i:byte;var pos:byte;var va:boolean);
begin
cont:=cont+1;
acum:=acum +n;
va:=true;
if (n<min) then
min:=n;
if (n>max) then begin
max:=n;
pos:=i+1;
end;
end;
procedure mos(var acum:word;var cont:byte;min:word;va:boolean);
begin
if (va) then
writeln ('Prom: ',(acum/cont):0:2);
cont:=0; acum:=0;
writeln ('El minimo del sublote es: ',min);
end;
var
acum,min,max:word;
n:integer;
i,cont,pos,flag:byte;
va:boolean;
begin
cont:=0; acum:=0; i:=0; flag:=0;
write ('Ingrese un numero: ');
read (n);
min:=n;
max:=n;
if (n>0) then begin
i:=1;
flag:=1;
pos:=i;
end;
repeat
va:=false;
while (n>0) do begin
pro(n,cont,acum,min,max,i,pos,va);
write ('Ingrese un numero: ');
read (n);
if (n<1) and (flag=0)then begin
i:=i+1;
flag:=0;
end;
end;
mos(acum,cont,min,va);
if(n>=0)then begin
write ('Ingrese un numero: ');
read (n);
min:=n;
end;
if (n>0) then
flag:=0;
until (n<0);
writeln ('');
writeln ('La cantidad de sublotes es: ',i);
writeln ('El maximo es: ',max,' y esta en el sublote numero ',pos);
end.
Me podrias decir a qué se refiere (flag, va, acum, cont) ?? Porque no sé si son lo que creo, por eso pregunto para confirmar