diff --git a/sk2/README.md b/sk2/README.md new file mode 100644 index 0000000..f10e1ac --- /dev/null +++ b/sk2/README.md @@ -0,0 +1,41 @@ +# Domáca skúška - Opravný termín - Kalkulačka + +Naprogramuj vedeckú kalkulačku. Kalkulačka by mala 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. + + +## Strucny popis funkčnosti + +1. isOperator +Nastavenie indexu vrcholu na -1 (prázdny zásobník). + +1. precedence +Funkcia vracia prioritu operátora. + +1. applyOperator +Funkcia vykoná matematickú operáciu na dvoch operandoch podľa zadaného operátora. + +1. Výpočet výrazu (evaluateExpression) +Hlavná funkcia programu, ktorá vyhodnocuje matematický výraz odovzdaný ako reťazec. + +1. Konfigurácia operátorov a funkcií (evaluateExpression) +Funkcia prijíma konfiguračný argument, ktorý definuje podporované operátory a funkcie: + +Konfigurácia 1: Podporované sú len základné aritmetické operácie. +Konfigurácia 2: Podporované sú aj ďalšie matematické funkcie (sínus, kosínus, logaritmy, odmocniny). + + +## Strucny popis riešenia + +Tento kód je jednoduchá kalkulačka schopná počítať matematické výrazy zapísané v infixovej notácii. Podporuje základné aritmetické operácie (+, -, *, /), mocniny (^), trigonometrické funkcie (sin, cos), logaritmy (log, log10) a odmocniny (sqrt). Kód implementuje zásobník na ukladanie operandov a operátorov, ako aj funkcie na inicializáciu zásobníka, pridávanie a odstraňovanie prvkov zo zásobníka. Kód tiež rieši prípady chýb, ako je delenie nulou, záporné argumenty pre niektoré funkcie a neplatné znaky vo výraze. Používateľ môže zadať konfiguráciu na zapnutie alebo vypnutie podpory určitých operácií a funkcií. + + +## Podmienky za ktorých funguje + + +