P__5_E16

=__**Leer una cantidad de dinero en euros y desglosarla en billetes y monedas**__=

code format="pascal" PROGRAM Condic_5 ; VAR rEuros, rCentimos : Real ; iCantidad, iRestoCantidad, iUnidadesCompletas : Integer ; BEGIN Writeln ; Write ('Escribe una cantidad de euros con centimos: ') ; Readln (rEuros) ;

iCantidad := Trunc (rEuros) ; rCentimos := Frac (rEuros) ;

Writeln ; Writeln ('Los ', rEuros:0:2, ' Euros se pueden desglosar en: ') ; Writeln ;

iUnidadesCompletas := iCantidad DIV 500 ; iRestoCantidad    := iCantidad MOD 500 ;

Writeln ('  Billetes ') ;

Writeln ('           de 500 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 200 ; iRestoCantidad    := iRestoCantidad MOD 200 ;

Writeln ('           de 200 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 100 ; iRestoCantidad    := iRestoCantidad MOD 100 ;

Writeln ('           de 100 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 50 ; iRestoCantidad    := iRestoCantidad MOD 50 ;

Writeln ('           de  50 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 20 ; iRestoCantidad    := iRestoCantidad MOD 20 ;

Writeln ('           de  20 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 10 ; iRestoCantidad    := iRestoCantidad MOD 10 ;

Writeln ('           de  10 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 5 ; iRestoCantidad    := iRestoCantidad MOD 5 ;

Writeln ('           de   5 Euros: ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 2 ;

Writeln ; Writeln ('  Monedas ') ;

Writeln ('           de   2 Euros   : ',iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad MOD 2 ;

Writeln ('           de   1 Euro    : ',iUnidadesCompletas:2) ;

iCantidad := Round (rCentimos * 100) ;

iUnidadesCompletas := iCantidad DIV 50 ; iRestoCantidad    := iCantidad MOD 50 ;

Writeln ('           de  50 centimos: ', iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 10 ; iRestoCantidad    := iRestoCantidad MOD 10 ;

Writeln ('           de  10 centimos: ', iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 5 ; iRestoCantidad    := iRestoCantidad MOD 5 ;

Writeln ('           de   5 centimos: ', iUnidadesCompletas:2) ;

iUnidadesCompletas := iRestoCantidad DIV 2 ; iRestoCantidad    := iRestoCantidad MOD 2 ;

Writeln ('           de   2 centimos: ', iUnidadesCompletas:2) ;

iUnidadesCompletas    := iRestoCantidad MOD 2 ;

Writeln ('           de   1 centimo : ', iUnidadesCompletas:2) ;

Writeln ; Readln ; END. code