Wpis z mikrobloga

zaczynam pisać konsolowy kalkulator w języku #java bo trzeba kiedyś te 15k zarabiać
tak wiem niektórych boli od samej nazwy 'java', ale nie mnie
co do zamierzonych funkcjonalności, chciałbym, żeby ten kalkulator nie był taki głupi typu
podaj liczbe: 1
podaj liczbe: 2
podaj działanie: +
gratulacje, wyszło 3

ale chciałbym, żeby był inteligentny i podawało się 1 + 2
oczywiście bez nawiasów i tylko jedno działanie naraz, bo to już byłoby za trudne
no i działania to myśle że + - * / to taki dobry cel jak na początek

może macie jakieś porady co tam zrobić

chciałbym też przy okazji nauczyć się systemu kontroli wersji, np. gita, więc założyłem sobie repozytorium pod tym adresem:
https://github.com/slucham-psa-jak-gra/Kalkulator

możecie wchodzić i patrzyć, ale dopiero zaczynam i tam jeszcze nic nie ma, przez najbliższe dni postaram sie na bierząco wrzucać

tworze nowy tag jakby ktoś był zainteresowany #robiekalkulator

#programowanie #naukaprogramowania
  • 11
  • Odpowiedz
@slucham-psa-jak-gra: koleddzy podaja odwrotna notacje polska
fajne jak chcesz jak w nowszych kalkulatorach z calym rownaniem

jak pisales ze chcesz tylko bez nawiasow i 1 dzialanie na raz to spokojnie wystarcza ci 2 zmienne jako argumenty do wybranej funkcji ktora zwroci wynik i wynik sie doda do okienka tekstowego

ale zabawa z notacja polska itp ci tez nie zaszkodzi a wystarczy sie pobawic ze stosem itp i pocwiczysz za 1
  • Odpowiedz
@slucham-psa-jak-gra: Można łatwo stworzyć gramatykę bezkontekstową do opisu działań matematycznych, z gramatyki łatwo podać rekurencyjne funkcje parsujące (Recursive descent) za pomocą których wygenerujesz sobie AST a potem obliczysz to :) Mogę coś więcej o tym napisać.
Plus jest taki, że łatwo można nawiasy implementować, napis 4 4 traktować jako mnożenie
  • Odpowiedz