Käyttöympäristö tekstin ja numeerisen tiedon luovaan käsittelyyn

SURVO MM
Etusivu  |  Keskustelu  |  Uutuudet  |  Download  |  Flash

Seppo Mustonen: Survo ja minä

Pientä laskentaa

Näytteeksi Survon editoriaalisen laskennan yleisestä luonteesta sopinevat seuraavat esimerkit.

  37  1 SURVO 84C EDITOR Mon Jun 24 19:53:03 1996          C:\KIRJA\  40 100 0
   1 *
   2 *Kolmion pinta-alan laskeminen:
   3 *Olkoon kolmion sivujen pituudet a, b ja c. Tällöin kolmion pinta-ala on
   4 *    Ala=sqrt(p*(p-a)*(p-b)*(p-c))   (ns. Heronin kaava)
   5 *missä
   6 *    p=(a+b+c)/2
   7 *on siis kolmion piirin puolikas.
   8 *
   9 *Olkoon a=3, b=4 ja c=6. Tällöin Ala=  
  10 *

Kyseessä on asetelma, jollaista Survossa sanotaan laskentakaavioksi. Tässä kerrotaan sangen vapaamuotoisesti mutta kaavojen osalta tarkasti, miten kolmion pinta-ala lasketaan. Kun siis aktivoin ESC-napilla rivin 9 juuri merkin = perästä, toimituskenttään ilmestyy välittömästi tulos

  37  1 SURVO 84C EDITOR Mon Jun 24 19:53:03 1996          C:\KIRJA\  40 100 0
   1 *
   2 *Kolmion pinta-alan laskeminen:
   3 *Olkoon kolmion sivujen pituudet a, b ja c. Tällöin kolmion pinta-ala on
   4 *    Ala=sqrt(p*(p-a)*(p-b)*(p-c))   (ns. Heronin kaava)
   5 *missä
   6 *    p=(a+b+c)/2
   7 *on siis kolmion piirin puolikas.
   8 *
   9 *Olkoon a=3, b=4 ja c=6. Tällöin Ala=5.3326822519254
  10 *

mistä sopii jatkaa vaikka poistamalla turhat desimaalit tai aktivoimalla uudelleen toisilla lähtöarvoilla. On erityisesti pantava merkille, ettei Survolla ole etukäteen mitään ohjelmaa tai muuta tietoa kolmion pinta-alan laskemiseksi. Nuo tiedot saadaan juuri riveiltä 4 ja 6 löytyvistä merkinnöistä. Survo toimii tässä eräänlaisena agenttina, joka omatoimisesti hakee tarvittavat tiedot ja suorittaa tehtävän niiden mukaisesti.

Toisena näytteenä ajateltakoon lainanottajaa, joka tulee maksamaan lainansa takaisin kuukausittain tasaerinä. Seuraavassa kaaviossa näytetään, miten lainanottaja voi tarkastella kuukausimaksun muodostumista eri laina-ajoilla ja korkoprosenteilla. Kaaviossa määritellään ensin oma kkmaksu-funktio Survon kirjastofunktion FIN.PMT avulla ja sitten on tehty muutamia koelaskelmia.

  19  1 SURVO 84C EDITOR Mon Jun 24 19:58:22 1996          C:\KIRJA\  40 100 0
  11 *                                                            ACCURACY=2
  12 *Lainan koron ja lyhennyksen suuruus kuukausittain lasketaan
  13 *funktiolla
  14 *    kkmaksu(s,p,n):=FIN.PMT(s,p/12,12*n)
  15 *missä
  16 *    s on lainan määrä,
  17 *    p vuotuinen korkoprosentti ja
  18 *    n lainaaika vuosina.
  19 *
  20 *Siis esim. kun s=450000,
  21 *kkmaksu(s,8,10)=5460
  22 *kkmaksu(s,8,15)=4300
  23 *kkmaksu(s,7.5,15)=4172
  24 *

Kannattaa tehdä vertailuja. Jokainen voi tutkiskella, miten muissa ympäristöissä lausekkeita lasketaan. Kysynpä, montako painallusta tarvitset, että saat suosikkiteksturissasi koneen aidosti laskemaan, mitä on 2+2 ja vieläpä kirjoittamaan tuloksen 4 niin, että se on heti käytettävissä ja muokattavissa? Survossa noita painalluksia, kuten edellä kuvasin, tarvitaan 5 (eli 2 + 2 = ESC). Näistäkin 3 (eli 2 + 2) liittyy itse lausekkeen kuvaamiseen ja vain 2 (eli = ESC) itse toimituksen aktivointiin.

Joku saattaa ihmetellä, onko edellisen kaltaisten, pienten toimintojen tehokkaalla suorittamisella mitään olennaista merkitystä todellista tietoa käsiteltäessä. Vastaan, että onpa vain! Survon kaltaisessa yhdennetyssä järjestelmässä kaikki toiminnot rakentuvat hierarkkisesti eli laajemmat toimenpiteet ovat monien pienten peräkkäistä yhdistelyä. Se, mitä pienissä asioissa voitetaan, kertautuu laajemmissa yhteyksissä.

Survon suunnittelussa ja kehittelyssä on ollut keskeistä miettiä jokaisessa tilanteessa, eikö kyseistä työvaihetta voisi tehdä vielä yksinkertaisemmin (esim. pienemmällä määrällä kirjoittamista ja erikoisnäppäinten painalluksia). Jos vastaus on myöntävä, on pyritty löytämään se yksinkertaisempi tapa.

Tämänkaltaisessa tehokkuusajattelussa piilee vaara, että työskentely muuttuu kikkailuksi, joka edellyttää mitä konstikkaimpien näppäinyhdistelyjen muistamista. Survossa tämä vaara on vältetty eri tavoin. Ensinnäkin, Survon käyttäjä tulee toimeen varsin pienellä määrällä näppäintoimintoja, jotka ovat joko yhden tai kahden näppäimen takana. Toiseksi, Survon oma voimakas makrokieli tekee helpoksi toimintojen automatisoinnin käyttäjän haluamalle asteelle. Kolmanneksi, Survon kehittyneet työpöytätoiminnot mahdollistavat "yhden kosketuksen pelin" siirryttäessä työvaiheesta toiseen tai sovelluksesta toiseen. Kaikki tämä tietää, ettei käyttäjän tarvitse olla mikään muistihirviö eikä pikakirjoittaja hallitakseen töitään.


Pientä laskentaa on ensimmäinen luku kirjasta Survo ja minä (Seppo Mustonen 1996). Sisällöstä kertoo tarkemmin kirjan tuoteseloste .

Etusivu  |  Keskustelu  |  Uutuudet  |  Download  |  Flash
Copyright © Survo Systems 2001-2008. All rights reserved.
Updated 2008-10-20 by webmaster'at'survo.fi.
Best viewed with any browser.