Cviceni Navrh Algoritmu I

Prevody mezi infixem a postfixem

Vyhodnoceni aritmetickeho vyrazu v postfixu

      Aritmeticke vyrazy lze zapisovat ve trech ruznych matematickych notacich:

      Prvni dve notace se v matematickych vyrazech pouzivaji, treti (postfixova) se beznou nestala, i kdyz je z nekolika hledisek vyhodnejsi. Hlavni vyhodou je, ze prefixova notace nevyzaduje zavorky, ani konvence o priorite operatoru a jednoduse se vyhodnocuje. Priorita operatoru je totiz zrejma ze zapisu, ve vyse uvedenem vyrazu nasobeni ma prioritu pred scitanim, proto X*2+Y zapiseme jako X 2 * Y +. Kdyby scitani melo prioritu pred nasobenim, byl by odpovidajici zapis v postfixu X 2 Y * +.

      Pro prevod mezi infixem a postfixem se pouziva zasobnik. Pri prevodu z infixu do postfixu ukladame do zasobniku operatory, pri opacnem prevodu operandy. Algoritmy vypadaji nasledovne:

Algoritmus infix->postfix:

Algoritmus postfix->infix:
Vyhodnoceni aritmetickeho vyrazu v postfixu: