Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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|}}
  
sda-aa/laboratoare/05.1616959641.txt.gz · Last modified: 2021/03/28 22:27 by cristian.rusu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0