Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

racunanje aritmetickih izraza u POST/PRE-FIX-u (objasnjenje gradiva)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
petrich
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2005. (22:23:35)
Postovi: (F6)16
Spol: žensko
Sarma = la pohva - posuda
18 = 20 - 2

PostPostano: 6:17 sub, 8. 7. 2006    Naslov: racunanje aritmetickih izraza u POST/PRE-FIX-u Citirajte i odgovorite

zanima me, kad racunamo aritmeticki izraz pomocu stoga...
da li citamo izraz s lijeva na desno ili obrnuto? da li to mozda ovisi o tome da li mi je operand na pocetku izraza (lijevo) ili na kraju? :grebgreb:
na vjezbama kod asistenta Lopatica smo racunali s lijeva na desno, i za takav nacin je dan algoritam koji ne kaze sto radimo ako nam je na pocetku operator :shock: (a na takve primjere sam naisla na proslim rokovima).
algoritam:
[code:1]
1. citamo postfix izraz s lijeva na daesno
2. kad susretnemo operand stavljamo ga na stog
3. kad susretnemo operator skidamo sa stoga onoliko operanada koliko taj operator trazi
4. obavljamo operaciju i rezultat vracamo na stog[/code:1]

zadatak sa zadnjeg roka: ABCD///EF+*GH-*
nije mi jasno kako skidamo operande sa stoga, jer na vjezbama smo napravili primjer koji je na stogu imao npr. AB i onda je dosao /, pa smo skinuli A i B sa stoga i napravili -> A/B. :shock: ja sam shvatila da sa stoga uzimamo operand po operand, te bi na taj nacin imali-> B/A. :-k
zanima me, kad racunamo aritmeticki izraz pomocu stoga...
da li citamo izraz s lijeva na desno ili obrnuto? da li to mozda ovisi o tome da li mi je operand na pocetku izraza (lijevo) ili na kraju? Kotacici rade 100 na sat
na vjezbama kod asistenta Lopatica smo racunali s lijeva na desno, i za takav nacin je dan algoritam koji ne kaze sto radimo ako nam je na pocetku operator Shocked (a na takve primjere sam naisla na proslim rokovima).
algoritam:
Kod:

1. citamo postfix izraz s lijeva na daesno
2. kad susretnemo operand stavljamo ga na stog
3. kad susretnemo operator skidamo sa stoga onoliko operanada koliko taj operator trazi
4. obavljamo operaciju i rezultat vracamo na stog


zadatak sa zadnjeg roka: ABCD///EF+*GH-*
nije mi jasno kako skidamo operande sa stoga, jer na vjezbama smo napravili primjer koji je na stogu imao npr. AB i onda je dosao /, pa smo skinuli A i B sa stoga i napravili → A/B. Shocked ja sam shvatila da sa stoga uzimamo operand po operand, te bi na taj nacin imali→ B/A. Think




Zadnja promjena: petrich; 11:09 sub, 8. 7. 2006; ukupno mijenjano 2 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 10:00 sub, 8. 7. 2006    Naslov: Re: racunanje aritmetickih izraza u POSTFIX-u Citirajte i odgovorite

[quote="petrich"]da li citamo izraz s lijeva na desno ili obrnuto? da li to mozda ovisi o tome da li mi je operand na pocetku izraza (lijevo) ili na kraju? :grebgreb:[/quote]

Sto bi znacio operand na pocetku [b]postfix[/b] izraza? :-k

[quote="petrich"]na vjezbama kod asistenta Lopatica smo racunali s lijeva na desno, i za takav nacin je dan algoritam koji ne kaze sto radimo ako nam je na pocetku operator :shock: (a na takve primjere sam naisla na proslim rokovima).[/quote]

:idea: Da to nisu bili prefix izrazi? :D

[quote="petrich"]zadatak sa zadnjeg roka: ABCD///EF+*GH-*
nije mi jasno kako skidamo operande sa stoga, jer na vjezbama smo napravili primjer koji je na stogu imao npr. AB i onda je dosao /, pa smo skinuli A i B sa stoga i napravili -> A/B. :shock: ja sam shvatila da sa stoga uzimamo operand po operand, te bi na taj nacin imali-> B/A. :-k[/quote]

