Files
Gusek_MoGya/sajat_gyakorlasok/mikulasbuntetessel.mod
2024-10-30 15:18:31 +01:00

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;