program v pascale

Programovacie jazyky, rady, poradňa...
D4K4P0
Novice
Novice
Príspevky: 4
Registrovaný: 04 dec 2007, 14:07
Kontaktovať používateľa:

program v pascale

Príspevok od používateľa D4K4P0 »

mohli by ste mi pomoct vyriest tento problem?

Všeobecné zadanie

Vinár má k dispozícii sud vína. Obsah tohto suda chce bezozbytku rozliať do ďalších súdkov tak, aby súdok bol buď naplnený doplna, alebo aby nebol použitý vôbec. Vinár môže mať k dispozícii viac súdkov toho istého objemu.

Úloha 1: Vypočítajte programom a zobrazte na obrazovke všetky možné riešenia (kombinácie), ako je možné pôvodný objem sudu bezozbytku rozliať do ďalších súdkov.

Úloha 2: Vypočítajte programom a zobrazte na obrazovke optimálne riešenie (alebo riešenia), v ktorom (ktorých) je použitých najmenší počet súdkov.

Poznámka: Riešenie musí zobraziť výstup na obrazovke spôsobom, ako je ukázané nižšie. Nemeňte svojvoľne výstup programu, sťažujete tým kontrolu správnych výsledkov.

Konkrétne zadanie

Počet litrov vína k dispozícií: 24

Počet rôznych druhov sudov: 3

Jednotlivé sudy k dispozícii: 7x 4-litrový sud , 4x 8-litrový sud , 2x 12-litrový sud

Vzorové riešenie

Program SUDY

Celkovy objem vina: 24 litrov
1. typ sudku - objem: 4 L, pocet sudkov: 7
2. typ sudku - objem: 8 L, pocet sudkov: 4
3. typ sudku - objem: 12 L, pocet sudkov: 2

Riesenie c. 1: (0, 0, 2)
Riesenie c. 2: (0, 3, 0)
Riesenie c. 3: (1, 1, 1)
Riesenie c. 4: (2, 2, 0)
Riesenie c. 5: (3, 0, 1)
Riesenie c. 6: (4, 1, 0)
Riesenie c. 7: (6, 0, 0)

Celkovy pocet rieseni: 7
Optimalny pocet sudkov: 2
Optimalne riesenia: 1.



Poznámka: Riešenie (0, 0, 2) znamená použitie 0 súdkov s veľkosťou 4 litrov, 0 súdkov s veľkosťou 8 litrov a 2 súdkov s veľkosťou 12 litrov.
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

cykly cykly vsetkych moznosti. jak obvykle....no co uz sa to asi nezmeni

Kód: Vybrať všetko

uses crt;
var a,b,c:byte;
    opt,kolke,ries,cele:word;
begin
opt:=7*4*2;
ries:=0;
cele:=24;
clrscr;
for a:=0 to 7 do
for b:=0 to 4 do
for c:=0 to 2 do
if(a*4+b*8+c*12=cele) then begin
inc(ries);
if(opt>a+b+c) then begin
opt:=a+b+c;kolke:=ries;
                   end;

writeln('Riesenie c. ',ries,': (',a,',',b,',',c,')');
                           end;
writeln('---------vysledky---------');
writeln('Celkovy pocet rieseni: ',ries);
writeln('Optimalny pocet sudkov: ',opt);
writeln('Optimalne riesenie: ',kolke,'.');

end.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Program ti urobí hocikto, ale dvojstránkovú dokumentáciu ti pravdepodobne neurobí nikto. ;)

juho: správnych výsledkov môže byť aj viac
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

chrono napísal:juho: správnych výsledkov môže byť aj viac
kolko este? mozes vysvetlit preco?
tymi spravnymi vysledkami myslis optimalne riesenia ?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Áno, myslel som optimálne riešenia. Napr. číslo 45 môžeš mať ako 15+15+15 alebo 17+17+11. Čiže to ukladanie optimálnych hodnôt musíš vyriešiť inak (jedna premenná nestačí). ;)
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

oj nato som nemyslel, ale pozri sa na zadanie nie je tam 15 11 17 ale .... . a cez premenne sa hentake nieco robi tazko. akurat string alebo pole.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pri tých vstupných parametroch bude iba jedno optimálne riešenie, ale vo výpise sa ráta s tým, že ich môže byť viac (optimálne parametre), takže by to tak asi malo byť aj naprogramované.
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

tak ako by si to potom spravil_?
ano je to pravda no sice sa rata aj s viacerymi rieseniami ale rata sa s nimi len v zatvorke
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Presne ako si písal. Buď by som použil reťazec, alebo pole.
D4K4P0
Novice
Novice
Príspevky: 4
Registrovaný: 04 dec 2007, 14:07
Kontaktovať používateľa:

Príspevok od používateľa D4K4P0 »

takze to co si napisal nie je spravne?
inac dik ze si sa aspon snazil vazim si to
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

D4K4P0 napísal:takze to co si napisal nie je spravne?
inac dik ze si sa aspon snazil vazim si to
ale co by nebolo je to spravne len tu mame debatu ze keby bolo upne ine zadanie, cize ine vahy a ina cielova hmotnost, tak by sa mohlo stat ze bude viac "optimalnych rieseni" co pri tomto nebude ale keby tak by sa to muselo osetrit. a teda o poliach tam v tvojom nic nepisu ani o dalsich a ten priklad je urceny na jedno takze nevidim problem.
a o vine uz ani debaty
D4K4P0
Novice
Novice
Príspevky: 4
Registrovaný: 04 dec 2007, 14:07
Kontaktovať používateľa:

Príspevok od používateľa D4K4P0 »

hehe ok dik moc welmi si mi pomohol :wink:
Diestro
Expert
Expert
Používateľov profilový obrázok
Príspevky: 181
Registrovaný: 29 jan 2006, 12:35

Príspevok od používateľa Diestro »

D4K4P0, prvak na UCM, co. By si nemal takto riesit semestralku :wink:
keny8899
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 31
Registrovaný: 24 okt 2005, 19:23
Bydlisko: TT
Kontaktovať používateľa:

Príspevok od používateľa keny8899 »

ja som ju robil podstivo sam :D:D:D aj dokumentaciu :P toto ma nenapadlo :D ale nemam s tym problem nastastie :D

:arrow: UCM rulezz :D
D4K4P0
Novice
Novice
Príspevky: 4
Registrovaný: 04 dec 2007, 14:07
Kontaktovať používateľa:

Príspevok od používateľa D4K4P0 »

Diestro napísal:D4K4P0, prvak na UCM, co. By si nemal takto riesit semestralku :wink:
no mas pravdu chodim na UCM len to programovanie mi nejako nejde :?
Diestro
Expert
Expert
Používateľov profilový obrázok
Príspevky: 181
Registrovaný: 29 jan 2006, 12:35

Príspevok od používateľa Diestro »

D4K4P0 napísal:no mas pravdu chodim na UCM len to programovanie mi nejako nejde :?
hehehe, v pohode, ani mne neslo a uz tam nechodim :lol:
Napísať odpoveď