Odwrotna Notacja Polska - pytania

Witam!

Wiem, że prawdopodobnie powinno iść na grupę o programowaniu - ale pewnie nie jednen z was próbował napisać kiedyś kalkulator lub coś podobnego - a za to właśnie się biorę - dlatego mam parę pytań:

1) czy to wogóle realne do zaimplementowania na mikroprocesorze dość małym - np 32 kb lub 256 kb pamięci flash?? 2) jak dobrać pryjorytety operatorów (może macie gotową tabelę) - zwłaszcza jak dobrać pryjorytety operatorów typu sinus, cosinus itp 3) jak implementować stos - używać tego wbudowanego czy zbudować własny oparty o zmienne itp

Sorka za lekki OT - ale na grupie programistycznej raczej dostałbym odpowiedzi w stylu gotowy kod C na komputer - a nie za bardzo jeszcze potrafię przekształcać jedno w drugie :)

Pozdrawiam, Igon

Reply to
Igon Skrzypek
Loading thread data ...

Cytat ze strony

formatting link
: Zapis ten pozwala na całkowitą rezygnację z użycia nawiasów w : wyrażeniach, jako że jednoznacznie określa kolejność : wykonywanych działań.

Reply to
Darek

No tak - ale trzeba zdefiniować który operator ma jaki pryjorytet podczas przetwarzania z zapisu algebraicznego na ONP - np jak nada sie dodawaniu większy pryjorytet niż mnożeniu to zostanie wykonane najpierw

- prowadząc do błędnych obliczeń - i teraz dokładnie nie wiem jakimi pryjorytetami opatrzyć np funkcje - tak by można było w nich (za pomocą algebraicznych nawiasów) zagnieżdżać dodatkowe obliczenia np jak nadać pryjorytety by zapis sin(180+5) dawał taki sam wynik jak zapis sin(185)

Reply to
Igon Skrzypek

Litości!

formatting link
[...]

Reply to
RoMan Mandziejewicz

formatting link
wymagana znajomość języka angielskiego.

Reply to
Darek

Igon Skrzypek schrieb:

180 5 + sin 185 sin

w ONP nie ma priorytetów, tylko jest obliczane po kolei. A ile potrzebujesz pamięci i jaki procesor to zależy od funkcji, które chcesz zaimplementować i głębokości stosu. Dodawanie, odejmowanie mnożenie i dzielenie na 3 elementowym stosie da się zaimplementować na Tiny12. Co do implementacji pełnego kalkulatora, to obejrz sobie program dc pod Linuxa ;-)

Waldek

Reply to
Waldemar Krzok

Użytkownik "Waldemar Krzok" snipped-for-privacy@infocity.de napisał w wiadomości news: snipped-for-privacy@mid.uni-berlin.de...

Ale on pyta o przetworzenie z zapsu tradycyjnego na ONP - a tu priorytety są konieczne. Problem z tego co pamietam jest opisany w którymś z klasyków "Algorytmy+struktury danych=programy" Wirth-a albo "Sztuka programowania" Knuth. Skany zapewne są

MaW

Reply to
Mariusz Wolek

Mariusz Wolek schrieb:

skan i drzewo binarne.

Waldek

Reply to
Waldemar Krzok

Spoko ! Algorytm przetworzenia tekstowego zapisu wyrażenia matematycznego do ONP jest prościutki, bardzo logiczny i bardzo jednoznaczny - implementowałem to w swojej pracy mgr 30 lat temu na "maszynie cyfrowej ODRA" !!!. Więc teraz masz sto razy łatwiej - poszukaj tylko materiałów teoretycznych nt. ONP (moje się nie zachowały :-(( ).

Roman

Reply to
Roman

Wielokrotnie za duzo :-) ZX Spectrum mialo 16KB, ZX81 8KB ..

Hm, przy ONP nie masz tego problemu wcale.

Raczej ci sie nie uda wbudowanego. On do wywolan programu [assemblerowego] sluzy.

J.

Reply to
J.F.

eee .. jakie skany ? To jest gramatyka ktorejs tam klasy, da sie na biezaco z niewielkim stosem.

Czytac przyklady do yacc/bison :-)