Ako je na stogu abcdef, skines zadnja dva (to su f, e) i upotrijebis ih redom kojim su [b]stavljani[/b] (a ne skidani). 8) Dakle, ne [tt]return pop()/pop()[/tt] nego [tt]drugi = pop(); return pop()/drugi;[/tt]. 8)

Pogledaj [url=http://web.math.hr/nastava/c/vjezbe/vjezbe08/49__glavni.c]ovaj primjer[/url] iz [url=http://web.math.hr/nastava/c/vjezbe/vjezbe08/]osmih vjezbi iz C-a[/url]. :)
petrich (napisa):
da li citamo izraz s lijeva na desno ili obrnuto? da li to mozda ovisi o tome da li mi je operand na pocetku izraza (lijevo) ili na kraju? Kotacici rade 100 na sat


Sto bi znacio operand na pocetku postfix izraza? Think

petrich (napisa):
na vjezbama kod asistenta Lopatica smo racunali s lijeva na desno, i za takav nacin je dan algoritam koji ne kaze sto radimo ako nam je na pocetku operator Shocked (a na takve primjere sam naisla na proslim rokovima).


Idea Da to nisu bili prefix izrazi? Very Happy

petrich (napisa):
zadatak sa zadnjeg roka: ABCD///EF+*GH-*
nije mi jasno kako skidamo operande sa stoga, jer na vjezbama smo napravili primjer koji je na stogu imao npr. AB i onda je dosao /, pa smo skinuli A i B sa stoga i napravili → A/B. Shocked ja sam shvatila da sa stoga uzimamo operand po operand, te bi na taj nacin imali→ B/A. Think


Ako je na stogu abcdef, skines zadnja dva (to su f, e) i upotrijebis ih redom kojim su stavljani (a ne skidani). Cool Dakle, ne return pop()/pop() nego drugi = pop(); return pop()/drugi;. Cool

Pogledaj ovaj primjer iz osmih vjezbi iz C-a. Smile



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
petrich
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2005. (22:23:35)
Postovi: (F6)16
Spol: žensko
Sarma = la pohva - posuda
18 = 20 - 2

PostPostano: 10:14 sub, 8. 7. 2006    Naslov: Re: racunanje aritmetickih izraza u POSTFIX-u Citirajte i odgovorite

[quote="vsego"]
:idea: Da to nisu bili prefix izrazi? :D[/quote]
#-o ma da.. prefix... sve mi se pomjesalo i prefix i infix, postorder, inorder,preorder.. to je kad ucim navecer.. :glavobolja:
[quote]
Ako je na stogu abcdef, skines zadnja dva (to su f, e) i upotrijebis ih redom kojim su [b]stavljani[/b] (a ne skidani). 8) Dakle, ne [tt]return pop()/pop()[/tt] nego [tt]drugi = pop(); return pop()/drugi;[/tt]. 8)
[/quote]
ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam [b]prefix[/b] izraz kad ga racunam. :neznam:
vsego (napisa):

Idea Da to nisu bili prefix izrazi? Very Happy

d'oh! ma da.. prefix... sve mi se pomjesalo i prefix i infix, postorder, inorder,preorder.. to je kad ucim navecer.. Boli me glava
Citat:

Ako je na stogu abcdef, skines zadnja dva (to su f, e) i upotrijebis ih redom kojim su stavljani (a ne skidani). Cool Dakle, ne return pop()/pop() nego drugi = pop(); return pop()/drugi;. Cool

ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam prefix izraz kad ga racunam. Ja to stvarno ne znam



_________________
Pcelica Just buzzing by 2 say hi...


Zadnja promjena: petrich; 10:32 sub, 8. 7. 2006; ukupno mijenjano 3 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
rat in a cage
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 11. 2004. (21:45:48)
Postovi: (22C)16
Sarma = la pohva - posuda
13 = 17 - 4
Lokacija: Zg

PostPostano: 10:26 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

