Kezdőoldal » Számítástechnika » Programozás » Veremautomata számolása?

Veremautomata számolása?

Figyelt kérdés

Sziasztok.


Sajnos lesz egy vizsgám és benne lesz egy két számolási feladat.

Az utolsó előtti órán mikor vettük sajnos orvosi kezelés miatt hiányoztam, az utolsó órán pedig mikor egy feladat erejéig átnéztük nem igazán értettem hogy ez most hogy.


[link]


Valaki megtudná csinálni ezek közül bármelyiket és részletesen leírni hogy hogyan kellett kiszámolni? Sajnos kiguglizva se találtam semmi értékelhető számolási segédletet.


2017. jún. 5. 12:03
 1/5 anonim ***** válasza:
17%
Nem tudjuk megcsinálni és ne kamuzz. Azt ne mondd már, hogy 1 órai anyag volt ez az egész és nincs se dia, se jegyzet senkinek.
2017. jún. 5. 12:46
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
9%
Amúgy ezt egy ovodás is kiszámolja, ha nagycsoportos, akkor talán implementálja is. A veremautomatákról meg még magyarul is találsz egy rakat leírást, jegyzetet.
2017. jún. 5. 12:51
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

tényleg egy órai anyag volt. van róla dia ez igaz. de így: [link]


ebből nem tudom kinézni. évfolyamtársaimmal meg nem igazán vagyok beszélgető viszonyban. köszönöm nekik és ennyi.

2017. jún. 5. 13:14
 4/5 anonim ***** válasza:

A verem egy LI-FO stack. A LI-FO azt jelenti, hogy Last In, first Out, tehát mindig az utoljára belehelyezett adatot lehet kivenni belőle. Amit pl. utolsó-előttiként tettél bele, ahhoz csak úgy férhetsz hozzá, ha az utolsó elemet kiveszed. Ha vermelsz egy ilyen adat-sort mint

9,6,7,2,1 akkor kivételnél ez így néz majd ki, hogy

1,2,7,6,9 (A feladatod is ezért ír fordított sorrendet.)

Az utoljára behelyezett elem pozicióját a verem-mutató (stack pointer) jelzi, de ennek csak implementálás esetén van jelentősége.

Két művelet játszik, a push és a pop. Előbbivel belehelyezel a verembe egy adatot, utóbbival meg kiveszed onnan.

A többi már gondolom menni fog.

2017. jún. 5. 14:56
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

"de ha a mintafeladatban lévő sorozatot nézem akkor ezt látom: 453-345*/+-/" "és azokkal az operátorokkal mit kell csinálni?"


Számolni kell velük. Nézzük az elejéről az első példasort ("453-345*/+-/"):


4, megy a verembe,

5, megy a verembe,

3, megy a verembe,

majd jön a "-" (kivonás) ami nem szám, hanem művelet. Az automatád szabályai szerint az első és a második operandust a veremből veszi ki az automata, tehát:

A művelet ugye kivonás, aminek az operandusait a veremből húzod ki, majd az eredményt oda teszed vissza. Ez így fog kinézni lépésenként az elejéről:


0. Stack állapota: [.][.][.][.][.][.]

1. Stack állapota: [4][.][.][.][.][.]

2. Stack állapota: [4][5][.][.][.][.]

3. Stack állapota: [4][5][3][.][.][.]


itt jön a kivonás művelete: Stackból kivenni a legutolsó elemet, ez ugye a "3", majd a következőt, ami esetedben "5".


Ekkor a megváltozott tartalmú stack így néz majd ki:


Stack állapota: [4][.][.][.][.][.]


Mivel művelet ("-") érkezett a bemeneten, így nem pusholni kell azt, hanem elvégezni a műveletet (kivonás) és annak eredményét behelyezni a stack-be.


Stack állapota a művelet eredményével: [4][-3][.][.][.][.] (tehát, minusz három, ha nem lenne tiszta).


A köv. lépés, mivel szám jön, megint a push lesz, ráadásul háromszor egymás után:


A stack állapota a három lépés után így fog

[4][-3][3][4][5][.] alakulni és innen már csak pop(kivétel) és matematikai műveleteket kell végezni sorban. Esetedben (szorozni, osztani, összeadni, kivonni, osztani) majd az eredményt mindig a stackbe push-olni.

Természetesen minden matematikai művelet előtt a stack-ből ki kell venni az operandusokat, hogy legyen is mivel elvégezni a műveletet!


P.s:

Máskor ne írj privátot, mert válasz nélkül fogom hagyni.

2017. jún. 6. 03:24
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!