usaa24/sk2/README.md

46 lines
1.5 KiB
Markdown
Raw Normal View History

2025-01-31 18:14:04 +00:00
Zadanie
Naprogramuj vedeckú kalkulačku, ktorá bude vyhodnocovať aj zložitejšie výrazy v infixnej notácii.
Kalkulačka by mala podporovať tieto operácie:
Načítanie a prácu s číslami s presnosťou min. 2 desatinné miesta.
Sčítanie, odčítanie, násobenie, delenie, zátvorky.
Sinus, cosinus, odmocnina, druhá mocnina, logaritmus.
Príklad použitia:
(2 + 3) * 2
10
(10 * 2) + (6 / 2)
23
Opis funkčnosti
Program vykonáva vyhodnotenie matematických výrazov zapísaných v infixnej notácii. Pre tento účel prevádza infixovú notáciu na postfixovú a následne vyhodnocuje výraz pomocou algoritmu "zásobníkovej" kalkulačky.
Podporované operácie zahŕňajú aritmetické operácie (+, -, *, /) a vedecké funkcie ako sinus, cosinus, odmocnina, druhá mocnina a logaritmus.
Opis riešenia
Infixový výraz je najprv konvertovaný na postfixovú notáciu.
Postfixový výraz je vyhodnotený pomocou zásobníka.
Matematické operácie sú implementované samostatne pre zabezpečenie presnosti.
Podmienky spustenia
Program beží v prostredí s podporou jazyka C a knižnice math.h.
Na kompiláciu je potrebné použiť príkaz make.
Spustenie programu sa vykoná príkazom ./kalkulacka.
Zoznam použitých zdrojov
Dokumentácia k infixovej a postfixovej notácii: https://en.wikipedia.org/wiki/Shunting-yard_algorithm
Dokumentácia k vedeckým funkciám: https://en.cppreference.com/w/c/numeric/math