[quote="petrich"]
ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam [b]prefix[/b] izraz kad ga racunam. :neznam:[/quote]
ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu
petrich (napisa):

ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam prefix izraz kad ga racunam. Ja to stvarno ne znam

ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu


[Vrh]
Korisnički profil Pošaljite privatnu poruku
petrich
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2005. (22:23:35)
Postovi: (F6)16
Spol: žensko
Sarma = la pohva - posuda
18 = 20 - 2

PostPostano: 10:30 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

[quote="rat in a cage"][quote="petrich"]
ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam [b]prefix[/b] izraz kad ga racunam. :neznam:[/quote]
ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu[/quote]
ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. :roll:
rat in a cage (napisa):
petrich (napisa):

ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam prefix izraz kad ga racunam. Ja to stvarno ne znam

ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu

ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. Rolling Eyes



_________________
Pcelica Just buzzing by 2 say hi...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
rat in a cage
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 11. 2004. (21:45:48)
Postovi: (22C)16
Sarma = la pohva - posuda
13 = 17 - 4
Lokacija: Zg

PostPostano: 10:34 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

[quote="petrich"][quote="rat in a cage"][quote="petrich"]
ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam [b]prefix[/b] izraz kad ga racunam. :neznam:[/quote]
ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu[/quote]
ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. :roll:[/quote]
gle al to ne postoji, nemaš ni u jednom obliku operator prvi, di si to našla?
petrich (napisa):
rat in a cage (napisa):
petrich (napisa):

ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam prefix izraz kad ga racunam. Ja to stvarno ne znam

ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu

ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. Rolling Eyes

gle al to ne postoji, nemaš ni u jednom obliku operator prvi, di si to našla?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
petrich
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2005. (22:23:35)
Postovi: (F6)16
Spol: žensko
Sarma = la pohva - posuda
18 = 20 - 2

PostPostano: 10:38 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

[quote="rat in a cage"][quote="petrich"][quote="rat in a cage"][quote="petrich"]
ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam [b]prefix[/b] izraz kad ga racunam. :neznam:[/quote]
ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu[/quote]
ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. :roll:[/quote]
gle al to ne postoji, nemaš ni u jednom obliku operator prvi, di si to našla?[/quote]

:) hehe reci to asistentici Bosner. :) to je zadatak 2. sa roka 4.7.2001.
rat in a cage (napisa):
petrich (napisa):
rat in a cage (napisa):
petrich (napisa):

ok, to je sad jasno al jos je ostalo pitanje u kojem smjeru citam prefix izraz kad ga racunam. Ja to stvarno ne znam

ne kužim točno kaj pitaš..?
pa s lijeva na desno sve čitaš, za pretvaranje između oblika imaš dijkstrin alg. i nema tu više neke mudrusti
tim algoritmom iz vježbi stavljaš i mičeš sa stoga, i konačni rezultat ti ostane sam na stogu

ok a kaj onda s ovim zadatkom:
**/A/B/CD+EF-GH
znaci prvo je operator * po onom algoritmu ja bih sad sa stoga trebala uzeti 2 operanda sa stoga i pomnozit ih,al ja nemam nis na stogu.. Rolling Eyes

gle al to ne postoji, nemaš ni u jednom obliku operator prvi, di si to našla?


Smile hehe reci to asistentici Bosner. Smile to je zadatak 2. sa roka 4.7.2001.



_________________
Pcelica Just buzzing by 2 say hi...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 10:58 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

Opet mijesate izraze. :ccc:

[tt]**/A/B/CD+EF-GH[/tt] je [b]PRE[/b]fix i normalno je da je operator prvi. :prodike: Racuna se ovako (ne znam formalni algoritam za implementaciju; to valjda morate sami izmisliti):

**/A/B/CD+EF-GH = **/A/B(C/D)(E+F)(G-H) = **/A(B/(C/D))(E+F)(G-H) = **(A/(B/(C/D)))(E+F)(G-H) = *((A/(B/(C/D)))*(E+F))(G-H) = ((A/(B/(C/D)))*(E+F))*(G-H)

Jasno, uz standardni disk-lejmer: [i]ako nisam nista fulao...[/i] O:)

