AtomCalc
Atomcalc is de Acornsoft versie van een spreadsheet. Onderstaande tekst heeft ook in AN gestaan.
Het programma wordt geleverd in een 2532 eprom die in voet IC24 van de Atom kan worden geplaatst. Een spreadsheet kan je beschouwen als een groot kladblok dat in vakjes wordt ingedeeld. Ook wel te vergelijken het met een letterbak die bestaat uit: 62 horizontaal A - BKHet vakje linksboven is A1 en het vakje rechtsonder is dus BK-255. Het beeldscherm is een venster(tje) op dit kladblok waarmee een stukje van dit kladboek is te bekijken.De bovenste 3 regels zijn gereserveerd voor de header. Als je in de direct-mode 'CALC' intikt dan wordt Atomcalc opgestart. Het geheugen wordt nu schoongemaakt en de header verschijnt op het scherm. Om Atomcalc te verlaten moet je op BREAK drukken. Maar als je per ongeluk op BREAK drukt en je hebt de hele middag op een kasboek zitten zwoegen dan zou het goed mis kunnen zijn. Als je dan 'CALC' intoetst dan is je werk verloren. Maar geen paniek tik dan 'CALCR' in en druk dan op LOCK (dus als je weer in Calc zit) en alles is weer zoals het was voordat je op BREAK drukte. Het invoeren van Data:Atomcalc kan drie soorten van invoer aan: Een voorbeeld: Start met een schone lei (dus BREAK en 'CALC'). De cursor staat nu op A1. Tik nu Fred in. In cel A1 komt nu Fred te staan. Op regel 1 in de header verschijnt nu een 'L' (voor label). Had je nu een getal ingevoerd dan had op regel 1 in de header een 'V' gestaan (V voor value, een waarde, een getal of een formule) Een alfanumerieke string (letters, getallen), behalve dan de coordinaten van de cellen en de formules, behandelt Atomcalc als een label. Als de input string niet als een value wordt herkent dan is het een label en kan Atomcalc er niet mee rekenen. We hadden Fred op A1 gezet. Zet de cursor nu op B-1 en type nu Jan in. Op B1 staat nu Jan. Zet de cursor nu op A2 en type 10 in. Op A2 staat nu de waarde 10. Zet de cursor op op B2 en type in (A2+5) en op B2 verschijnt nu 15 en op regel 3 van de header staat nu (A2+5). We kunnen dit voorbeeld beschouwen als een tabel van hoeveel zakgeld Fred en Jan krijgen. Wat de functies allemaal doen staat in Atomic Theory and Practice. Uiteraard zijn ook de gewone wiskundige bewerkingen mogelijk, nl.:
Alle bewerkingen worden uitgevoerd met een nauwkeurigheid van 31 bits, tussen 1E-38 en 1E+38 . Stel je hebt ergens staan SQR(A1) en A1 is negatief dan zal SQR(A1) als een label behandeld worden. Als je toch wilt dat dit als een value behandelt wordt dam moet de er '+' voor zetten. Dus SQR(A-1) wordt dan +SQR(A1) . Als A1 dan nog negatief is dan zal ipv de waarde van SQR(A1) het woord 'ERROR' verschijnen op de plaats van die cel waarin SQR(A1) staat totdat A1 weer positief wordt. Een paar voorbeelden van toegestane formules: Een voorbeeld van FLT en RND : FLT (ABS RND%10) Er verschijnt nu een willekeurig getal tussen 0 en 10 op de plaats waar de cursor staat. Als je op LOCK drukt dan verschijnt het volgende willekeurige getal. /R Copieren van blokken is ook mogelijk: bv. zet de label 'Atomcalc' op A1. Type nu ' /R A1 A1 A1 E255' in. In de header zal voor ongeveer 1 minuut het woord COPYING te zien zijn waarna 'Atomcalc' in alle cellen zal staan tussen A1 en E255. met /R kopieer je dus 1 blok naar een ander blok. Een blok wordt weergegeven met de coordinaat van de linker bovenhoek en die van de rechter onderhoek van dat blok. Als je /R intypt zonder coordinaten dan hoor je een piepje en kan je als nog die coordinaten invoeren. Als je alleen / intypt dan verschijnen de coordinaten van de cel waar de cursor zich bevindt. Het is ook mogelijk om relatief te copieren. Als de gewoon intypt kopieer dit blok naar dat blok dan is dat absoluut copieren. Een voorbeeld: Je wilt A1+1 naar 4 andere cellen copieren, Zet 1 in A1 en A1+1 in A2. Type nu in '/R A2 A2 A3 A6' . Dan volgt de vraag 'A or R?' (Absoluut of Relatief). Als je nu A typt dan gebeurt dit: Maar als je R intypt dan gebeurt het volgende: We kopieerden zojuist A2. A2 bevatte A1+1. Stel dat A-2 (B2+C2) bevatte dan zou Atomcalc 2 keer vragen A or R? , een keer voor B2 en een keer voor C2.
/M Als je veel data moet invoeren dan kan het lastig zijn als Atomcalc steeds weer alles uitrekent als je wat nieuws invoert. Om dit te voorkomen type dan /M (Manual) in. Nu berekent hij niets uit totdat je op LOCK drukt. Maand Eenheid Prijs/eenheid Prijs jan 221.00 0.05 11.05 feb 187.00 9.85 maart 257.00 12.85 april 236.00 11.80 mei 248.00 12.40 juni 251.00 12.55 juli 264.00 13.20 aug 269.00 13.45 sept 236.00 11.80 oct 274.00 13.70 nov 256.00 12.80 dec 237.00 11.85 Deze tabel wil je nu in Atomcalc zetten en laten we aannemen dat je de laatste kolom (prijs) nog niet hebt berekend. In A-2 tot A-13 komen jan t/m dec, labels voor de maanden dus. In B-2 t/m B-13 komen de verbruikte eenheden voor de betreffende maanden. Op C-2 komt de kosten per eenheid 0.05 . Op D-2 komt (B2*C2). en copieren: /R D2 D2 D3 D13 (B2*C2) nu R typen want dit varieert ? van maand tot maand (B2*C2) nu A typen want dit ? is 0.05 /S Hiermee save je Atomcalc sheet op disk of cassette. Op het beeldscherm verschijnt :" FILE?". nu voer je de filenaam in gevolgd door RETURN. Nu verschijnt er "RECORD TAPE". Druk op de spatiebalk en Atomcalc gaat saven. Er staan nu ook 2 sterretjes (**) achter de record tape boodschap. Als Atomcalc klaar is met saven dan verdwijnen de sterretjes weer. /L Met als met /S behalve dat we nu laden ipv saven. /P Hiermee kan een sheet worden geprint in tabelvorm zoals je het op het beeldscherm ziet. /O Hiermee output je een sheet naar de printer. Het verschil tussen /O en /P is dat /O een sheet uitprint zoals je het niet op het scherm ziet. Alle in de cellen ingevoerde data (full defintion of sheet entries) van de aangegeven range wordt wordt uitgeprint. Al met al voor slechts 4 KB een redelijk bruikbaar spreadsheet programma. H Zie ook:AN 1983 nr.3 bl.52 over spreadsheets AN 1989 nr.2 bl.22 source file |