1 REM Ins{nd av John Amsberg <5786> 1985-10-03 09.28.45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41 CALC - KALKYLPROGRAM F\R ABC800, ABC806. Programmet best}r av f|ljande filer: 1. CALCMENY.800 Startmodul med menyval av - Ny kalkyl - Befintlig kalkyl - Hj{lptext - Avsluta. 2. CALC1.800 Hj{lpfil som l{ser hj{lptexten. 3. CALC3.800 Huvudmodul med printerrutin. 4. CALCOM.DAT Kontrollfil som skapas och l{ses av programmet. 5. CALC2.TXT Denna textfil. 6. CALCEX1.CA3 Kalkyleringsexempel. 7. CALCEX2.CA3 Kalkyleringsexempel. Filerna som ursprungligen var avsedda f|r ABC80 har h{mtats fr}n ABC-klubben och d{refter modifierats medelst KOMPIL samt bearbetats f|r ABC800, ABC806 och BASIC-II-kortet. Programmet {r av typ "spredsheet" dvs du kan lagra text, v{rden och formler i ett rutn{t. Text formler och alla v{r- den kan {ndras varefter omkalkylering sker. Storleken p} den valda matrisen kan dock ej {ndras. Kalkylen kan sparas p} diskett varvid programmet sj{lv l{gger till extension (.CA3). Rutn{tet numreras p} f|ljande s{tt: Rader: AA, AB, AC,...AJ BA, BB, BC,...BJ etc Kolumner: 00, 01, 02,...15 etc Rutan l{ngst upp till v{nster {r allts} AA00. I varje ruta kan du anv{nda EN funktion av en typ. Vill- korssatser kan EJ anv{ndas i rutorna. Du kan skriva text, siffror eller skiljetecken i rutorna. Programmet startas med "RUN CALCMENY.800". I menyn kan du v{lja enligt nedan. 0. Ny kalkyl. 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{r- den och resultat ryms. Programmet kontrol- lerar 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} disketten varefter huvudprogrammet chainas in. 1. Befintlig kalkyl. Ange kalkylnamn utan extension. Namnet kontrolleras. Om filen inte finns ange nytt namn. "RETURN" ger }terg}ng till menyn. 2. L{sa hj{lptext. H{r kan du l{sa denna hj{lptext. N{r texten kommer upp p} sk{rmen matar du nya rader medelst mellanslag. Med S eller s stoppas l{sningen och du kommer till en minimeny d{r du v{ljer }terg}ng till huvudmeny eller upprepad l{sning av hj{lptexten. 3. Avsluta. H{r avslutas 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{r- men. -> <- ~ $ 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 Funktionskommandona betyder: A Average - Ber{kna medelv{rde. C Calculate - Kalkylera matrisen. D Delete - Radera allt i rutan du befinner dig i. G GOTO - G} till ruta nr. 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} diskett. F|rsta tecknet av max 8 skall vara en bokstav. Programmet s{tter extension till "CA3". X - G} ur funktionsmod. + - Inleder "+"-funktion (addition). - - Inleder "-"-funktion (subtraktion). * - Inleder "*"-funktion (multiplikation). / - Inleder "/"-funktion (division). H - Anv{nds ej. U - Utskrift p} printer av formler och/eller text med 69 tkn/rad. K - Avbryter och g}r tillbaka till menyfunktio- nen. 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 "$". Defi- nieringen 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 t ex rutor- na AA00 och AA01 och l{gga resultatet i AC00 s} blir kom- mandostr{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. Det kan vara l{mpligt att 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.800. KALKYLERING Bygg f|rst upp din kalkyl p} ett rutat papper. Det ger dig m|jlighet att planera uppl{ggningen innan du l{gger in funktioner och konstanter i rutorna. Matrisen kalkyleras i "ASCII-aritmetik". Tomma rutor ger "noll" vid funktionerna "+-*". Vid division p} tomma rutor blir det ERROR liksom vid division med noll. Medelst exemplet nedan kan s}dana fel f|rhindras: 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 9 skall reserveras f|r text, byts AA00...AC02 ovan ut mot AA01...AC02. D} |vriga rutor {r fyllda med "0" raderas ruta AA00. P} samma s{tt kan man spara |versta raden f|r text genom att repetera AA00 till AB01...AC02. Kalkyleringen sker i ordning rader - kolumner. Detta inneb{r att v{rden som skall anropas av en ruta m}ste finnas i en ruta som passe- rats. Hj{lptext sammanst{lld av 105 S-] Abrahamsson Modifierad 1985-04 av 2776 Bengt Sandgren Modifierad 1985-10 f|r ABC800 av 5786 John Amsberg