Pascal POMOC

Programovacie jazyky, rady, poradňa...
Kalinko
Amateur
Amateur
Príspevky: 14
Registrovaný: 25 nov 2009, 16:27

Pascal POMOC

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

Takze potrebujem pomoc...
Som zaciatocnik z pascalom a potreboval by som poradit s touto ulohou...
NEmam o tom ani sajnu....Pascal je moj nepriatel :D
Takze ak by sa nasla nejak spriaznena dusa a pozrela sa nato...



Na pílu priniesli lesní robotníci kmeň stromu o určitej dĺžke. Úloha pracovníka píly je narezať kmeň stromu na kusy určitých dĺžok tak, aby nezostal žiadny odpad. Pracovník píly môže vykonať iba určitý počet rezov.

Úloha 1: Vypočítajte programom a zobrazte na obrazovke všetky možnosti (kombinácie), na aké kusy (a ich počet) je možné narezať kmeň stromu.

Úloha 2: Vypočítajte programom a zobrazte na obrazovke "najziskovejšiu" možnosť (alebo možnosti), ako pracovník píly môže narezať kmeň stromu, pričom najcennejšie sú iba najdlhšie kusy kmeňa.

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

Celková dĺžka kmeňa stromu: 270 cm

Max. počet, na koľko kusov je možné narezať kmeň: 5 (technologické obmedzenie)

Počet rôznych dĺžok kusov: 5

Jednotlivé dĺžky kusov: 70 cm, 60 cm, 50 cm, 30 cm, 20 cm


NO A TU JE NEJAKE VZOROVE RIESENIE AKO BY TO MALO VYZERAT ->

Program PILA, zadanie c. 65, riesitel: Kalinay Matej
Dlzka kmena: 270 cm, maximalne narezanych 5 kusov.
Kus c. 1: 70 cm.
Kus c. 2: 60 cm.
Kus c. 3: 50 cm.
Kus c. 4: 30 cm.
Kus c. 5: 20 cm.

Moznost c. 1: 0x, 2x, 3x, 0x, 0x
Moznost c. 2: 0x, 4x, 0x, 1x, 0x
Moznost c. 3: 1x, 0x, 4x, 0x, 0x
Moznost c. 4: 1x, 2x, 1x, 1x, 0x
Moznost c. 5: 1x, 3x, 0x, 0x, 1x
Moznost c. 6: 2x, 0x, 2x, 1x, 0x
Moznost c. 7: 2x, 1x, 1x, 0x, 1x
Moznost c. 8: 3x, 0x, 0x, 2x, 0x
Moznost c. 9: 3x, 1x, 0x, 0x, 0x

Celkovy pocet moznosti: 9
Najviac najdlhsich kusov: 3
Najcennejsie moznosti: 8., 9.


Poznámka: Riešenie (0x, 2x, 3x, 0x, 0x) znamená získanie: 0-krát kus č. 1, 2-krát kus č. 2 (2 x 60 cm = 120 cm), 3-krát kus č. 3 (3 x 50 cm = 150 cm), 0-krát kus č. 4 a 0-krát kus č. 5.
Celkove teda 270 cm.

D A K U J E M
bUDEM vAM VELMI VDACNI
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

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

mal by si tam k tomu odstavcu dopisat nech rovno píšu k Uloham a zadaniam aj finančne ohodnotenie za vypracovanie celej ulohy :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

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

Ty chces furt len peniaze. Ked chces zarabat, tak chod pracovat do nejakej firmy! Ludia tu do teraz chodili kvoli tomu, ze potrebuju s niecim pomoct. A zatial v drvivej VACSINE pripadov sa nasiel niekto kto RAD pomohol. S tym novym pravidlom suhlasim, pretoze naozaj sa nikomu nechce robit cuzdie domace ulohy(Teda iste by sa tu nasel niekto, kto by to aj celkom rad urobil) Samozrejme ak doda nejaky kod a nevie dalej, poradime. Ty ale s tou penaznou odmenou nabadas na sposob, ako toto pravidlo v podstate obist. Aj ked ti ponukne 100€ za takuto kravinu, tak mu predsa len vyriesis domacu ulohu. A tak aj cez to tretie pravidlo dostane co chce. Kludne sa teda moze do pravidiel napisat, ze "nepomahame zadarmo, ak chcete pomoc, nasporte si na nu" :roll:
A na druhu stranu, to pravidlo sa nemusi chapat len tak, ze nechceme robit domace ulohy (audio by to iste napisal kludne z hlavy). Da sa chapat aj tak, ze sa ludia maju aspon posnazit a tak predist dalsim temam s jednoduchymi prikladmi. Som si isty, ze zakladatel temy to urobi aj sam, pripadne s nejakou MENSOU dopomocou.

