40 lines
1.7 KiB
Modula-2
40 lines
1.7 KiB
Modula-2
#Mikulás csomagok összeállítása:
|
|
#A Mikulás csomag tartalma a következő legyen - csoki, narancs, mogyoró, virgács, kindertojás és gumicukor
|
|
#Összetevő csomagok amiből választhatok -
|
|
#Az 1. csomag ára 5 pénzegység - narancsot és mogyorót tartalmaz.
|
|
#A 2. csomag ára 10 pénzegység - gumicukor, mogyoró, csoki
|
|
#A 3. csomag ára 3 pénzegység - gumicukor, kinder, virgács
|
|
#A 4. csomag ára 4 pénzegység - narancs, kinder, csoki
|
|
#A 5. csomag ára 6 pénzegység - csoki, virgács
|
|
#Milyen csomagokat vegyünk az általunk összeállított Mikulás csomaghoz, úgy hogy minél kevesebb költségünkbe kerüljön?
|
|
|
|
#Az előző feladat kiegészítése-
|
|
#Ha valamiből felesleg marad, azért büntetés jár.
|
|
#A csokiért 2 pénzegység a büntetés. A narancs 3, a mogyoró 1, virgács 4, kindertojás 5 és a gumicukor 6 pénzegység büntetést von maga után. Milyen csomagokat vegyünk a Mikulás csomagunk összeállításához, ha minimálisan szeretnénk költekezni és minimális büntetést szeretnénk kapni a végén.
|
|
|
|
|
|
var csomag1 binary;
|
|
var csomag2 binary;
|
|
var csomag3 binary;
|
|
var csomag4 binary;
|
|
var csomag5 binary;
|
|
|
|
var plusszcsoki >= 0 integer;
|
|
var plussznarancs >= 0 integer;
|
|
var plusszmogyoro >= 0 integer;
|
|
var plusszvirgacs >= 0 integer;
|
|
var plusszkinder >= 0 integer;
|
|
var plusszgumi >= 0 integer;
|
|
|
|
s.t. csoki: csomag2 + csomag4 + csomag5 - plusszcsoki = 1;
|
|
s.t. narancs: csomag1 + csomag4 - plussznarancs = 1;
|
|
s.t. mogyoro: csomag1 + csomag2 - plusszmogyoro = 1;
|
|
s.t. virgacs: csomag3 + csomag5 - plusszvirgacs = 1;
|
|
s.t. kinder: csomag3 + csomag4 - plusszkinder = 1;
|
|
s.t. gumi: csomag2 + csomag3 - plusszgumi = 1;
|
|
|
|
minimize koltseg: csomag1 * 5 + csomag2 * 10 + csomag3 * 3 + csomag4 * 4 + csomag5 * 6 +
|
|
plusszcsoki * 2 + plussznarancs * 3 + plusszmogyoro * 1 + plusszvirgacs * 4 + plusszkinder * 5 + plusszgumi * 6;
|
|
|
|
end;
|