# &kcalc;-håndbogen

## Indledning

Dette dokument beskriver &kcalc; version 1.8.

&kcalc; tilbyder mage flere matematiske funktioner end dem man lægger mærke til i første omgang. Studér afsnittet om tastaturgenveje og tilstande i denne håndbog for at lære mere om de mange tilgængelige funktioner.

Udover den sædvanlige funktionalitet som de fleste videnskabelige regnemaskiner tilbyder, har &kcalc; et antal egenskaber, som jeg tror det er værd at pege på:

- &kcalc; sørger for trigonometriske funktioner, logiske operationer og er i stand til at udføre statistiske beregninger.

- &kcalc; tillader dig at klippe og indsætte tal fra/til dets fremvisning.

- &kcalc; har en resultat-stak som lader dig huske tidligere resultater på en behagelig måde.

- Du kan indstille &kcalc;'s visning af farver og skrifttyper.

- Du kan indstille &kcalc;'s præcision og antal cifre efter kommaet.

- &kcalc; tilbyder et stort antal nyttige tastaturbindinger, som gør det nemt at bruge &kcalc; uden pegeenhed.

  Vink: tryk på (og hold) &Ctrl;-tasten viser på hver knap den tilsvarende tastebinding.

Hav det sjovt med &kcalc;!

Bernd Johannes Wuebben

## Brug

### Generel brug

Generel brug er ligetil og ligner den måde de fleste videnskabelige regnemaskiner virker, men læg mærke til følgende specielle &kcalc;-egenskaber:

Resultat-stak

- Hver gang du klikker med &LMB; på =-knappen eller trykker på tastaturets Enter eller = taster, bliver resultatet skrevet til &kcalc;'s resultat-stak. Du kan navigere gennem resultatstakken med tastaturets &Ctrl;Z og &Ctrl; &Shift;Z taster.

Procent-funktion

- Procentfunktionen virker lidt anderledes and på de fleste regnemaskiner. Når man først har forstået det, er den udvidede funktionalitet imidlertid ganske nyttig. Se afsnittet om procent-funktionen for yderligere detaljer.

Klip og indsæt

- - Tryk på &Ctrl;C vil placere det viste tal på klippebordet.

  - Tryk på &Ctrl;V vil indsætte klippebordets indhold, hvis indholdet i klippebordet er et gyldigt decimaltal.

  - Det er stadig muligt at kopiere/indsætte ved at klikke på &kcalc;'s skærm, men dette vil måske forsvinde i fremtidige udgaver.

Avancerede funktioner

- Når du starter &kcalc; første gang, vil ommeregneren kun vise knapperne for de basale aritmetiske beregninger.

  Under menuindgangen Opsætning er det muligt at åbne ekstra knapper for &kcalc;: det er for eksempel muligt at vælge Statistisk eller Trigonometriske knapper.

### Statistisk tilstand

I denne tilstand er den venstre søjle af knapper allokeret til statistik-funktioner:

Det meste af funktionaliteten i denne tilstand er centreret omkring knappen Dat. For at oprette en dataliste med tal, skrives et tal i lommeregneren og der trykkes på Dat. En sekvens af stigende tal vises i nummervinduet, som angiver hvilken position i datalisten som tallet optager. En traditionel lommeregner opbevarer kun tre værdier for statistikfunktioner: Antal diskrete værdier i listen, summen af dataværdierne som er skrevet ind og summen af kvadraterne af alle dataværdier i listen. Lommeregneren adskiller sig herfra ved at virkelig opbevare hver enkelt værdi, hvilket tillader dig at beregne medianen for data.

Knapper | Funktion
N | Husk antallet af datapunkter der er indtastet
Inv N | Vis summen af alle datapunkter der er indtastet
Mea | Vis middelværdien af de indtastede data
Inv Mea | Vis summen af kvadratet på de indtastede datapunkter
Std | Vis standardafvigelsen (n)
Inv Std | Vis populationens standardafvigelse (n-1)
Med | Vis medianen
Dat | Indtast et datapunkt
Inv Dat | Ryd sidste datapunkt der blev indtastet
Cst | Ryd for af alle indtastede datapunkter

### Trigonometrisk tilstand

I denne tilstand er knapperne i den venstre søjle allokeret til trigonometriske funktioner:

Knapper | Funktion
Hyp | Gå ind i Hyperbolsk undertilstand. Hyp Sin for eksempel er hyperbolsk sinus: sinh(x)
Sin | Beregn sinus
Inv Sin | Beregn Arcsin
Cos | Beregn cosinus
Inv Cos | Beregn Arccos
Tan | Beregn tangens
Inv Tan | Beregn Arctangens
Log | Beregn logaritmen med basis 10
Inv Log | Beregn 10 til x'te potens
Ln | Beregn den naturlige logaritme. Det vil sige logaritmen med basis e
Inv Ln | Beregn e til den x'te potens