<alebo som sprosty ja>
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

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

ALE ked niekto začne pisat : Nemam ani sajnu a Pascal je moj nepriatel :!:
a potom ti tu drbne presne cele zadanie ktore mozno ani neprečital ako mu ho prefak zadal ,tak je to na zamyslenie ..
len sranda ze na začiatku roka tu nik ani len nepááááááááchne že chce s niečim pomoct ale akurat ku koncu roka ked treba zbierat body a horí ludom pod zadkami ze hovienko robili celý rok, tak si myslia že tu napišu,pojdu na pivo, vratia sa a skopčia kod čo tu niekto napisal a maju veget !!!!
Pomožem ked viem prečo nie tak tak zato nik nič nechce ale "Kde nič nieje ani smrt neberie!!" ide oto,že to ich nič nerobenie ad začiatku niečo bude aj stat na konci a začnu makat 8)

ako ja sa tiež moc pitam ked si nieviem s niečim dat rady ale aj tak sa snažim a stale hladat a skušam.Učite som tu ešte nikoho v živote nepital vypracovat cele zadanie. Len tolko. :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

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

No dobre, tak by si si mohol penaznu odmenu vybavovat cez sukromne spravy :) Tento topic ocividne nesplna pravidla, takze do nho nie je co pisat. (Teda nehladiac na tento spam, ktory som zacal) :)
Kalinko
Amateur
Amateur
Príspevky: 14
Registrovaný: 25 nov 2009, 16:27

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

ok... som skusal ze ci nahooodou...ale asi nic z toho nebude....neva
..a mimochodom z pascalom som v ,,kontakte,, asi mesiac :wink: ...
takze dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

tak keď sa tu už začalo rozoberať to pravidlo: možno ste si všimli že za to nedávame žiadne tresty. Nie je to ani tak pravidlo, ako rady pre tých čo zakladajú témy v programovaní. Dúfal som, že sa tak predíte takýmto a duplicitným témam, no očividne nie. Keď nemám čas poradiť, tak ignorujem, keď mám tak pomôžem aj s úlohou (aj keď veľmi nerád). Teraz čas nemám, ale kolegovci môžu ^ :)
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

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

audiotrack napísal:tak keď sa tu už začalo rozoberať to pravidlo: možno ste si všimli že za to nedávame žiadne tresty. Nie je to ani tak pravidlo, ako rady pre tých čo zakladajú témy v programovaní. Dúfal som, že sa tak predíte takýmto a duplicitným témam, no očividne nie. Keď nemám čas poradiť, tak ignorujem, keď mám tak pomôžem aj s úlohou (aj keď veľmi nerád). Teraz čas nemám, ale kolegovci môžu ^ :)
ja som natom nastejno :( roboty vyše hlavy a tiez mam problemy zo svojou semestralkou ..no skor vylepšenim semestralky :) ale tak to už je ina tema ..možno neskor aj toto tu skusim kuknut
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

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

TGiJack napísal:ja som natom nastejno :( roboty vyše hlavy a tiez mam problemy zo svojou semestralkou ..no skor vylepšenim semestralky :) ale tak to už je ina tema ..možno neskor aj toto tu skusim kuknut
Len mi povedzte aky algoritmus pouzit. Styl "problem batohu" asi nie i ked v niecom by sa hodil. Neviem totiz prist teraz hned na to, ako to optimalizovat na tie ziadne zvysky bez toho, aby som prechadzal vsetky moznosti. Poradte a ja sa na to kuknem uz hlbsie (predsa som uz zo skoly prec a tieto veci uz akosi vypadli) ;-)
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Príspevok od používateľa c-ice »