Ovako, na pamet, rekao bih da algoritam ide ovako:
1. citaj s lijeva na desna; procitano stavi u varijablu [tt]p[/tt]
2. ako je [tt]p[/tt] operator, stavi ga na stog
3. ako je [tt]p[/tt] operand i na vrhu stoga [b]nije[/b] operand, stavi [tt]p[/tt] na stog
4. ako je [tt]p[/tt] operand i na vrhu stoga [b]je[/b] operand, skini gornje dvije stvari s vrha stoga (varijabla [tt]v[/tt] i, nakon nje, varijabla [tt]o[/tt] u koju ce, ocito, doci operator (ako je izraz ispravan ;))); izracunaj [tt]x = v o p[/tt]; za [tt]p = x[/tt] izvedi opet korak 3

Nakon citanja, na stogu bi trebao biti jedan operand - rezultat izraza. 8)

Probajte "na ruke", jer sam ovo izmislio iz glave. :blush:
Opet mijesate izraze. Ccc.... Sram te bilo...

**/A/B/CD+EF-GH je PREfix i normalno je da je operator prvi. Drzim prodike Racuna se ovako (ne znam formalni algoritam za implementaciju; to valjda morate sami izmisliti):

**/A/B/CD+EF-GH = **/A/B(C/D)(E+F)(G-H) = **/A(B/(C/D))(E+F)(G-H) = **(A/(B/(C/D)))(E+F)(G-H) = *((A/(B/(C/D)))*(E+F))(G-H) = ((A/(B/(C/D)))*(E+F))*(G-H)

Jasno, uz standardni disk-lejmer: ako nisam nista fulao... Angel

Ovako, na pamet, rekao bih da algoritam ide ovako:
1. citaj s lijeva na desna; procitano stavi u varijablu p
2. ako je p operator, stavi ga na stog
3. ako je p operand i na vrhu stoga nije operand, stavi p na stog
4. ako je p operand i na vrhu stoga je operand, skini gornje dvije stvari s vrha stoga (varijabla v i, nakon nje, varijabla o u koju ce, ocito, doci operator (ako je izraz ispravan Wink)); izracunaj x = v o p; za p = x izvedi opet korak 3

Nakon citanja, na stogu bi trebao biti jedan operand - rezultat izraza. Cool

Probajte "na ruke", jer sam ovo izmislio iz glave. Blush



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
petrich
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2005. (22:23:35)
Postovi: (F6)16
Spol: žensko
Sarma = la pohva - posuda
18 = 20 - 2

PostPostano: 11:07 sub, 8. 7. 2006    Naslov: Citirajte i odgovorite

isprobat cu. hvala.
[quote="vsego"]Opet mijesate izraze. :ccc:
[/quote]
dakle tu je doslo do zabune, meni su se malo pomjesali izrazi i ti si me malo zbunio.
ono s cime sam ja zapocela temu je zbilja bio izrat u postfix obliku, a ono sto me zbunilo je sto gledajuci stare rokove nisam skuzila da su zadaci samo u prefix obliku.
sad kuzim razliku.. hvala jos jednom..
isprobat cu. hvala.
vsego (napisa):
Opet mijesate izraze. Ccc.... Sram te bilo...

dakle tu je doslo do zabune, meni su se malo pomjesali izrazi i ti si me malo zbunio.
ono s cime sam ja zapocela temu je zbilja bio izrat u postfix obliku, a ono sto me zbunilo je sto gledajuci stare rokove nisam skuzila da su zadaci samo u prefix obliku.
sad kuzim razliku.. hvala jos jednom..



_________________
Pcelica Just buzzing by 2 say hi...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
rat in a cage
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 11. 2004. (21:45:48)
Postovi: (22C)16
Sarma = la pohva - posuda
13 = 17 - 4
Lokacija: Zg

PostPostano: 11:50 sub, 8. 7. 2006    Naslov: Re: racunanje aritmetickih izraza u POSTFIX-u Citirajte i odgovorite

da i mene si zbunila :oops:
da i mene si zbunila Embarassed


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan