Strona 1 z 1
Zespolone dla początkujących
: 18 lis 2011 23:34
autor: DjCyc
Witam! Chciałbym stworzyć prosty kalkulator liczb zespolonych.
Budowa poszczególnych funkcji jest prosta więc dałem rade bez problemu, potem chciałem to złożyć w całość i dowiedziałem się że nadaje się do tego maszyna stanów i wszystko było by miło jakby nie to że ja totalnie nie wiem jak to działa. Szukałem manuali do tego ale w większości materiały zawierały problemy znacznie bardziej skomplikowane a ja raczej jestem osobnikiem który uczy się małymi kroczkami.
Jeśli komuś by się chciało na to spojrzeć, uruchomić, a nawet spróbować mi objaśnić jak to zrobić to byłbym wdzięczny.
PS. Jeśli już ktoś zechce się podjąć tłumaczenia to niech ma na względzie to ze jestem mocno początkującym i chciałbym wiedzieć gdzie czego szukać(co i gdzie kliknąć/wpisać) żeby dana rzecz się pojawiła.
Re: Zespolone dla początkujących
: 19 lis 2011 20:14
autor: smiga
Zacznę od tego, że witam na forum.
Maszyna stanów świetnie się sprawdza, gdy program wykonuje pewne kroki, które są ze sobą powiązane w sposób logiczny i przyczynowo-skutkowy.
Np. chcemy wypłacić kasę z bankomatu. Wkładamy kartę, wpisujemy pin, wybieramy kwotę ... itd.
W twoim kalkulatorze nie ma związku między operacją dodawania, mnożenia itp. Oczywiście można na siłę zrobić z tego maszynę stanów bo masz znak równości, czyli po wciśnięciu "+" kolejnym krokiem będzie wciśnięcie "=" ... wszystko da się zrobić, tylko czy to jest najlepsze rozwiązanie?
Jeżeli cały program opiera się głównie na komunikacji użytkownik-komputer, czyli większość zależy od tego co kliknie użytkownik, to lepiej sprawdzi się Event Structure (więcej tu:
http://www.kmeif.pwr.wroc.pl/wwwroot-km ... events.htm ).
Zerknij na poniższy kod:
Re: Zespolone dla początkujących
: 19 lis 2011 21:36
autor: DjCyc
Właśnie brałem pod uwagę Event Structure ale niestety nie miałem działającego programu z użyciem ES, a maszynę stanów udało mi się
przerysować i odpalić na zajęciach w katedrze z której pochodzi link i wiem że może działać

Teraz muszę tylko zgapić i przeanalizować owo rozwiązanie.
Wielkie dzięki! Już się bałem że nikogo to nie zainteresuje bo wszyscy znajomi którzy mieli bądź maja kontakt z tym sposobem programowania unikają tematu jak ognia. Jeszcze raz Dziękuję!
A na forum pojawiał będę się na pewno bo nie chcę się rozstać z LV po semestrze i trójce w indeksie.
Re: Zespolone dla początkujących
: 19 lis 2011 23:29
autor: smiga
Trójka ... dlaczego nie 5?
Jeżeli chcesz poćwiczyć maszynę stanów to zerknij na taki kod:
Dla treningu dodaj mnożenie i dzielenie.
Gwoli wyjaśnienia rejestry (strzałka po prawej do góry, po lewej na dół) służą do przechowywania danych i przekazywania ich w kolejnych iteracjach pętli. Jeżeli usuniesz rejestry podłączone do kontrolek z wynikami (pomarańczowe) program pokaże wynik tylko na ułamek sekundy po wciśnięciu klawisza.
Re: Zespolone dla początkujących
: 20 lis 2011 02:53
autor: DjCyc
Jeszcze raz dzięki!
A dla wszystkich którzy wpadną na pomysł testowania bądź używania tego programu do liczenia zespolonych to zastrzegam że na razie pokazuje bzdury dla mnożenia i dzielenia. W funkcji mnożenia powinno być przy I=R1*I2+R2*I1 a jest I=R1*I2+R2*I2 a w dzieleniu jako mianownik ma być oczywiście suma a nie różnica.
Jak złoże resztę opcji to wrzucę finalną wersje, miejmy nadzieje wkrótce
