# &kcalc;-håndbogen

## Indledning

Dette dokument beskriver &kcalc; version 1.6.

&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:

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

### 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. Tjek &kcalc;'s Om-dialog (i Indstil-dialogen) for at finde ud af hvad den fundamentale datatype er for din kopi af &kcalc;.

Med mindre du har et libc og libmath af usædvanlig høj kvalitet, vil du kunne observere nogle interessante resultater når du forsøger at udføre beregninger såsom: `123.22 - 123.21`, `2.01 - 2`, `123.88 - 123.87` og lignende. Hvis du synes dette er dårligt, så vil jeg bede dig prøve at udføre de samme beregninger med den regnemaskine der kommer med &Windows;.

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.

## 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:

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

- &Pamela.Roberts; &Pamela.Roberts.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;.