# Het handboek van &kcalc;

&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;
&Pamela.Roberts;&Pamela.Roberts.mail;
&Jaap.Woldringh;&Sander.Koning;
2001 2002 &Bernd.Johannes.Wuebben;, &Pamela.Roberts;
&FDLNotice;
2002-09-28
1.03.02

&kcalc; is een wetenschappelijke rekenmachine voor &kde;

KDE Kcalc rekenmachine

## Inleiding

Dit document beschrijft &kcalc; versie 1.6.

&kcalc; biedt veel meer wiskundige functies dan u op het eerste gezicht ziet. In het gedeelte van dit handboek over sneltoetsen en modussen vindt u meer over de vele beschikbare functies.

Naast de gebruikelijke functionaliteit van de meeste wetenschappelijke rekenmachine, biedt &kcalc; een aantal mogelijkheden waarvan ik denk dat ze het waard zijn om even te noemen:

- &kcalc; biedt trigoniometrische functies, logische bewerkingen, en u kunt er statistische berekeningen mee doen.

- U kunt getallen knippen en plakken vanuit of naar het scherm van &kcalc;.

- &kcalc; heeft een stapelgeheugenvoor uitkomsten dat u de mogelijkheid geeft om vorige uitkomsten eenvoudig terug te halen.

- U kunt de kleuren en het lettertype in het scherm van &kcalc; aanpassen.

- U kunt de nauwkeurigheid van &kcalc; en het aantal decimalen instellen.

- &kcalc; heeft een groot aantal handige sneltoetsen die het gebruik van &kcalc; zonder muis vereenvoudigen.

  Tip: Als u de &Ctrl;-toets ingedrukt houdt, ziet u bij iedere knop de bijbehorende sneltoets.

Veel plezier met &kcalc;!

Bernd Johannes Wuebben

## Gebruik

### Algemeen gebruik

Over het algemeen is het gebruik recht door zee en vergelijkbaar met de meeste eenvoudige wetenschappelijke rekenmachines, maar let op de volgende speciale mogelijkheden van &kcalc;:

Stapelgeheugen voor de uitkomsten

  Iedere keer als u &LMB; klikt op de = knop, of als u de Enter of = toets op uw toetsenbord gebruikt, wordt het tussenresultaat op het scherm in het stapelgeheugen van &kcalc; opgeslagen. U kunt door de uitkomsten navigeren met de toetsen &Ctrl;Z en &Ctrl; &Shift;Z.

Procent Functie

  De procentfunctie werkt net even anders dan op de meeste rekenmachines. Maar als u het eenmaal doorheeft is die zeer handig. Zie het gedeelte over de procentfunctie voor verdere bijzonderheden.

Knippen en plakken

  - Met &Ctrl;C wordt het getal in het scherm naar het klembord gekopieerd.

  - Met &Ctrl;V wordt de inhoud van het klembord naar het scherm van &kcalc; gekopieerd indien dit een geldig getal is.

  - Kopiëren/plakken kan nog steeds door op het scherm van &kcalc; te klikken, maar dat kan in toekomstige versies anders zijn.

Geavanceerde functies

  Als u &kcalc; voor de eerste keer start ziet u alleen de knoppen voor de eenvoudige rekenkundige berekeningen.

  In het menu Instellingen kunt u extra knoppen openen voor &kcalc;: Het is bijvoorbeeld mogelijk om te kiezen voor Statistische of Trigoniometrische knoppen.

### Statistische Modus

In deze modus kunnen de knoppen in de linker kolom worden gebruikt voor statistische functies:

Knoppen | Functie
--- | ---
N | Geeft het aantal ingevoerde getallen
Inv N | Geeft de som van alle ingevoerde getallen
Gem | Geeft het gemiddelde van de ingevoerde getallen
Inv Gem | Geeft de som van de kwadraten van alle ingevoerde getallen
Std | Geeft de (n) standaard deviatie
Inv Std | Geeft de (n-1) standaard deviatie van de populatie
Med | Geeft de mediaan
Dat | Een getal invoeren
Inv Dat | Het laatst ingevoerde getal wissen
Cst | Alle ingevoerde getallen uit het geheugen wissen ("Clear stack"= stapelgeheugen wissen)

### Trigoniometrische Modus

In deze modus kunnen de knoppen in de linker kolom worden gebruikt voor trigoniometrische functies:

Knoppen | Functie
--- | ---
Hyp | De hyperbolische functies. Hyp Sin is bijvoorbeeld de hyperbolische sinus: sinh(x)
Sin | Bereken de sinus
Inv Sin | Bereken de inverse sinus (arcsinus)
Cos | Bereken de cosinus
Inv Cos | Bereken de inverse cosinus (arccosinus)
Tan | Bereken de tangens
Inv Tan | Bereken de inverse tangens (arctangens)
Log | Bereken de logaritme met grondtal 10
Inv Log | Bereken 10 tot de macht x (is de inverse functie van log)
Ln | Bereken de natuurlijke logaritme. Dat is de logaritme met grondtal e.
Inv Ln | Bereken e tot de macht x (is de inverse functie van ln)