J.

Reply to
J.F.

Tylko dla zachowania prawdy historycznej :-) - ZX81 miał 1 KB; więcej (do 64KB) dokładane w zewnętrznych modułach.

Reply to
Artur Stachura

A, to się zgadza; odruchowo pomyślałem o pamięci "do zagospodarowania przez użytkownika".

Reply to
Artur Stachura

W 256KB ROM powinien zmieścić się analizator leksykalny i składniowy flex/bison a wtedy problem analizy wyrażeń matematycznych jest trywialny.

Reply to
tbird

tbird napisał:

A gdyby tak jeszcze wirtualną maszynę Javy dorzucić w kolejnych megabajtach... Ośmiobitowe komputery miały basic mieszczący się w 4KB (nawet istnieje pojęcie 4K-BASIC), podobnie było w pececie. A ja miałem kalkulator z początku lat '70, jeszcze taki przed-komercyjny, tamte kalkulatory nie były produktem masowym i tanim. On miał Odwrotną Notację Polską, sześć cyfr znaczących i stały przecinek. Właśnie ze względu na łatwośc implementacji w szczupłych zasobach. Ja nie wiem co miał w środku zamontowany w nim układ (był w wąskiej obudowie DIL), ale nie sądzę, by wielkość jego pamięci wyrażona była w K(ilo).

Reply to
Jarosław Sokołowski

Użytkownik "Igon Skrzypek" snipped-for-privacy@gmail.com.reszta.to.smiec> napisał w wiadomości news:fm1538$gu4$ snipped-for-privacy@matrix2.idg.com.pl...

Z ciekawości:komu to dziś potrzebne ? Sztuka dla sztuki ? Takie kalkulatory miały rację bytu ćwierć wieku temu, a te z ONP były dla nielicznych zawziętych chętnych. Mikroprocesory wówczas były na początku rozwoju. Domowe komputery ośmiobitowe z BASICiem robiły to doskonale. Dzisiejszy mikrokontroler dla dzieci, hobbystów, siakiś ATMega czy PIC18 leje "dziadków". Arkuszowi kalkulacyjnemu w PCcie , czy nawet kalkulatorowi z wyposażenia WIndows to nie dorównuje. Pełnowartościowy programowalny kalkulator inżynierski CASIO kosztuje znikome pieniądze.

Reply to
lwh

Myślę, że sie mylisz. Dla wprawnej osoby RPN to możliwość liczenia sporo szybszego a co najważniejsze obarczonego mniejszym ryzykiem pomyłki. I wcale tu nie pomogą programowalne super kalkulatory bo mam na myśli proste obliczenia ale takie które na zwykłych kalkulatorach zmuszają do używania na przykład wielopoziomowych nawiasów które bardzo łatwo się pisze na kartce ale bardzo trudno wprowadza z pamięci do kalkulatora. RPN odpowiada myślowej logice obliczeń i jest nieoceniona "w terenie" tam gdzie prowadzi sie obliczenia wprost na kalkulatorze nie zapisując ich wcześniej na kartce. Osobiście kalkulatora ze zwykłą notacją używam wyłącznie do sumowania kolumn liczb bądź operacji na dwóch liczbach. Kiedy potrzebuję policzyć cokolwiek bardziej skomplikowanego od razu sięgam po maszynkę z RPN w postaci emulatora na palmtopie.

Reply to
Padre_peper

eee .. jak juz sa napisane na kartce, to latwo sie wprowadza.

Nad co bardziej skomplikowanym zadaniem trzeba jednak pomyslec.

Eee - nie lepiej excela ?

P.S. troche o kalkulatorach HP, ale juz dosc zaawansowanych

formatting link
symulator, firmware ... 8K niecale
formatting link
J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.