Gregi napísal:Len mi povedzte aky algoritmus pouzit. Styl "problem batohu" asi nie i ked v niecom by sa hodil. Neviem totiz prist teraz hned na to, ako to optimalizovat na tie ziadne zvysky bez toho, aby som prechadzal vsetky moznosti. Poradte a ja sa na to kuknem uz hlbsie (predsa som uz zo skoly prec a tieto veci uz akosi vypadli) ;-)
Ja by som to robil metodou "pokus omyl" (moje oblubene) počítáču nerobí problém otestovat 5! kombináci a vylúčit snich všetky ,ktoré mi nedaju moju dlžku a na usporiadanie by som použíl niečo čo vyplýva zo zadania váhovy systém najdlhší kus najväčšia váha .. sčítam váhu a ten čo ma najviac je ta najsprávnejšia volba ... plus porobit ošetrenia ak sa tam ta dlžka bude zadávat a zadá sa taká ktorá sa nedá poskladat z možnosti a v znikne odpad niečo čo nam to bude zaokruhlovat najprv ak sa aj tak nenajde dlžka tak potom bude odpočítavat alebo to už ako vymysliš aby si sa dostal k požadovanej dlžke a mal najmenší odpad
Kalinko
Amateur
Amateur
Príspevky: 14
Registrovaný: 25 nov 2009, 16:27

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

:shock: :shock: tu sa naozaj o tom diskutuje??? a ja ze som v pecku :shock: :oops: :) ..... dnes som sa tomu venoval... ale neviem dojst na ten system...skusal som to tak ci onak, a nic :? ...
Laam
Novice
Novice
Príspevky: 2
Registrovaný: 26 nov 2009, 20:43

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

Kalinko napísal:ok... som skusal ze ci nahooodou...ale asi nic z toho nebude....neva
..a mimochodom z pascalom som v ,,kontakte,, asi mesiac :wink: ...
takze dakujem
ucm :D ex, alebo int ?
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

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

c-ice napísal:Ja by som to robil metodou "pokus omyl" (moje oblubene) počítáču nerobí problém otestovat 5! kombináci a vylúčit snich všetky ,ktoré mi nedaju moju dlžku a na usporiadanie by som použíl niečo čo vyplýva zo zadania váhovy systém najdlhší kus najväčšia váha .. sčítam váhu a ten čo ma najviac je ta najsprávnejšia volba ... plus porobit ošetrenia ak sa tam ta dlžka bude zadávat a zadá sa taká ktorá sa nedá poskladat z možnosti a v znikne odpad niečo čo nam to bude zaokruhlovat najprv ak sa aj tak nenajde dlžka tak potom bude odpočítavat alebo to už ako vymysliš aby si sa dostal k požadovanej dlžke a mal najmenší odpad
No, zajtra sa na to pozriem a urobim to teda brutal force metodou. Triedenie samozrejme jedno zo znamych. Mohol by ktosi poradit s algebrou, alebo analyzou z vysokej skoly. Tam to tusim bolo, no ja uz som z toho peknych par rokov von.
Media-Tech
Novice
Novice
Príspevky: 2
Registrovaný: 29 sep 2006, 23:08

Príspevok od používateľa Media-Tech »

V prvom rade zdravim kolegu z UCM, vidim, ze Horal dava tazke zadania, poradim len pouzit celociselnie delenie, t.j. DIV, aj ked moznosti je viac, ale toto je asi naj volba, problem je to uz len potom osetrit na ten pocet rezov, tomu som sa zatial nevenoval, nestiham, mno ked nieco budem mat, tak poradim, cau
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Príspevok od používateľa c-ice »

Media-Tech napísal:V prvom rade zdravim kolegu z UCM, vidim, ze Horal dava tazke zadania, poradim len pouzit celociselnie delenie, t.j. DIV, aj ked moznosti je viac, ale toto je asi naj volba, problem je to uz len potom osetrit na ten pocet rezov, tomu som sa zatial nevenoval, nestiham, mno ked nieco budem mat, tak poradim, cau
UCM ? čo za školu predpokladam nejaka stredna ? alebo nejaka kvázi základná ? toto podla mna vôbec nevyzerá byt ťažke zadanie ak chceš tak ti ho sem spravim v Bashi alebo v C-shelli alebo v C
Kalinko
Amateur
Amateur
Príspevky: 14
Registrovaný: 25 nov 2009, 16:27

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