### Enkele sneltoetsen

Om de invoer voor berekeningen met behulp van het toetsenbord te vereenvoudigen, heeft &kcalc; enkelvoudige sneltoetsen voor de meeste functies. Bijvoorbeeld, met `7R` of `7r` berekent u het omgekeerde (is: reciproke) van 7 (= 1/7).

Tijdens een berekening kunt u altijd met &Ctrl; zien welke sneltoets aan elke knop is gekoppeld.

Toets | Functie | Notities
--- | --- | ---
H | Hyp | Hyperbolisch, zoals in hyperbolische sinus, sinh(x)
S | Sin |
C | Cos |
T | Tan |
N | Ln | logaritme met grondtal e (natuurlijke logaritme)
L | Log | Logaritme met grondtal 10
I | Inv | Inverse, ⪚ als u arcsin(x) (of: inverse sinus van x) nodig heeft typt u `i s`
\ | +/- | Ander teken (of: vermenigvuldigen met -1)
[ | x^2 |
^ | x^y |
! | x! | Faculteit (Bijv. 3! = 1*2*3 = 6; 4! = 24)
< | Lsh | Leftshift. Let op: Inv Lsh is Rightshift.
& | AND | Logische AND
* | X | Vermenigvuldigen
/ | / | Delen
D | Dat | Voer een getal in in statistische modus
O | OR | Logische OR. Let op: Inv OR is XOR
R | 1/x | Omgekeerde waarde (x naar 1/x)
= | = |
Enter | = |
Return | = |
Page up | C | Wissen
Esc | C | Wissen
Voorafgaand | C | Wissen
Page Down | AC | Alles wissen
Volgende | AC | Alles wissen
Del | AC | Alles wissen

## Opmerkingen over specifieke functies

### Mod en Inv Mod

Mod geeft de rest van de deling van het getal in het scherm door het daarna ingevoerde getal.

  `22 Mod 8 =` geeft de uitkomst 6

  `22.345 Mod 8 =` geeft de uitkomst 6.345

Met Inv Mod doet u een deling van gehele getallen, namelijk het (eventueel niet geheel) getal in het scherm en het erna ingetoetste getal.

  `22 Inv Mod 8 =` geeft de uitkomst 2

  `22.345 Inv Mod 8 =` geeft ook 2 (ook al is 22.345 geen geheel getal (vert)).

### %

Wanneer% wordt gebruikt in plaats van de toets = wordt de laatste bewerking van de huidige berekening als volgt uitgevoerd:

- Als de laatste bewerking een + is of een - wordt het tweede argument beschouwd als percentage van het eerste getal .

- Als de laatste bewerking een * is wordt het resultaat van de vermenigvuldiging gedeeld door 100.

- Als de laatste bewerking een / is geef dan de linker operand (getal) als een percentage van de rechter operand (zie voorbeeld).

- In alle andere gevallen geeft de %-toets dezelfde resultaten als de =-toets.

Voorbeelden:

  `150 + 50 %`geeft 225 (150 plus 50 procent van 150)

  `42 * 3 %`geeft 1.26 (42 * 3 / 100)

  `11 / 55 %` geeft 20 (11 is 20 procent van 55)

### Lsh en Inv Lsh

Lsh verschuift de binaire representatie van het gehele gedeelte van het getal in het scherm over n posities, waarbij n het volgende ingevoerde getal is. Per positie betekent een verschuiving naar links een vermenigvuldiging met twee, het resultaat is een geheel getal:

  `10 Lsh 3 =` geeft 80 (10 drie keer met 2 vermenigvuldigd). 0000 1010 wordt 0101 0000 Dit is een heel snelle manier (voor een binaire computer) voor het vermenigvuldigen met een macht van 2 (vert).

  `10.345 Lsh 3 =` geeft ook 80.

Inv Lsh verschuift de binaire representatie van het getal naar rechts over n posities, waarbij n het volgende ingevoerde getal is. Per positie betekent een verschuiving naar rechts een deling door twee, het resultaat is een geheel getal:

  `16 Inv Lsh 2 =` geeft 4 (16 twee keer door 2 gedeeld). 1000 wordt 0010 Dit is een heel snelle manier (voor een binaire computer) voor het delen door een macht van 2 (vert).

  `16.999 Inv Lsh 2 =` geeft ook 4.

### Cmp, AND, OR and XOR

De functies Cmp, AND en OR voeren bitsgewijs logische bewerkingen uit en hebben daarom waarschijnlijk meer betekenis als het Grondtal wordt ingesteld op Hex, Oct of Bin in plaats van op Dec.In de volgende voorbeelden is het Grondtal ingesteld op Bin.

Cmp voert een "1's complement"-bewerking uit (keert alle bitjes om, dat wil zeggen elke 1 wordt een 0 en elke 0 wordt een 1)

  `101 Cmp` geeft 111...111010 101 is eigenlijk 000...000101, en de voorste nullen worden ook omgekeerd (vert).

AND voert de logische AND-bewerking uit.

  `1100 AND 1010 =` geeft 1000 1 AND 1 geeft 1 1 AND 0 geeft 0 0 AND 1 geeft 0 0 AND 0 geeft 0 Dus alleen een 1 als beiden 1 zijn (vert).

ORvoert de logische OR-bewerking uit.

  `1100 Or 1010 =` geeft 1110 1 OR 1 geeft 1 1 OR 0 geeft 1 0 OR 1 geeft 1 0 OR 0 geeft 0 Dus alleen een 0 als beiden 0 zijn (vert).

XOR voert de logische XOR-bewerking uit (exclusieve OR) .

  `1100 XOR 1010=` geeft 0110 =110 1 XOR 1 geeft 0 1 XOR 0 geeft 1 0 XOR 1 geeft 1 0 XOR 0 geeft 0 Dus alleen een 1 als beiden verschillend zijn (vert).

## Vragen en Antwoorden

Hoe krijg ik e, het getal van Euler (2.718281828459045)?

Toets in `1 Inv Ln`.

Hoe krijg ik twee vaste decimalen?

Klik op de knop Instellingen, u krijgt dan het dialoogscherm voor de instellingen. Kruis aan vaste nauwkeurigheid instellen en draai het spinveld zo dat er een 2 staat.

Hoe zit het met de nauwkeurigheid?

Het belangrijkste dat de nauwkeurigheid van &kcalc; bepaalt is of uw libc en libmath het gegevenstype long double in C ondersteunen. In dat geval zal &kcalc; dit tijdens het compileren detecteren en dit als het fundamentele gegevenstype gebruiken voor het opslaan van getallen. Kijk in het dialoogscherm Informatie over &kcalc; wat voor uw &kcalc; het fundamentele gegevenstype is. C is de naam van de gebruikte programmeertaal (vert).

Behalve als u een buitengewoon goede libc en libmath heeft kunt enkele interessante resultaten zien als u berekeningen probeert zoals `123.22 - 123.21`, `2.01 - 2`, `123.88 - 123.87` en dergelijke. Maar als u dit slecht vindt, vraag ik u ditzelfde te proberen op de rekenmachine die met &Windows; wordt geleverd.

Verander de Nauwkeurigheid in het dialoogscherm Instellingen van &kcalc; zo dat de bovenstaande berekeningen goed worden uitgevoerd. Ik raad een nauwkeurigheid aan van 14 cijfers als het fundamentele gegevenstype van uw &kcalc; long double is, en anders 8 of 10.

Een grotere nauwkeurigheid betekent niet noodzakelijk betere resultaten. Speel een beetje met de nauwkeurigheidsinstelling en u zult zien wat ik hiermee bedoel.

## Dankbetuigingen en Licentie

&kcalc; Programma Copyright ©:

Bernd Johannes Wuebben 1996-2000

Het &kde;-team 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;

De inspiratie voor &kcalc; kwam door de applicatie xfrmcalc van Martin Bartlett. In &kcalc; wordt van dit programma de manier waarop het stapelgeheugen is georganiseerd nog gebruikt.

Documentatie Copyright © 2001,2002:

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

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

&underFDL; &underGPL;

## Installatie

&kcalc; maakt deel uit van het kdeutils-pakket in het &kde;-project en zal normaal gezien geleverd worden als onderdeel van een &kde; installatie. Voor meer details over &kde; bezoek http://www.kde.org.

### Compilatie en Installatie

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

### Hoe "long double" nauwkeurigheid in te stellen in &kcalc;

Als uw computer het gegevenstype long double in C ondersteunt en als u een werkende libc heeft kunt u long doublenauwkeurigheid in &kcalc; instellen.

Dit kunt u zo doen:

- Bekijk `../config.h` en zie of HAVE_LONG_DOUBLE is gedefinieerd, &ie; u zult de volgende regel moeten vinden:

      #define HAVE_LONG_DOUBLE 1

  Als u deze regel niet kunt vinden, betekent het dat uw systeem de IEEE-nauwkeurigheid "long double" niet ondersteunt.

- Bewerk de bestanden `kcalctype.h`, `configdlg.cpp`, `kcalc.cpp` en `kcalc_core.cpp` en verwijder hierin de regels:

      #ifdef HAVE_LONG_DOUBLE
      #undef HAVE_LONG_DOUBLE
      #endif

- Compileer &kcalc;.opnieuw.