Podając wyrażenie w postaci ciągu, należy rozwiązać x. Najwyższa potęga x w wyrażeniu będzie równa 1. Operatory dozwolone to +, * i -. Są to wszystkie operatory binarne. Tak więc 2x byłoby napisane jako 2 * x. Po każdym operatorze następuje pojedynczy termin lub stała.Algorytm - rozwiązywanie równania liniowego w jednej zmiennej
Na przykład, należy rozważyć następujące równanie:
2 * x + 5- (4 * X-7 + (4-2)) = 10 * X-9
ten jest w pełni uzasadniona równanie. Wyrażenia w formularzu 1 * 2 * 3 są nieprawidłowe, ale 1 * (2 * 3) jest ważny.
Biorąc pod uwagę takie równanie, musimy znaleźć rozwiązanie x. Jeśli równanie jest nieprawidłowe, program powinien wyświetlić komunikat o błędzie.
Czy ktoś może dać pojęcie o tym, jak rozwiązać ten problem? Jedyne, co przychodzi mi teraz na myśl, to analiza leksykalna i parsowanie przy użyciu gramatyk bezkontekstowych. Ale mam wrażenie, że jest o wiele łatwiejsze rozwiązanie. Czy ktoś może rzucić na to trochę światła?
analizowaniem brzmi jak właściwa droga, jako pierwszy krok. – Xymostech
Dlaczego zamknąć to pytanie? Podobne pytania zadano kilkakrotnie w SO, ale żadna z nich nie została całkowicie odebrana. A to absolutnie związane jest z programowaniem i chętnie znam dobre odpowiedzi na to :( –