No vidim ze UCMkary sa pomaly ale iste ohlasuju :D... No aby som to upresnil, UCM - Univerzita sv. Cyrila a Metoda :wink: .....
Tak teda ked myslis ze je to jednoduche tak nech sa paci....kluuudne to ozes spravit,ja sa nenahnevam :) ...budem vdaacny.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Príspevok od používateľa c-ice »

Kalinko napísal:No vidim ze UCMkary sa pomaly ale iste ohlasuju :D... No aby som to upresnil, UCM - Univerzita sv. Cyrila a Metoda :wink: .....
Tak teda ked myslis ze je to jednoduche tak nech sa paci....kluuudne to ozes spravit,ja sa nenahnevam :) ...budem vdaacny.
BTW. Bash mám mesiac takže asi porovnatelne dlho ako ty pascal a podla mna o to vôbec nejde ide o to vediet napisat algoritmus...
nie je to uplne ono ani to nieje velmi podla toho čo som myslel tou metodou pokus omyl lebo ked som to začal pisat tak to vyzeralo šialene a zbytočne komplikovane.... nechcelo sa mi to a nemam na to čas v Bashi sa o čosi horišie robi s aritmetikou aspon mne... toto ti najde to najoptimalnejšie riešenie ako nakrajat kladu

Kód: Vybrať všetko

#!/bin/bash
#Kus c. 1: 70 cm.
#Kus c. 2: 60 cm.
#Kus c. 3: 50 cm.
#Kus c. 4: 30 cm.
#Kus c. 5: 20 cm. 
pole_dlzok=(70 60 50 30 20)
pouzite_dlzky=(0 0 0 0 0)
echo -e "tak zacneme zadaj dlzku klady ktoru chces napilit na male klady: \c"
read klada
if [ $klada -gt 350 ];then
	echo "mas moc velku kladu nalozenu"
elif [ $klada -gt 20 ];then
# osetrim to na zaokruhlenie # Bash automaticky zaokruhluje pri deleni na cele cislo
	klada=$(( 10 * $(($klada / 10))))
######################################
	kolko_nam_ostava=$klada
	uz_som_nasiel=0
	for i in 0 1 2 3 4;do
		nieco=0
		vysledok=0
		if [ $uz_som_nasiel -eq 0 ];then
			while [ $vysledok -lt $kolko_nam_ostava ];do
				nieco=$(( $nieco + 1 ))
				vysledok=$(( $nieco * ${pole_dlzok[$i]} ))
				if [ $vysledok -eq $kolko_nam_ostava ];then
					nieco=$(( $nieco + 1 ))
				fi
			done
			pouzite_dlzky[$i]=$(( $nieco - 1 ))
			if [ $(( $kolko_nam_ostava - ${pouzite_dlzky[$i]} * ${pole_dlzok[$i]} )) -ne 0 ];then
				if [ $(( $kolko_nam_ostava - ${pouzite_dlzky[$i]} * ${pole_dlzok[$i]} )) -lt ${pole_dlzok[4]} ];then
					nieco=1
					pouzite_dlzky[$i]=$(( $nieco - 1 ))
				else
					kolko_nam_ostava=$(( $kolko_nam_ostava - ${pouzite_dlzky[$i]} * ${pole_dlzok[$i]} ))
				fi
			else
				echo -n "najvyhodnejsia moznost: "
				for m in 0 1 2 3 4;do
					echo -n "${pouzite_dlzky[$m]}x "
				done
				echo ""
				uz_som_nasiel=1
			fi
		fi
	done
else
	echo "mas malu kladu musis nechat narazt"
fi
Ak to budeš chciet vidiet komplet v Bashi tak až v Nedelu alebo Pondelok lebo musim dokončit semestralku z Databazovych Systemov ...
Kalinko
Amateur
Amateur
Príspevky: 14
Registrovaný: 25 nov 2009, 16:27

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

jak na to pozeram tak Bashi je este vacsi humus ako pascal :D ...
ale dik :wink:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

Kalinko napísal:jak na to pozeram tak Bashi je este vacsi humus ako pascal :D ...
ale dik :wink:
na príklady podobného typu áno, nakoľko bash slúži primárne na niečo iné
Zamknuté