Corte de control
Publicado por psss (1 intervención) el 31/07/2007 21:58:18
Una empresa dedicada a la recolección de fruta dispone de un archivo que contiene entre otros campos:
Grupo de trabajo, numero de recolector, kilos de fruta, está ordenado por grupo de trabajo y dentro de grupo de trabajo por numero de recolector.
Determinar e imprimir:
1- total de kilos de fruta por recolector, por grupo de trabajo y por toda la empresa.
2- promedio de frutas recolectadas por grupo de trabajo. (total empresa / cant de grupos)
El ultimo registro contiene 99 en grupo de trabajo y no se procesa.
PROGRAM CORTE1;
USES
CRT;
VAR
CG, GT, NR, GA, RA: INTEGER;
KF, AR, AGT, AG, PRO: REAL;
BEGIN
GT:=1;
AG:=0;
AGT:=0;
CG:=0;
AR:=0;
WHILE GT <> 99 DO
BEGIN
CLRSCR;
GA:=GT;
RA:=NR;
AR:=AR+KF;
AGT:=AGT+KF;
AG:=AG+KF;
WRITE ('GRUPO: ');
READLN (GT);
WRITE ('RECOLECTOR: ');
READLN (NR);
WRITE ('KILOS: ');
READLN (KF);
IF GT<>GA THEN
BEGIN
CLRSCR;
WRITELN ('EL GRUPO ',GA, ' RECOLECTà ', AGT:6:2, ' KILOS DE FRUTA');
AGT:=0;
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
AR:=0;
CG:=CG+1;
READLN;
END
ELSE
BEGIN
IF NR<>RA THEN
BEGIN
CLRSCR;
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
AR:=0;
READLN;
END;
END;
END;
CG:=CG+1;
PRO:=AG/CG;
CLRSCR;
WRITELN ('EL GRUPO ',GA, ' RECOLECTà ', AGT:6:2, ' KILOS DE FRUTA');
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
WRITELN ('PROMEDIO DE FRUTAS RECOLECTADAS POR GRUPO DE TRABAJO: ',PRO:6:2);
READLN;
END.
obviamente esta porqueria está mal, si alguien sabe que es lo que tengo que corregir le agradecería.
Saludos!
Grupo de trabajo, numero de recolector, kilos de fruta, está ordenado por grupo de trabajo y dentro de grupo de trabajo por numero de recolector.
Determinar e imprimir:
1- total de kilos de fruta por recolector, por grupo de trabajo y por toda la empresa.
2- promedio de frutas recolectadas por grupo de trabajo. (total empresa / cant de grupos)
El ultimo registro contiene 99 en grupo de trabajo y no se procesa.
PROGRAM CORTE1;
USES
CRT;
VAR
CG, GT, NR, GA, RA: INTEGER;
KF, AR, AGT, AG, PRO: REAL;
BEGIN
GT:=1;
AG:=0;
AGT:=0;
CG:=0;
AR:=0;
WHILE GT <> 99 DO
BEGIN
CLRSCR;
GA:=GT;
RA:=NR;
AR:=AR+KF;
AGT:=AGT+KF;
AG:=AG+KF;
WRITE ('GRUPO: ');
READLN (GT);
WRITE ('RECOLECTOR: ');
READLN (NR);
WRITE ('KILOS: ');
READLN (KF);
IF GT<>GA THEN
BEGIN
CLRSCR;
WRITELN ('EL GRUPO ',GA, ' RECOLECTà ', AGT:6:2, ' KILOS DE FRUTA');
AGT:=0;
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
AR:=0;
CG:=CG+1;
READLN;
END
ELSE
BEGIN
IF NR<>RA THEN
BEGIN
CLRSCR;
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
AR:=0;
READLN;
END;
END;
END;
CG:=CG+1;
PRO:=AG/CG;
CLRSCR;
WRITELN ('EL GRUPO ',GA, ' RECOLECTà ', AGT:6:2, ' KILOS DE FRUTA');
WRITELN ('EL RECOLECTOR NéMERO ', RA, ' RECOLECTà ',AR:6:2, ' KILOS DE FRUTA');
WRITELN ('PROMEDIO DE FRUTAS RECOLECTADAS POR GRUPO DE TRABAJO: ',PRO:6:2);
READLN;
END.
obviamente esta porqueria está mal, si alguien sabe que es lo que tengo que corregir le agradecería.
Saludos!
Valora esta pregunta


0