radosroka / IVS-calculator

IVS second project
GNU General Public License v3.0
0 stars 0 forks source link

Library #1

Open mochja opened 7 years ago

mochja commented 7 years ago

Mozeme nejak rozviest napady na API kniznice, resp. jej design

Možnosti:

  1. stack based
  2. A x B -> C

Z toho ako sa spravaju aktualne kalkulacky mi pride rozumne spravit tu kniznicu na zaklade stacku. Teda "mini VM".

Fungovalo by to zhruba takto:

stack = []

push(stack, 1) # stlacil som 1 na kalkulacke
push(stack, 3) # stlacil som 3 na kalkulacke
display()      # vrati 13
push(stack, +) # stlacil som operaciu +
push(stack, 1) # stlacil som 1 na kalkulacke
display()      # vrati 1
exec()         # stlacil som =, prevedie stack na vysledok
display()      # vrati 14

Skusal som to nakodit a bolo by to mozne, bude potreba este akosi osetrit zaporne cisla. Teda rozlist - od zaporneho cisla a - ako operacie.

Je taktiez potreba pocitat s tym ze stack bude len pre cisla a operacia bude mat akysi slot, napr. ako teraz.

Este je otazka, ze na ktorej vrstve budeme nieco take praktikovat.

tomassykora commented 7 years ago

Mna napadlo spravit to konecnym automatom. Tam by sa asi dali v pohode osetrit vsetky situacie. Ale to je len taky napad, neviem nakolko by sa vam to pozdavalo.

mcyprian commented 7 years ago

Konecny automat sa mi zda zbytocne komplikovany ak necheme riesit rozsirenie na zatvorky a spravit si z toho male IFJ. Stack vyzera zaujimavo ale bude to naozaj nevyhnutne riesit takto? nemozme jednoducho cisla vkladat na display a zobrat cely jeho obsah ako "13" pri stlaceni operacie? Stale sa drzim nazoru ze sa nepohneme kym nebudeme mat aspon naznak kodu GUI.

mochja commented 7 years ago

Je to vec na zamyslenie,

GUI mozes spravit tak, ze bud bude uplne hlupe a vola len funkcie z kniznice, teda bude v nom minimum logiky, alebo tieto veci budu implementovane v GUI. Teda state aplikacie by bol bud v GUI alebo v kniznici, alebo niekde inde. Mierim tym na to, ze podla popisu ulohy, je potreba vytvorit matematciku kniznicu, teda nie kniznicu specificku pre kalkulacku. Z mojho pohladu by ta kniznica nemala exportovat kalkulacku, ale len matematicke metody, ktore ta kalkulacka bude pouzivat.

Cize ak to zhrniem:

On Apr 4, 2017, at 4:14 PM, Michal Cyprian notifications@github.com wrote:

Konecny automat sa mi zda zbytocne komplikovany ak necheme riesit rozsirenie na zatvorky a spravit si z toho male IFJ. Stack vyzera zaujimavo ale bude to naozaj nevyhnutne riesit takto? nemozme jednoducho cisla vkladat na display a zobrat cely jeho obsah ako "13" pri stlaceni operacie? Stale sa drzim nazoru ze sa nepohneme kym nebudeme mat aspon naznak kodu GUI.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/radosroka/IVS-calculator/issues/1#issuecomment-291513000, or mute the thread https://github.com/notifications/unsubscribe-auth/ABKZgoIaONZhSwZ08fKeQ9pRRrNSqkBKks5rslAygaJpZM4MyHdW.