This shows you the differences between two versions of the page.
|
sda-aa:laboratoare:05 [2021/03/28 22:27] cristian.rusu [4. Exerciții] |
sda-aa:laboratoare:05 [2021/03/29 12:00] (current) cristian.rusu |
||
|---|---|---|---|
| Line 168: | Line 168: | ||
| Scrieți un program care folosește arbori pentru a evalua expresii matematice cu cifre. | Scrieți un program care folosește arbori pentru a evalua expresii matematice cu cifre. | ||
| - | Să considerăm o expresie matematică: 2 + 4*5 + 1*2*3. | + | Să considerăm o expresie matematică: 2+4*5+1*2*3. |
| Pentru a crea un arbore de parsare avem nevoie să folosim următoarele structuri: | Pentru a crea un arbore de parsare avem nevoie să folosim următoarele structuri: | ||
| Line 187: | Line 187: | ||
| Algoritmul presupune: | Algoritmul presupune: | ||
| - | |||
| * Se parcurge expresia,termen cu termen (un termen poate fi operator sau operand) | * Se parcurge expresia,termen cu termen (un termen poate fi operator sau operand) | ||
| * Dacă termenul curent este operand aceasta se adaugă in stivă rezultat și se trece la termenul urmator | * Dacă termenul curent este operand aceasta se adaugă in stivă rezultat și se trece la termenul urmator | ||
| Line 201: | Line 200: | ||
| * Se verifică condițiile de la ! (se compară din nou același operator curent cu operatorul din vârful stivei). | * Se verifică condițiile de la ! (se compară din nou același operator curent cu operatorul din vârful stivei). | ||
| - | {{:sda-aa:laboratoare:ast_stiva.jpg?500|}} | + | Construiți arborele asociat expresiei. |
| + | |||
| + | {{:sda-aa:laboratoare:ast_stiva.jpg?800|}} | ||