Onhan tää tietenkin tehty vähän minimienergiaperiaatteella l. hätäsesti sutasten, ja ohjelma on vähän vaiheessa, mutten nyt vähään aikaan viitsi koodata sitä loppuun.
Mielenkiintoista ja todella toimiva ratkaisu. Funktiolaskutila on kätevä ja nopea käyttää, mutta vaatii todellakin aloittelijan käyttöohjeen. Siiten kun funktilaskutilan toiminnan tajuaa, niin laskenta sujuu kuin tanssi. Pari toivomusta kuitenkin. Saisiko jostain tingittyä yhden toiminnon kursori ylös valikosta, että saisi erotettua C ja C-all toiminnot? Nyt jos tulee kaksi virhettä peräkkäin ja koittaa korjata, niin menee helposti vahingossa kaikki pesuveden mukana.
Jeps, kyllä taitaa varsin helposti hukata kaiken laskennan. Huomasit kuitenkin varmaankin, että voit poistaa yhden kerrallaan s.e. ylös, c/all, ylös, c/all, ylös, c/all, kun taas ylös, c/all, c/all tuhoaa kaiken. Vähän monimutkaista, mutta en ole jaksanut miettiä parempaa ratkaisua.
Entä saako mitenkään toteuteuksi muistipaikkoja, ja tallennusta puhelimen muistiin?
Muistipaikkoja on laskimessa 3+2+1. Tosin valitettavasti ne nollautuu, kun ohjelman sammuttaa. Ainakin pitäisi nollautua. En jaksanut koodata loppuun aloittamaani MyStore.java-luokkaa. Sen lisäksi tarvitaan vähän muutakin toiminnallisuutta, jotta tallentuisi kännykän pysyväismuistiin.
Mutta siis käyttömuistiin tallennetut muuttujat ovat X,Y,Z, jotka voivat tallentaa arvon. Lisäksi on f(x), g(x), jotka voivat tallentaa yhden muuttujan funktion käyttömuistiin. Lisäksi on f(x,y), johon voi tallentaa kahden muuttujan funktion käyttömuistiin. Tallennus tapahtuu funktiomoodissa oikelle ja valitsemalla
attrb. Sen jälkeen voikin valita mihinkä tallentaa esim. stofX,stofXY, stogX, stoX, stoY, stoZ
Esimerkki tarvittavista näppäilyistä:
alas, 5, oikealle, attrb, stoX
Esimerkki muistin käytöstä (Tyhjennä ensin näyttö laskutoimituksista):
alas, 5, ylös, +, oikealle, attrb, X, ylös, ^,alas, 3, fire (eli ohjaimen keskimmäinen)
Silloin pitäisi tulla 130, mikäli olit aikaisemmin tallentanut X:ään viitosen.
Esimerkki funktion käytöstä.
alas, 3, ylös, x, vasemmalle, sin, oikealle, attrb, X, stofX, oikealle, mode
Pitäisi piirtää sinin kuvaajan. Valitettavasti kuvaajan rajoja ei voida asettaa (ainakaan vielä) mihinkään muuhun.
Olisiko tästä mahdollista tehdä RPN versiota?
Tästä on kyllä mahdollista tehdä RPN versio, mutta vaatisi aika rankkoja muutoksia ohjelmaan, että olisi ehkä helpompi koodata lähes kokonaan uusiksi, kuin ruveta tästä pukaamaan RPN-versiota.
Siis tosiaan laskujärjestys luodaan tässä mallissa puuhun, eikä pinoon, siksi RPN-version tästä suoraan tekemällä ei tule kysymykseen. (siis sellainen, jossa olisi molemmat laskentatavat).
RPN-versiossa joutuisi tekemään uudestaan CalcTreeNode.java-luokan.
Edelleenkään minulle ei valjennut 'purge stat' ja 'stat on/off' toimntojen tarkoitus. Mitä niillä tehdään?
purge stat- laittaa laskimen tilasto-tilaan s.e. nollaa tilastomuuttujat.
stat on/off - siirtyy normaalin laskentatilan ja tilastotilan välillä ilman, että nollaa tilastomuuttujia.
http://peran.kapsi.fi/calc/photos/img_0561.jpgKuvan esimerkissä on laitettu kolme numeroa datoihin, Summa 0n 5608, keskiarvo on 1869.333..., otoskeskihajonta on 811.92446...
Dataan voi lisätä numeron )/del - näppäimellä tai valikon toiminnolla - roikkuen kännykästä. Millään ei voi poistaa arvoja. Muuta kuin tyhjentämällä purge stat-valikon toiminnolla kaikki arvot.
Siis tänne otin muutaman kuvan laskimen toiminnoista.
http://peran.kapsi.fi/calc/photos/