../../images/zoom.gif

AtomCalc

../../images/exit.gif
/atom_handleidingen/calc/calc1th.gif


 

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 - BK
255 verticaal 1 - 255 vakjes (verder cellen genoemd)
Het 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.
De prompt is een naar links wijzend pijltje. De cursor is een balk van 8 karakters breed en gedraagt zich als de normale Atom cursor. Het beeldscherm kan in alle richtingen scrollen uiteraard tot aan de rand van het kladblad. In de linker boven hoek van scherm (in de header dus) zie je coordinaten van de cel waar de cursor zich bevindt. Daar onder zie je inhoud van die cel. Dat is niet de numerieke waarde van die cel, die staat op het scherm daar waar de cursor zich bevindt. Daaronder, op de derde regel dus, staat de cursor en daar verschijnt alles wat je intikt (max. 32 tekens). Als je op de return drukt dan wordt de inhoud van hetgeen je hebt ingevoerd op de tweede regel en, als het mogelijk is, dan zet Atomcalc de numeriek waarde hiervan op de plaats waar de cursor staat. Die cel bevat nu dus wat je hebt ingevoerd.

Het opstarten

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:
Labelsbv. Fred
Getallenbv. 2001
Formules bv. (A-1+3*B3) of bv. (sin(A3))
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.
Zet de cursor nu weer op C1 en type Erik in. op C2 typen we nu (A2-5) en op C2 verschijnt nu dus 5. Nu hebben we het zakgeld van Erik er ook bij.
Zet de cursor nu weer op A2 en type 11 in. B-2 verandert nu in 16 en C2 verandert nu in 6. Atomcalc rekent het allemaal netjes voor ons uit.
Dit was maar een simpel voorbeeld. In plaats van (A2-5) op C2 hadden we ook bv. (sin(A2*B2/(2*PI))) neer kunnen zetten. We hadden ook bv. op K-99 (A2*3) neer kunnen zetten. Als we A-2 nu veranderen dan verandert K-99 ook netjes mee.
Alle floating point wiskundige formules zijn te gebruiken nl.:

ABSACSASNATNCOS
DEGEXPFLTLOGPI
RADRNDSGN SIN SQR
Wat de functies allemaal doen staat in Atomic Theory and Practice.
Uiteraard zijn ook de gewone wiskundige bewerkingen mogelijk, nl.:
+ optellen- aftrekken
* vermenigvuldigen / delen
^ machtsverheffen

Alle bewerkingen worden uitgevoerd met een nauwkeurigheid van 31 bits, tussen 1E-38 en 1E+38 .
Alle Atomcalc commando's beginnen met '/' .

/F is het FORMAT commando. Hiermee geef je aan hoeveel decimalen er moeten worden geprint. Na een /F1 wordt afgebeeld 9.9 afgebeeld en niet als 10. Atomcalc rondt dus niet af hij drukt alleen het opgegeven aantal decimalen af. Voor berekeningen gebruikt Atomcalc wel de goede waarde ongeacht het format.

/G is het GOTO commando. Met dit commando kan snel naar een coordinaat gesprongen worden in plaats van met de cursor ernaar toe te scrollen.
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:
1.5000 (1+2)*3/4
A-1 *6A-1+B1-C1
(B3+C1)/D1^2 (B2*A4)*3
SQR(ABS(A-1))
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:
A-1A-2A-3A-4A-5A-6
  1  2  2  2  2 2
Maar als je R intypt dan gebeurt het volgende:
A-1A-2A-3A-4A-5A-6
  1  2  3  4  5 6
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.
Een voorbeeld:
Een tabel mbt het energie verbruik over twaalf maanden:

		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

../../images/terug.gif