# Vedecká kalkulačka (Scientific Calculator) ## Popis projektu Tento projekt implementuje jednoduchú vedeckú kalkulačku v jazyku C. Kalkulačka spracováva matematické výrazy zapísané v **infixnej notácii** a vyhodnocuje ich pomocou **rekurzívneho syntaktického analyzátora**. Program podporuje základné aritmetické operácie, zátvorky a vybrané matematické funkcie zo štandardnej knižnice jazyka C. ## Podporované operácie - práca s reálnymi číslami (`double`) s presnosťou minimálne **2 desatinné miesta** - sčítanie (`+`) - odčítanie (`-`) - násobenie (`*`) - delenie (`/`) - zátvorky (`(`, `)`) - goniometrické funkcie: - `sin(x)` - `cos(x)` - odmocnina: - `sqrt(x)` - druhá mocnina (a všeobecná mocnina): - `pow(x, y)` (druhá mocnina sa vypočíta ako `pow(x, 2)`) - logaritmus: - `log(x)` (prirodzený logaritmus) ## Spôsob riešenia Vyhodnocovanie výrazov je realizované **bez použitia zásobníkov**. Použitý je **rekurzívny zostupný parser**, ktorý rešpektuje prioritu operátorov: - výrazy (`+`, `-`) - termy (`*`, `/`) - faktory (čísla, zátvorky, funkcie) Tento prístup umožňuje prirodzené spracovanie infixnej notácie a zátvoriek. ## Kompilácia Projekt sa kompiluje pomocou nástroja `make`. V adresári projektu spusti: make. ## Priklady použitia 1) Zadaj vyraz: (2 + 3) * 2 10.00; 2) Zadaj vyraz: (10 * 2) + (6 / 2) 23.00; 3) Zadaj vyraz: pow(2, 3) + sqrt(16) 12.00;