garrafas

=__**Se disponen de garrafas de 15 litros y de 6 litros y se sirven pedidos ...**__= > > **Se sirven solo garrafas llenas. Puede ser que no se sirva el pedido completo.**

code format="pascal" PROGRAM Garrafas_1A ; VAR iLitros, iGarrafas_15, iGarrafas_6, iResto : Integer ; BEGIN Writeln ('Lee los litros de un pedido e indica'); WriteLn ('las garrafas de 15 y de 6 litros necesarias') ; WriteLn ; Write ('Nº de litros del pedido: ') ; Readln (iLitros) ;

iGarrafas_15 := iLitros DIV 15 ; iResto      := iLitros MOD 15 ;

iGarrafas_6 := iResto  DIV 6 ; iResto      := iResto  MOD 6 ;

WriteLn ; WriteLn('Se necesitan ', iGarrafas_15:3, ' de 15 litros'); WriteLn('            ', iGarrafas_6 :3, ' de  6 litros'); WriteLn ; WriteLn ('No se pueden servir: ', iResto, ' Litros') ; END. code

> **Se sirven solo garrafas llenas. Puede ser que no se sirva el pedido completo.** > **--- Versión con menos variables:** > ** Se calcula un valor y se guarda en una variable.. se utiliza ese valor (se muestra) y...** > ** se utiliza la misma variable para calcular otro valor.**

code format="pascal" PROGRAM Garrafas_1B ; VAR iLitros, iGarrafas, iResto : Integer ; BEGIN Writeln ('Lee los litros de un pedido e indica'); WriteLn ('las garrafas de 15 y de 6 litros necesarias') ; WriteLn ; Write ('Nº de litros del pedido: ') ; Readln (iLitros) ;

iGarrafas := iLitros DIV 15 ; iResto   := iLitros MOD 15 ;

WriteLn ; WriteLn('Se necesitan ', iGarrafas:3, ' de 15 litros');

iGarrafas := iResto  DIV 6 ; iResto    := iResto  MOD 6 ;

WriteLn('            ', iGarrafas :3, ' de  6 litros'); WriteLn ; WriteLn ('No se pueden servir: ', iResto, ' Litros') ; END. code

> **Se sirven solo garrafas llenas y no llenas (el menor número de garrafas grandes posible). Puede ser que se tenga que servir una cantidad de litros algo superior a los pedidos.**

code format="pascal" PROGRAM Garrafas_2 ;VAR iLitros, iGarrafas_15, iGarrafas_6, iResto : Integer ; BEGIN Writeln ('Lee los litros de un pedido y luego indica') ; WriteLn ('las garrafas de 15 y de 6 litros necesarias'); WriteLn ; Write ('Nº de litros del pedido: ') ; Readln (iLitros) ;

iGarrafas_15 := iLitros DIV 15 ; iResto      := iLitros MOD 15 ;

iGarrafas_6 := iResto DIV 6 ; iResto      := iResto MOD 6 ;

IF iResto <> 0 THEN iGarrafas_6 := iGarrafas_6 + 1 ;

WriteLn ; WriteLn ('Se necesitan ', iGarrafas_15:3, ' de 15 L.'); WriteLn ('            ', iGarrafas_6 :3, ' de  6 L.') ; END. { Fin de Garraf_2.PAS } code