Aackocalc - Instructions.doc 1 AACKOCALC – Instructions, 2004 OCRed by Wilko Schröter AACKOCALC ALGEMEEN een spreadsheet is een hulpmiddel om reeksen berekeningen uit te voeren. Dit doet het programma op een voor de gebruiker zeer overzichtelijke wijze: het gebruikt a. h. w. een groot vel papier, ingedeeld in regels en kolommen. De zo ontstane vakjes kunnen (zichtbaar) een stukje tekst of een getal bevatten of (onzichtbaar) een formule, de formules 'werken' op basisgetallen die in een of meerdere vakjes staan en plaatsen vervolgens het resultaat in een ander vakje. Als de gebruiker alle basisgegevens en formules heeft ingevoerd is een toetsaanslag voldoende om het hele 'model' (zo heet een spreadsheet met ingevoerde basisgegevens en formules) in enkele minuten door te laten rekenen. Spreadsheets worden veel gebruikt voor het maken van omzet- of winstprognoses, budgetten, financiele planning e. d. maar ze zijn ook geschikt voor (niet te complexe) technische berekeningen. LADEN Het programma start vanzelf na laden met LOAD AACKOCALC of LOAD "". Nu verschijnt automatisch het hoofdmenu op het scherm, dat de volgende opties biedt: 1 – gegevens tonen/invoeren 2 – spreadsheet opzetten 3 – spreadsheet saven 4 – spreadsheet loaden 5 – rekenen Het gebruik van deze optiues wordt hieronder verder uitgelegd. Aackocalc - Instructions.doc 2 OPZETTEN Als je een sessie begint met het 'kale' programma (dus zonder een eerder ingevoerd model), dan werken de opties 1,3 en 5 nog niet. Probeer het gerust. Je moet dus ofwel een nieuwe spreadsheet starten, ofwel een eerder 'gesaved' model laden. Na keuze van optie 2 vraagt de computer zelf de volgende gegevens op: aantal regels en kolommen, breedte van een kolom (aantal karakters), het aantal cijfers achter de komma en het maximale aantal formules. Als hat model teveel geheugenruimte eist, geeft de computer een waarschuwing, waarna de gegevens opnieuw opgevraagd worden. De beschikbare geheugenruimte is overigens vrij groot (meer dan 35K). Dit is voldoende voor een model van b. v. 300 regels en 14 kolommen van elk 7 karakters met 10 formules. Als je model toch niet de maximale geheugencapaciteit gebruikt is het slim het model ruim op te zetten; je kunt dan later nog gemakkelijk een extra regel of kolom in gebruik nemen zonder dat je van voren af aan moet beginnen. TONEN/INVOEREN Deze optie biedt een hele reeks subopties (de meeste verschijnen onder aan het scherm). Om te beginnen drukt hij (een deel van) de spreadsheet op het scherm af. Als er nog geen getallen zijn ingevoerd, verschijnen alleen de regel- en kokomnummers op het scherm. Ergens op het scherm (de eerste keer linksboven) verschijnt de cursor (een zwart vierkantje). De cursor kan met de gebruikelijke cursorbesturing (de toetsen 5, 6, 7 en 8) naar elke plaats op het scherm gestuurd worden. Als hij daarbij aan een van de randen van het scherm komt, waar de spreadsheet nog 'doorgaat', dan verschuift de spreadsheet een regel of kolom in tegengestelde richting, zo dat de volgende regel of kolom zichtbaar wordt. Hierdoor kan eenmodel worden gehanteerd, dat vele malen groter is dan het scherm. Naast de gewone cursorbesturing is er ook nog een snelle besturing. Met de toetsen CAPS SHIFT en 5, 6, 7 of 8 wordt de cursor in een keer naar de bijbehorende rand van de spreadsheet gestuurd. De overige subopties werken als volgt: 1. GEGEVEN Na indrukken van de g-toets kan een stukje tekst of een getal worden ingevoerd. Als het niet langer is dan de eerder opgegeven kolombreedte verschijnt het automatisch in het vakje waar de cursor op dat moment staat. 2. COPIEREN Deze optie dient om een eerder ingevoerd gegeven in een aantal vakjes van de spreadsheet te plaatsen. Na indrukken van de c-toets wordt gevraagd tot welke rij en tot welke kolom gecopieerd moet worden. Het getal, dat in het door de cursor 'aangewezen' vakje staat, wordt dan in alle vakjes geplaatst vanaf de 'cursor-rij' tot aan de opgegeven rij en vanaf de 'cursorkolom' tot aan de opgegeven kolom. Het is dus mogelijk om snel een (gedeelte van) een regel, een (gedeelte van) een kolom of een blok, bestaande uit (gedeelten) van meerdere regels of kolommen met identieke gegevens te vullen. 3. FORMULE Deze optie is vergelijkbaar met suboptie 1, alleen wordt nu, i. p. v. een gegeven, een formule in het betreffende vakje geplaatst. Omdat formules veelal in een groot aantal vakjes worden geplaatst, is de copieerfunktie hier 'ingebouwd'. Na het invoeren verschijnt de formule niet zichtbaar in het vakje waarin de cursor staat (daar moet immers al een gegeven kunnen staan) maar in 'inverse video' onder aan het scherm. Steeds als de cursor naar een ander vakje verhuist, verschijnt onder aan het scherm de bij dat vakje behorende formule. In de eerste bijlage wordt uitgelegd, welke rekenkundige uitdrukkingen geldige formules vormen. 4. NIEUWE FORMULES Deze optie dient om de bestaande formules in een keer uit te wissen zonder dat de overige gegevens verloren gaan. Om vergissingen uit te sluiten vraagt het programma om bevestiging van de opdracht. Overigens moet er op gewezen worden dat deze funktie in principe niet gebruikt hoeft te worden als het om slechts een of eqkele foute formules gaat. Als bij het Aackocalc - Instructions.doc 3 opzetten voor voldoende formules ruimte is gereserveerd kan eenvoudigweg in het betreffende vakje een nieuwe formule geplaatst worden. De oude formule wordt dan buiten werking gesteld maar hij verdwijnt niet uit het geheugen. 5. COPY Deze optie gebruikt de copy-funktie van de Spectrum om dat deel van de spreadsheet, dat op het scherm staat afgebeeld, op de printer af te drukken. Door systematisch de gehele spreadsheet af te laten drukken, kan (na enig plak- en knipwerk) een 'hard-copy' verkregen worden. 6. MENU Het indrukken van de m-toets zorgt dat het hoofdmenu weer op het scherm verschijnt. SAVEN Met deze optie kan naar keuze het gehele programma met gegevens op tape 'gesaved' worden of alleen de gegevens (inclusief formules). Copien van het programma mogen alleen voor eigen gebruik worden aangemaakt. Het -op welke wijze dan ook- aan anderen ter beschikking stellen van het programma is een inbreuk op het copyright van de auteur. Na het saven vraagt het programma of het resultaat geverifieerd moet worden. (met 'j' of 'n' antwoorden). Vergeet niet voor het verifieren de tape terug te spoelen, de 'mic' stekker te verwijderen en de 'ear' stekker in te pluggen. LOADEN Met dit commando kan een eerder op tape 'geschreven' spreadsheet (d.w.z. gegevens en formules) geladen worden. REKENEN Als alle gegevensen formules correct zijn ingevoerd, kan het hele model met optie 5 van het hoofdmenu worden doorgerekend. Afhankelijkvan het aantal getallen en van de ingewikkeldheid van de formules duurt dit van ca. 20 sec. tot ongeveer 5 minuten. Houd er bij het opzetten van een model rekening mee, dat de rekenfunktie de vakjes van links naar rechts en van boven naar beneden doorloopt. Tussenresultaten moeten dus altijd links van of boven eindresultaten staan. ENKELE TIPS als het programma stopt met een foutmelding, b. v. door een fout in een formule, herstart het dan altijd met 'GOTO 7000' of 'GOTO zv'; herstarten met 'RUN' gaat ook, maar dan gaan onherroepelijk alle gegevens verloren. GELDIGE FORMULES regels en voorbeelden Aan de gebruikte formules worden enkele eisen gesteld. AACKOCALC accepteert in een formule alle voor de ZX Spectrum geldige rekenkundige uitdrukkingen (inclusief funkties zoals cos, sqr, etc.). Daarnaast kunnen enkele bijzondere uitdrukkingen gebruikt worden om getallen uit bepaalde vakjes op te halen en om regels of kolommen (gedeeltelijk) te totaliseren. Aackocalc - Instructions.doc 4 Bijvoorbeeld: r002............. geeft het getal uit een vakje in dezelfde kolom, maar uit regel 2. k015 ........... geeft het getal uit dezelfde regel, maar uit kolom nummer 15. p023127 ..... geeft het kolom 127. h003015 ..... geeft het totaal van de vakjes uit dezelfde regel, in de kolommen 3 tim 15 (horizontaal optellen) v005027 ..... geeft het totaal van vakje 5 tim 27 uit de kolom waarin cre formule staat (verticaal tellen). Om een regelnummer of een kolomnummer aan te geven moeten dus altijd drie posities gebruikt worden (het programma controleert dit overigens). Dezelfde uitdrukkingen, maar nu met een - of + voor het kolom- of regelnummer kunnen gebruikt worden om de positie van een getal 'relatief' aan te geven, d. w. z. hoeveel regels en/ef kolommen het verwijderd is van het vakje waar de formule in staat. r+002 ......... geeft het getal uit eenvakjein dezelfdekolom, maar twee regels naar beneden. k-015 .......... geeft het getal uit dezelfde regel, maar 15 kolommen naar links. p-005+027 .. geeft het getal uit een vakje 5 regels terug en 27 kolommen verder (= naar rechts) Horizontaal en verticaal (sub)totaliseren kan niet relatief! Nu enkele voorbeelden van complete formules: .08xk-001.... geeft 8% van het getal in het vakje een kolom terug. k215-r003 ... geeft het verschil van het getal in kolom 215 (in dezelfde regel) en het getal in regel 3 (in dezelfde kolom als het vakje waar de formule in staat). Het resultaat wordt steeds in het vakje geplaatst, waar 'de formule in staat'. Dit laatste staat tussen aanhalingstekens, want de formules staan niet echt in de vakjes. Wel hoort bij ieder vakje een variabele, die aangeeft welke formule op dat vakje werkt. Als een formule dus op meerdere vakjes werkt, hoeft de formule zelf toch maar een keer in het geheugen opgeslagen te worden. Bij het opzetten hoeft dan ook slechts het maximale aantal verschillende formules te worden gegeven. Na invoer vraagt het programma of de formule gecopieerd moet worden. Na opgave van de gewenste regels en kolommen wordt een verwijzing naar de formule in de betreffende vakjes geplaatst. Enkele tips: – het kan voorkomen dat een formule (of zijn voor het rekenen 'vertaalde' versie) te lang is; hier zijn twee dingen aan te doen: de formule a. h. w. in twee delen splitsen (dus tussenresultaten in een andere rij of kolom onderbrengen) of- als de beschikbare geheugenruimte het toelaat – meer ruimte voor de formules maken. Dit laatste kan je doen door de variabelen fl (formulelengte) en vl (vertaalde-formule-lengte) een hogere waarde te geven (regel 9000 en 9010). VOORBEELD een hypotheekberekening met AACKOCALC 1. Zet met optie 2 een spreadsheet op met 40 regels en 10 kolommen met een breedte van 7 karakters. Reserveer ruimte voor minstens 10 formules. Aackocalc - Instructions.doc 5 2. Kies optie 1. Voer in regel 1, kolom 1 t/m 6 en in regel 2 t/m 25, kolom1 de volgende gegevens in: hypoth. schuld rente afloss. restsch. cum. Rt. --- Lening 150000 Rente% 0.09 Annuit. 15000 1984 1985 . 2004 3. Voer de drie basisgegevens in: in regel 2, kolom 2 de aanvangsschuld (in dit voorbeeld 150000); in regel 3, kolom 3 het rentepercentage (hier 9%); en in regel 4, kolom 4 de annuiteit (het vaste bedrag dat jaarlijks aan rente en aflossing betaald wordt; hier 15000). 4. Voer (met optie 3, submenu optie 'i') de volgende in: – in regel 5, kolom 2: r002. Deze formule haalt een getal (de aanvangsschuld uit regel 2 van de kolom waarin hij staat (kolom 2) en plaatst dit getal in het vakje waarin hij staat (regel 5, kolom 2; voortaan aan te duiden als vakje (5,2)). Deze formule niet copieren. – in vakje (5,3) de formule: r003xk002. Deze formule copieren van regel 5 t/m regel 25 en van kolom 3 t/m kolom 3 (de formule staat nu dus 'in' alle vakjes van kolom 3 tussen regel 4 en regel 26). Werking: de formule haalt steeds het getal uit kolom 2 vartdezelfde regel (de schuld bij aanvang van het jaar) en vermenigvuldigt dit met de rentevoet (die steeds uit vakje (3,3) (regel 3 van de betreffende kolom, d. i. kolom 3) wordt opgehaald. – in vakje (5,4): r004-k003; copieren van regel 5 t/m 25, van kolom 4 t/m 4. Deze formule haalt de annuiteit uit vakje (4,4) en trekt hier de in de vorige kolom berekende rente van af. Het resultaat komt steeds in kolom 4 van de betreffende regel te staan. – in (5,5): k002-k004. Copieren van regel 5 tim 25 in kolom 5. De formule berekent de schuld aan het einde van het jaar door van de schuld aan het begin van het jaar (in kolom 2) de aflossing (uit kolom 4) af te trekken. – in (5,6): k003. Niet copieren. De cumulatieve rente is in het eerste jaar gelijk aan de in datzelfde jaar betaaIde rente. – in (6,2): p-001+003. Copieren van regel 6 t/m 25 in kolom 2. Deze formule haalt steeds een getal uit een vakje, dat een regel terug en drie kolommen verder ligt (d. w. z. kolom 5). De restschuld van het vorig jaar wordt dus als aanvangsschuld van het volgende jaar geboekt. – in (6,6): de formule k003+r-001. Copieren van regel 6 t/m 25 in kolom 6. De in het betreffende jaar betaaIde rente (uit kolom 3) wordt opgeteld bij de cumulatieve rente van vorig jaar (uit dezelfde kolom, een regel terug). Het resultaat wordt in kolom 6 geplaatst. 5. Het model is nu klaar. Na controle van de formules kan het nu het beste eerst op tape 'gesaved' worden, zodat door een vergissing niet het hele model kan verloren gaan. 6. Kies dan optie 5. Na minder dan 1 minuut geeft het programma het signaal dat het rekenen is beeindigd door het hoofdmenu weer op het scherm te zetten. Met optie 1 kunnen de resultaten nu bekeken worden. Hopelijk valt het niet te erg tegen. 7. Als je wilt weten wat de gevolgen zijn van een andere rentevoet, een eenmalige extra aflossing, een verhoging van de hypotheek of een andere annuiteit dan hoef je alleen maar het betreffende basisgegeven te wijzigen (gewoon opnieuw invoeren met optie 1) en nog een keer de opdracht 'rekenen' te geven.