### Hukommelsesoperationer

Lommeregneren understøtter de hukommelsesoperationer som der sørges for af almindelige lommeregnere samt seks pladser at opbevare konstanter.

#### Sædvanlige hukommelsesoperationer

Lommeregneren kan huske resultater af operationer for dig, og genbruge dem i senere beregninger. Du kan få adgang til funktionerne via flere knapper som hedder MR, MS, M+ og MC.

MS

- Knappen MS opbevarer resultatet som for øjeblikket vises i hukommelsen.

M+

- Knappen M+ lægger nuværende resultat til det i hukommelsen. Hvis du altså hade opbevaret 20, og det nuværende resultat er 5, vil hukommelsen indeholde 25 når du trykker på knappen. Hvis hukommelsen er tom, virker en ligesom MS og opbevarer simpelthen resultatet.

MR

- Knappen MR henter værdien opbevaret i hukommelsen og placerer den i nummervinduet.

MC

- Knappen MC tømmer hukommelsen.

Hvis en værdi er opbevaret i hukommelsen vises et M i statuslinjen ved siden af lommeregnerens tilstandsindikator.

#### Konstanter

De seks konstantknapper C1 til C6 ses kun når punktet Konstantknapper i menuen Opsætning i menulinjen er valgt.

For at opbevare tallet som vises i lommeregnerens nummerfelt i en af de seks konstantknapper, trykkes først på Inv fulgt af ønsket konstant fra C1 til C6.

For at bruge værdien opbevaret i en af konstantknapperne i en beregning, klikkes blot på den ønskede knap (C1 til C6), så vises det tilsvarende tal i nummerfeltet.

Det er muligt at skifte etiket på konstantknapperne for at gøre det nemmere for en bruger at huske hvilken knap som indeholder hvilken konstant. Klik med højre museknap på en af knapperne C1 til C6. En sammenhængsafhængig menu vises, hvor du kan vælge Angiv navn.

Der er mange (de fleste fysiske) fordefinerede konstanter, som kan bruges til en hvilken som helst af de seks knapper C1 til C6 ved at vælge den ønskede konstant i den sammenhængsafhængige menu som vises efter at have højreklikket på en af konstantknapperne og valgt Vælg i en liste, selvom der også er adgang til de fordefinerede konstanter via Konstanter i menulinjen, er det meget praktisk at placere en på en konstantknap hvis tallet bruges ofte.

### Enkelttaste-acceleratorer

For at forenkle indtastning af beregninger fra tastaturet har &kcalc; enkelttaste-acceleratorer for de fleste funktioner. For eksempel vil indtastning af `7R` eller `7r` beregne den reciprokke af 7 (altså 1/7).

Under en beregning kan du altid trykke på &Ctrl; for at få hver knap til at vise sin tastebinding.

