CALC -- KALKYL-program f|r ABC80 - med 80-teckenssk{rm och utbyggt minne (32Kbyte) av S-] Abrahamsson BESKRIVNING: =========== Programmet best}r av f|ljande filer: 1. CALC.80K Startmodul med menyval av ny kalkyl/ befintlig kalkyl/hj{lptext/sluta. 2. CALC1.80K Rutin som visar denna hj{lptext via menyn och ger }terhopp till CALC.80K. 3. CALC3.80K Huvudmodul med printerrutin. 4. CALCOM.DAT Kontrollfil som skapas och l{ses av programmet. 5. CALC.TXT Denna textfil. 6. CALCEX.CA3 Ett litet kalkylexempel. Filerna CALC.80K, CALC3.80K och CALCOM.DAT har h{mtats fr}n ABC-monitorn i Stockholm. Efter bearbetning och komplettering med CALC1.80K, CALC.TXT och CALCEX.CA3 presenteras nu filerna som ett programpaket. Programmet {r av typ "spredsheet" dvs Du kan lagra text, v{rden och formler i ett rutn{t. All text och alla v{rden kan {ndras varefter omkalkylering sker med de nya v{rdena. Formlerna kan {ndras. Storleken p} den valda matrisen kan dock ej {ndras. Rutn{tet {r numrerat p} f|ljande s{tt: rader: AA, AB, AC,...AJ BA, BB, BC,...BJ etc kolumner: 00, 01, 02,....nn Rutan l{ngst upp till v{nster {r allts} AA00. I varje ruta kan Du anv{nda EN funktion av en typ. Villkors- satser kan ej anv{ndas i rutorna. I rutorna kan Du skriva text, siffror eller skiljetecken. HANTERING: ========= Programmet startas med RUN CALC.80K. I huvudmenyn kan Du v{l- ja att skapa ny kalkylmodell, l{sa in en befintlig kalkyl, l{sa hj{lptexten eller sluta. 1. Ny kalkylmodell. Ange antal rader, kolumner och hur m}nga tecken varje f{lt skall inneh}lla. F{lten beh|ver inte vara st|rre {n att text, v{rden och resul- tat ryms. Programmet kontrollerar att matrisen ryms och ger annars m|j- lighet att minska n}got av v{rdena. Om allt {r ok skrivs kontrollfilen "CALCOM.DAT" ut p} dis- ketten varefter huvudprogrammet chainas in. 2. Befintlig kalkyl. Ange kalkylnamn utan extension. Namnet kontrolleras. Om filen inte finns ange nytt namn. Return g}r tillbaks till menyn. 3. L{sa hj{lptext. Du kan l{sa den h{r hj{lptexten via 3. i menyn som g|r "CHAIN" p} CALC1.80K. N{r texten kommer upp p} sk{rmen mata raderna med mellanslag. Med S eller s stoppas l{sningen och du hamnar i en minimeny med val av }terg}ng till huvudmeny eller uprepad l{sning av hj{lptexten. 4. Sluta. Detta {r utg}ngen ur programmet. I huvudprogrammet finns det tv} olika "mod" A - man|vermod och B - funktionsmod. A. I man|vermod visas f|ljande kommandorad |verst p} sk{rmen. -> <- ^ $ Man|verkommandona betyder: -> (h|gerpil) Flytta mark|ren en ruta }t h|ger. <- (v{nsterpil) Flytta mark|ren en ruta }t v{nster. ^ Flyttar mark|ren en ruta upp}t. Flyttar mark|ren en ruta ned}t. $ \verg}ng till funktionsl{ge. \vriga tangenter ger text i rutan. B. I funktionsmod visas f|ljande kommandorad |verst p} sk{rmen. A C D G L N P R S X + - * / H U K Funktionskommmandona betyder: A Average - ber{kna medelv{rde. C Calculate - kalkylera matrisen. D Delete - Radera v{rden och funktioner i den ruta som Du befinner Dig i. G GOTO - G} till ruta. L Load - Ladda in den ursprungliga kalkylen. N - Radera hela rutn{tet. R Repeat - Repetera rutans inneh}ll och tillh|rande funktion i angivna rutor. S Save - Spara kalkylen p} skiva. F|rsta tecken av max 8 skall vara en bokstav. Extension s{tts av programmet till "CA3". X - G} ur funktionsmod. + - inleder "+"-funktion (addition). - - inleder "-"-funktion (subtraktion). * - inleder "*"-funktion (multiplikation). / - inleder "/"-funktion (division). H - Anv{ndes inte U - Utskrift p} printer av formler/ och eller text med 69 tkn/rad. K - Avbryter och g}r tillbaks till menyfunk- tionen. Det finns s}ledes 6 olika funktionstyper som kan definieras i rutorna. A Average R Repeat + Addition - Subtraktion * Multiplikation / Division Du kan anv{nda en funktionstyp i varje ruta. Definiera en funktion genom att f|rst g} till den ruta som funktionen skall vara i. G} sedan |ver i funktionsmod med "$". Definieringen inleds d{refter med n}got av tecknen "A R + - * /". Dessa 6 funktioner kan ber{kna v{rdet av inneh}llet i en f|ljd av rutor. Om man avser att endast summera tex rutorna AA00 och AA01 och l{gga resultatet i AC00 s} blir kommando- str{ngen: AC00 = AA00 + AA01...AA01 D 2 Efter bokstaven D anger man antalet decimaler. Enda s{ttet att klara "dubbelfunktioner" {r att mellanlagra den f|rsta funktionens v{rde i en ruta som sedan anropas av n{sta funktion. Ett tips {r: lagra konstanter i rutor p} f|rsta eller sista raden. N{r rutn{tet fyllts i med text och v{rden kan det sparas med kommandot "S". F|re avslut med kommandot "K" kommer fr}gan SPARA P] FIL J/N. [ven h{r kan matrisen sparas p} disketten. F|re utskrift p} printer b|r l{mplig printerkod s{ttas i CALC3.80K. KALKYLERING: =========== Bygg f|rst upp din kalkyl p} ett rutat papper. Det ger Dig m|j- lighet att t{nka igenom uppl{ggningen innan Du l{gger in funk- tioner och konstanter i rutorna. Matrisen kalkyleras i "ASCII-aritmetik". Tomma rutor ger "noll" vid funktionerna + - *. Vid division p} tomma rutor blir det sakl|st Error liksom vid division med noll. Ett s{tt att f|rhindra s}dana fel {r att g|ra en "noll- matris". Fyll alla rutor med 0 (noll) p} f|ljande s{tt. - Skriv in 0 i ruta AA00 i den tomma matrisen. - G} |ver i kommandomod med $ och ange "R". - Ange sedan AA00 och efter det "R" som kommer upp AA00...AC02, om matrisen har 3 rader och 3 kolumner. Om hela kolumn 0 skall reserveras f|r text, vilket {r ganska vanligt byts AA00...AC02 ovan ut mot AA01...AC02. N{r s} |vriga rutor {r fyllda med "0" raderas ruta AA00. P} motsvarande s{tt kan man spara den |versta raden f|r text genom att repetera AA00 till AB01...AC02. Kalkyleringen av matrisen sker i ordningen rader - kolumner. Detta medf|r att kalkylerade v{rden som skall anropas av en ruta m}ste finnas i en ruta som redan passerats. CALC.TXT 19850429.2216 Bengt Sandgren <2776>