• Lenguaje

    Pascal

  • Descripción

    Disponemos de una máquina que puede dar cambio con 5 tipos de monedas distintas: 20, 10, 5, 2 y 1 pesos. Dado el precio del artículo y la cantidad entregada por el consumidor indicar el cambio a entregar empleando el menor número posible de monedas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program CambioDeMonedasDe201052Y1Pesos;
uses crt;

var cambio, cantidad_entregada, monedas_de_1, monedas_de_10, monedas_de_2 : integer;
var monedas_de_20, monedas_de_5, precio_del_articulo : integer;
begin
    write ('Ingresa el valor de cantidad entregada: ');
    readln (cantidad_entregada);
    write ('Ingresa el valor de precio del articulo: ');
    readln (precio_del_articulo);
    cambio := cantidad_entregada-precio_del_articulo;
    monedas_de_1 := cambio;
    monedas_de_20 := (monedas_de_1-monedas_de_1 mod 20) div 20;
    monedas_de_1 := monedas_de_1 mod 20;
    monedas_de_10 := (monedas_de_1-monedas_de_1 mod 10) div 10;
    monedas_de_1 := monedas_de_1 mod 10;
    monedas_de_5 := (monedas_de_1-monedas_de_1 mod 5) div 5;
    monedas_de_1 := monedas_de_1 mod 5;
    monedas_de_2 := (monedas_de_1-monedas_de_1 mod 2) div 2;
    monedas_de_1 := monedas_de_1 mod 2;
    writeln ('Valor de cambio: ', cambio);
    writeln ('Valor de monedas de 1: ', monedas_de_1);
    writeln ('Valor de monedas de 10: ', monedas_de_10);
    writeln ('Valor de monedas de 2: ', monedas_de_2);
    writeln ('Valor de monedas de 20: ', monedas_de_20);
    writeln ('Valor de monedas de 5: ', monedas_de_5);
    writeln;
    write ('Presiona una tecla para terminar . . . ');
    readkey;
end.