Tast | Funktion | Noter
H | Hyp | Hyperbolsk som i Hyp Sin, sinh(x)-funktionen
S | Sin |
C | Cos |
T | Tan |
N | Ln | log basis e
L | Log | log basis 10
I | Inv | Invers, ⪚ hvis du ønsker arcsin(x) skriv `i s`
\ | +/- | Ændring af fortegn
[ | x^2 |
^ | x^y |
! | x! | Faktoriel
< | Lsh | Venstre-skift. Bemærk: Inv Lsh er Højre-skift
& | And | Logisk AND
* | X | Multiplicér
/ | / | Dividér
D | Dat | Indtast datapunkt i statistisk tilstand
O | Or | Logisk OR. Bemærk: Inv Or er XOR
R | 1/x | Reciprok
= | = |
Indtast | = |
Enter | = |
Page Up | C | Ryd
Esc | C | Ryd
Forrige | C | Ryd
Page Down | AC | Ryd alt
Næste | AC | Ryd alt
Del | AC | Ryd alt

## Kommentarer til bestemte funktioner

### Mod og Inv Mod

Mod giver resten ved division af det viste tal og det næste indtastede tal.

- `22 Mod 8 =` vil give resultatet 6

  `22,345 Mod 8 =` vil give resultatet 6,345

Inv Mod laver heltalsdivision af det viste tal med den næste til der indtastes.

- `22 Inv Mod 8 =` vil give resultatet 2

  `22,345 Inv Mod 8 =` giver også 2

### %

Brugt i stedet for =-tasten, fortolker % den afsluttende operation der er udført i den aktuelle beregning som følger:

- Hvis den sidste operator er + eller - fortolkes det andet argument som en procent af det første operand.

- Hvis den sidste operator is * divideres resultatet af multiplikationen med 100.

- Hvis den sidste operator / gives den venstre operand som en procent af den højre operand.

- I alle andre tilfælde giver %-tasten samme resultat som =-tasten.

Eksempler:

- `150 + 50 %` giver 225 (150 plus 50 procent af dette beløb)

  `42 * 3 %` giver 1,26 (42 * 3 / 100)

  `45 / 55 %` giver 81,81... (45 er 81,81.. procent af 55)

### Lsh og Inv Lsh

Lsh venstre-skifter heltalsdelen af den viste værdi (multiplicerer den med 2) n gange, hvor n er det næste inddata-tal, og giver et heltalsresultat:

- `10 Lsh 3 =` giver 80 (10 ganget med 2 tre gange).

  `10,345 Lsh 3 =` giver også 80.

Inv Lsh højre-skifter værdien (udfører en heltalsdivision med 2) n gange.

- `16 Inv Lsh 2 =` giver 4 (16 divideret med 2 to gange).

  `16.999 Inv Lsh 2 =` giver også 4.

### Cmp, And, Or og Xor

Cmp, And og Or funktionerne udfører bit-vise logiske operationer og synes derfor at give bedre mening hvis Base er sat til Hex, Oct eller Bin snarere end Dec. I de følgende eksempler er Base sat til Bin.

Cmp udfører en 1'er komplementering (inverterer bits).

- `101 Cmp` giver 111...111010

And laver en logisk AND.

- `101 And 110 =` giver 100

Or laver den logiske OR.

- `101 Or 110 =` giver 111

Xor udfører den logiske XOR (eksklusive OR) operation.

- `101 Xor 110 =` giver 11

## Spørgsmål og svar

Hvordan får jeg e, Euler-tallet?

Skriv `1 Inv Ln`.

Hvordan får jeg to faste cifre efter kommaet?

Klik på Indstil-knappen, dette vil få en indstillingsdialog frem. Afkryds Sæt fast præcision og justér spin-kontrollen så den viser et 2.

Hvad med præcision?

Hovedfaktoren der afgør præcisionen af &kcalc; er om din libc og libmath understøtter C datatypen `'long double'`. Hvis dette er tilfældet vil &kcalc; detektere dette på kompileringstidspunktet og bruge det som sin fundamentale datatype til at repræsentere tal.

Justér Præcision i &kcalc;'s Indstil-dialog s ovenstående beregninger virker rigtigt. Jeg anbefaler en præcision på 14 hvis den fundamentale datatype for din kopi af &kcalc; er `long double`, ellers 8 eller 10.

Højere præcision fører ikke nødvendigvis til bedre resultater. Leg med præcisionen og du vil forstå hvad jeg mener.

&commands;

## Medvirkende og licens

&kcalc; Program ophavsret ©:

Bernd Johannes Wuebben 1996-2000

&kde;-holdet 2000-2004

- &Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;

- &Evan.Teran; &Evan.Teran.mail;

- &Espen.Sand; &Espen.Sand.mail;

- &Chris.Howells; &Chris.Howells.mail;

- &Aaron.J.Seigo; &Aaron.J.Seigo.mail;

- &Charles.Samuels; &Charles.Samuels.mail;

&kcalc; var inspireret af Martin Bartlett's xfrmcalc, hvis stak-maskine stadig er en del af &kcalc;.

Dokumentation ophavsret © 2001,2002,2005,2006:

- &Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;

- &Pamela.Roberts; &Pamela.Roberts.mail;

- &J.Hall; &J.Hall.mail;

- &Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;

&underFDL; &underGPL;

## Installation

&kcalc; er en del af kdeutils-pakken indenfor &kde;-projektet og vil normalt komme som en del af &kde;-installationen. For flere detaljer om &kde; besøg http://www.kde.org.

### Kompilering og installation

&install.intro.documentation; &install.compile.documentation;

### Hvordan man aktiverer 'long double' præcision for &kcalc;

Hvis din maskine understøtter C datatypen `long double` og hvis du har en fungerende libc kan du aktivere `long double`-præcision for &kcalc;.

Her er hvad der skal gøres:

1. Tjek `../config.h` og se om HAVE_LONG_DOUBLE er defineret, &ie; du skulle være i stand til at finde en linje der siger:

       #define HAVE_LONG_DOUBLE 1

   Hvis du ikke kan finde en sådan linje understøtter dit system ikke 'long double' IEEE præcision.

2. Redigér filerne `kcalctype.h`, `configdlg.cpp`, `kcalc.cpp` og `kcalc_core.cpp` og fjern linjerne:

       #ifdef HAVE_LONG_DOUBLE
       #undef HAVE_LONG_DOUBLE
       #endif

3. Rekompilér &kcalc;.