# Het handboek van &kcalc;

## Inleiding

Dit document beschrijft &kcalc; versie 1.8.

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

De meeste functionaliteit in deze modus wordt gedaan via de knop Dat button. Om een gegevenslijst van getallen te maken, voert u een getal in in de rekenmachine en kiest u Dat. Een oplopend getal wordt op het display getoond dat aangeeft welke positie in de gegevenslijst het getal heeft. Een traditionele rekenmachine bewaart maar drie waarden voor statistische functies: het aantal items in de lijst, de som van de getallen en de som van de kwadraten van de getallen. &kcalc; wijkt af door elk getal apart op te slaan, waardoor bijvoorbeeld de mediaan bepaald kan worden.

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)

### Geheugenbewerkingen

&kcalc; ondersteunt de geheugenbewerkingen van standaard rekenmachines en zes sloten om constanten in te bewaren.

#### Standaard geheugenbewerkingen

&kcalc; kan resultaten van bewerkingen voor u onthouden, en ze in latere berekeningen hergebruiken. U kunt deze functies opropen met de knoppenMR, MS, M+ en MC.

MS

- De knop MS slaat het huidige resultaat op in het geheugen.

M+

- De knop M+ voegt het huidige resultaat toe aan dat in het geheugen. Dus als u 20 in geheugen had, en het huidige resultaat is 5, bevat het geheugen 25 na deze knop. Als het geheugen leeg is, gedraagt deze knop zich als MS en wordt het resultaat gewoon opgeslagen.

MR

- De knop MR haalt de waarde uit het geheugen op en zet deze in het display.

MC

- De knop MC wist het geheugen.

Als er een waarde in het geheugen staat verschijnt er een M in de statusbalk, naast de indicator voor de modus.

#### Constanten

De zes knoppen voor constanten C1 tot en met C6 zijn alleen zichtbaar na activering van het item Knoppen voor constanten in het menu Instellingen in de menubalk.

Om het huidige getal in het &kcalc;-display in een van de zes constanten op te slaan, drukt u eerst Inv gevolgd door de gewenste toets(C1 t/m C6).

Om de waarde in een van de constanten in een berekening te gebruiken, drukt u op de gewenste kntop (C1 t/m C6), en het overeenkomende getal verschijnt in het display.

U kunt de tekst van de knoppen van de constanten wijzigen om te onthouden welke knop welke constante bevat. Klik met de rechtermuisknop op een van de knoppen C1 t/m C6. Er verschijnt een popup-menu, kies hieruit Naam instellen.

Er zijn veel (meest natuurkundige) voorgedefinieerde constanten, die op elke van de zes knoppen C1 t/m C6 gezet kunnen worden, door de gewenste constante uit het popup-menu te kiezen dat verschijnt na met de rechtermuisknop op de knop te klikken en Uit lijst kiezen te kiezen. Hoewel de voorgedefinieerde constanten ook via Constanten in de menubalk gekozen kunnen worden, is het erg handig een getal op een knop te plaatsen, als het veel gebruikt wordt.

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

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

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

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

&underFDL; &underGPL;

## Installatie

&kcalc; maakt deel uit van het tdeutils-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 double`nauwkeurigheid in &kcalc; instellen.

Dit kunt u zo doen:

1. 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.

2. 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

3. Compileer &kcalc;.opnieuw.