Solver

Der Solver

Formeln aus der Cachebeschreibung können in den Solver kopiert werden. Man erhält eine Liste der darin vorkommenden Variablen, die abgefragt werden. Sobald man die Lösung zu einer Variabeln ermittelt hat, trägt man sie in den Solver ein. Somit lassen sich dann Zug um Zug die Koordinaten einer Station oder eines Finals berechnen.
Der Solver reagiert auf Klammersetzung, kann die Grundrechenarten, Quersummen, Winkelberechnungen, ROT13-Entschlüsselung, Buchstabe-zu-Zahl-Umrechnung und vieles mehr.
Ist eine Formel gelöst, lässt sich die Formel in einen Wegpunkt übertragen.

Die Bedienung in Cachebox für Android hat sich leicht geändert und ist noch nicht komplett dokumentiert (zB Copy+Paste). Die grundsätzliche Vorgehensweise ist jedoch gleich.!

Die automatische Zuordnung einer berechneten Formel funktioniert in der Android (ACB) und Windows (WCB) Version nicht !

Inhaltsverzeichnis

Der Solver

(folgender Text basiert auf der Anleitung von Silverio im Geoclub)

Die Solverfunktion ermöglicht es, Berechnungen aller Art, die während des Cachens notwendig werden, halbwegs automatisch durchführen zu können. Somit können mit entsprechender Vorbereitung diverse Berechnungen im "Feld" wesentlich effizienter erfolgen und das "paperless" Caching auch bei aufwendigen Multis Einzug finden. Wenngleich sich im Solver auch einfache mathematische Berechnungen durchführen lassen, liegt der Fokus auf der Berechnung von Koordinaten bzw. den einzelnen Stellen der Koordinaten durch Variablen.

Grundfunktionen

  • Übernahme der zu berechnenden Formeln aus der Cachebeschreibung
  • Eingabe auch manuell per Freitext möglich
  • Automatische Extraktion der Variablen aus den Formeln, soweit möglich
  • Berechnung der Formeln auch in Teilschritten, sobald die Lösung für einzelne Zwischenschritte bekannt ist
  • Übernahme der berechneten Koordinaten quasi per Mausklick als neue Wegpunkte

Voraussetzungen

Das primäre Ziel des Solvers ist natürlich, ein Koordinatenpaar zu errechnen, das für eine Station oder den Final gefunden werden muss. Es ist aber auch möglich einfach nur mal etwas zu berechnen, zum Beispiel die Quersumme der Zahl 123456789 oder ähnliches...

Folgendes ist zu beachten:

Variablen

  • Variablen müssen immer oberhalb der eigentlichen Formel stehen. Der Solver geht sozusagen von oben nach unten vor.
  • Variablen werden mit einem Gleichheitszeichen = abgeschlossen, dahinter folgt der Wert der Variablen

Gegebenenfalls erfolgt eine Abfrage, ob fehlende Variablen vor der Formel eingefügt werden sollen oder nicht, z.B.:

A=1
B=8 ...

Klammern

  • Klammern werden grundsätzlich ignoriert, dienen aber dennoch der Gruppierung der Formel.
  • Klammern werden auch nicht für Multiplikationen verwendet, wie es in der Mathematik üblich wäre, da sich dies in Cacherkreisen zumeist eingebürgert hat. Beispiel:
Wir haben eine Formel für den Teil einer Koordinate:
N 54° 3C.(A+B)(B-C)(C)
A sei 1, B sei 8 und C sei 5
In der Mathematik würde daraus:
N 54° 15.135 
da "3C" 3 mal C bedeutet und (A+B)(B-C)(C) -> (1+8)(8-5)(5) -> 9*3*5 -> 135
In Cacherkreisen werden die Klammern aber meist nur verwendet, um die einzelnen Stellen der Koordinatenangabe hervorzuheben. Also:
N 54° 3C.(A+B)(B-C)(C) -> N 54° 35.(1+8)(8-5)(5) -> N 54° 35.935
Dies gilt ebenso für eckige [] und geschweifte {} Klammern.

Gruppierung der Berechnungen/Variablen durch Leerzeichen

Abgesehen von der "Klammerung", können Berechnungen auch durch Leerzeichen gruppiert werden. Dies wird nötig, falls in einer Formel ansonsten nicht erkannt werden kann, welche Variablen einzeln stehen bzw. welche Variablen für die Berechnung einer neuen Stelle in der Formel verwendet werden müssen. Beispiel: Nehmen wir wieder dir Formel N 54° 3C.(A+B)(B-C)(C), oftmals sind in den Cachebeschreibungen aber auch Schreibweisen in dieser Art anzutreffen:

N 54° 3C.A+B B-C C

Wichtig ist nun, dass die einzelnen Stellen der Formel auch klar abgegrenzt sind und für den Solver somit erkennbar. Eine Formel: N 54° 3C.A+BB-CC kann nicht funktionieren, da der Solver evtl. erkennen würde, dass es sich um eine Berechnung der Variable A plus Variable BB minus Variable CC handelt.

Text

Text muss im Solver in Anführungszeichen gesetzt werden. Alle Zeichen, die von Anführungszeichen umschlossen sind, werden in keiner Weise in Berechnungen einbezogen sondern im Ergebnisfenster lediglich 1:1 wiederholt. Dort dann natürlich wieder ohne Anführungszeichen. So wird aus:

"N 54° 3"C"."(A+B)(B-C)(C)

mit den oben genannten Variablenwerten:

N 54° 35.935

Alternativ ist (ohne Klammern) auch folgende Schreibweise zulässig:

"N 54° 3"C"."A+B B-C C 

Beachte die Leerzeichen zwischen den einzelnen Formelstellen! Wichtig: Der bei Koordinaten übliche Dezimaltrennpunkt muss in Anführungszeichen gesetzt werden! Hier im Beispiel wurde jeweils der Teil der Formel, die unangetastet bleiben soll, rot markiert.

Außerdem muss darauf geachtet werden, dass die Formel am Ende eine gültige Koordinatenangabe ergibt, das gilt auch für das obligatorische Leerzeichen zwischen Gradzahl und Minutenwert! Es kann auch beliebiger anderer Text in den Solver aufgenommen werden, beispielsweise um die Formeln einzelner Stationen eines Multicaches unterscheiden zu können. Etwa so:

"Station 2:"
"N54° "(a-41)"."0(a-41)
"E008° 19."(315+a)
"Station 3:"
"N54° "(35+b)"."(8+a+3xb)
"E008° 18."(b+3)(11-b)(b²-18)
"Final:"
"N54° "(28+c)"."(100+4xc)
"E008° "(3+3xb)"."(430+a)

So kann man gleich zu Beginn alle Formeln im Solver haben und vor Cachebeginn vorbereiten. Beim Cachen selbst muss dann nur noch die jeweilige Variable befüllt werden und an jeder Station das neue Koordinatenpaar als neuer Wegpunkt hinzugefügt werden. Es muss allerdings jede Textzeile auch separat, also pro Zeile, in Anführungszeichen eingeschlossen sein!

Solver - Schritt für Schritt

In dieser Anleitung werden vorwiegend real existierende Caches von Silverios Lieblingsnordseeinsel Amrum verwendet. Die beispielhaften Lösungen haben aber nichts mit der tatsächlichen Lösung der Caches zu tun und sind frei erfunden!

Bleiben wir beim oben genannten Beispiel: Bei einem Cache auf Amrum (GC1G25K - Leuchtturmblick) ist die Jahreszahl gefragt, in welchem Jahr der Amrumer Leuchtturm seinen Betrieb aufnahm. Nehmen wir mal an, wir stehen vor dem Leuchtturm, schauen auf die Infotafel, die vor dem Leuchtturm steht und bekommen so heraus, der Leuchtturm wurde seit 1853 "befeuert".

Wir gehen nun folgendermaßen vor:

Kopieren der Formel in den Solver

In der Androidversion funktioniert das kopieren mit den in Android integrierten Copy+Paste funktion. Die Bedienung ist Versionsabhängig. In Android 4 erscheint nach Langdruck auf den Text die Textmarkierungssymbole. Die Kopierfunktion ist dann rechts oben zu finden.

In WinCachebox können wir den relevanten Teil, nämlich nur die Formel, in der Cachebeschreibung markieren und mit den üblichen Copy & Paste-Möglichkeiten dann in den Solver kopieren. In CacheBox auf dem PDA, hält man dazu den "Cache"-Button lange gedrückt, so dass das Menü erscheint. Nun markiert man die Checkbox Make Selection, dadurch wird die Cachebeschreibung markierbar. Hat man den gewünschten Text markiert, hält man wiederum auf dem markierten Text gedrückt, bis das Kontextmenü erscheint. Hier kann man nun Kopieren wählen. Im Solver kann man den Text dann über den Button Select einfügen.

Das Solver-Fenster ist zweigeteilt. Die linke Seite dient der Eingabe der Formeln, Variablen etc., die rechte Seite ist der Ausgabebereich des Solvers für die Lösung(en). In unserem Beispiel steht nun folgendes im linken Solverfenster:

N 54°3C.(A+B)(B-C)(C)
E 008°2A.(D+A+A)(A+C)(C)

Umarbeitung der Formeln in ein "Solvergerechtes Format"

Um die Eingabe der Variablen etwas einfacher zu gestalten, kann der Solver Variablen aus dem eingefügten Text, also aus der Formel extrahieren und diese dann sortiert oben im Solverfenster auflisten.

Dazu muss einerseits der eingefügte Text so bearbeitet werden, dass der Solver auch weiß, was Variablen sind und was nicht und andererseits müssen die Variablen eindeutig sein. Teile der Formel, die weder eine Variable enthalten, noch irgend einer Berechnung unterliegen, müssen in Anführungszeichen (Gänsefüßchen) eingeschlossen werden. Nur Teile der Formel, in denen gerechnet wird, oder eine Variable dann durch das Ergebnis ersetzt werden soll, werden nicht in Anführungszeichen gesetzt.

Aus:

N 54°3C.(A+B)(B-C)(C)
E 008°2A.(D+A+A)(A+C)(C)

wird somit:

"N 54° 3"C"."(A+B)(B-C)(C)
"E 008° 2"A"."(D+A+A)(A+C)(C)

Extraktion der Variablen

Nach der vollständigen Umarbeitung der Formeln muss der Button Solve gerückt werden. Dadurch wird der Text im linken Solver-Fenster analysiert und soweit möglich werden Variablen erkannt, aus den Formeln extrahiert und schließlich über dem bestehenden Text einzeln angeordnet. Für unser Beispiel sieht das dann etwa so aus:

A=
B=
C=
D=
"N 54°3"C"."(A+B)(B-C)(C)
"E 008°2"A"."(D+A+A)(A+C)(C)

Hinweis: Im rechten Teil des Solver-Fensters erscheinen evtl. Fehlermeldungen, da der Solver die Formel noch nicht komplett lösen konnte, Es fehlen ja auch noch die einzelnen Werte der Variablen.

Eingabe der Werte für die Variablen

Der Solver ist nun bereit, unsere Eingaben für die einzelnen Variablen aufzunehmen. In diesem Beispiel können wir alle 4 Variablen sofort befüllen, da die Jahreszahl ja schon bekannt ist. Also tragen wir ein:

A=1
B=8
C=5
D=3
"N 54°3"C"."(A+B)(B-C)(C)
"E 008°2"A"."(D+A+A)(A+C)(C)

Berechnung der Formeln

Der Solver ist nun bereit, die Berechnung durchzuführen, da wir alle geforderten Variablen eingegeben haben. Wir drücken nochmals auf den Button Solve und, wie von Zauberhand, erscheinen im rechten Teil des Solverfensters gültige Koordinatenangaben:

1
8
5
3
N 54° 35.935
E 008° 21.565

Im oberen Bereich werden nochmals die einzelnen Werte angezeigt, die die Variablen angenommen haben, darunter dann eben die Koordinaten.

Erzeugung von Wegpunkten aus den errechneten Werten

Wir können nun mit den bekannten Mitteln, das Koordinaten-Pärchen markieren und in WinCachebox mit einem Klick auf den Add Final-Button oder in CacheBox über Select > Add Waypoint diese Koordinaten als neuen Wegpunkt zu unserem Cache übernehmen.

Man kann hier aus einer Liste noch auswählen, um was für eine Art Wegpunkt es sich handelt. Erscheint nach Drücken des Buttons die Meldung "... are no valid Coordinates!" liegt in der Koordinate vermutlich ein Formatfehler vor. Zwischen Grad und Minutenwert sollte sich noch ein Leerzeichen befinden (also z.B.: N54° 35.935 und nicht N54°35.935)

Fertig!

Nun können wir den neu hinzugefügten Wegpunkt, in unserem Fall sind das ja die Final-Koordinaten, auswählen und anlaufen. Achtung: Tut das nicht mit den Koordinaten, die wir hier im Beispiel heraus bekommen haben! Ihr müsstet auf offene See schwimmen. ;-)

 

Befehlsgruppen

Die Grundrechenarten werden im Solver durch gängige Operatoren unterstützt:

  • Multiplikation durch das Zeichen: * (das übliche x funktioniert hier nicht)
  • Division durch das Zeichen: /
  • Addition und Subtraktion durch + oder -
  • Potenzieren durch das Zeichen ^
  • Klammern können durch () {} oder [] gesetzt werden

Folgende Berechnungen unterstützt der Solver neben den Grundrechenarten derzeit:

Koordinaten

Die Befehlsgruppe Koordinaten bietet folgende Funkionen zur Auswahl:

Projektion

Prinzipskizze Wegpunktprojektion

Unter Projektion (Wegpunktprojektion) versteht man in Kreisen des Geocachings die Berechnung eines neuen Wegpunktes anhand einer Startkoordinate (Wegpunkt oder momentaner Standpunkt), sowie der Entfernung zum neuen Wegpunkt und der Angabe des Winkels ausgehend von der geographischen Nordrichtung. Normalerweise wird dieses Verfahren auch als "polares Anhängen" bezeichnet.


Umsetzung im Solver:

Die Koordinaten des Standpunktes (Wegpunktes) müssen immer im Format "N 50° 12.345 / E 10° 56.789" eingegeben werden. Die Zeichen für N/S bzw. E/W stehen dabei immer am Anfang. Es empfiehlt sich, die Koordinate einer extra Variablen vor der Verwendung der Funktion zuzuweisen (siehe Beispiel koord=....). Wenn bereits ein Zielwegpunkt angelegt wurde, kann der Solver diesem auch gleich das Ergebnis übergeben.


Beispiel:

ausgehend von der Beispielkoordinate N50° 12.345 E010° 56.789, der Entfernung von 250m und einem Winkel von 243° sollte die Zuweisung folgendermaßen aussehen:

dist=250
bear=243
koord="N 50° 12.345 / E 10° 56.789"
Projektion(koord; dist; bear)

Dies führt nach der Lösung (Solve) zu folgendem Ergebnis:

250
243
N 50° 12.345 / E 10° 56.789
50° 12.284'N / 10° 56.601'E

Mit dem Ergebnis kann nun ein neuer Wegpunkt erzeugt werden (CB: Select. -> Add Waypoint WCB:Add Final)

Wenn der Solver das Ergebnis einem existierenden Wegpunkt übergeben soll, erfolgt die Zuweisung nach folgendem Beispiel (Wegpunktbezeichnung: C01GVYC):

$C01GVYC=Projektion(koord; dist; bear)

Ergebnis:

C01GVYC=50° 12.284'N / 10° 56.601'E

Soll von einem bestimmten vorhandenen Wegpunkt eine Berechnung erfolgen, kann die Zuweisung auch direkt erfolgen:

koord=$C11GVYC
Projektion(koord; dist; bear)

Schnittpunkt

Prinzipskizze Schnittpunktbestimmung

Die Funktion Schnittpunkt errechnet die Koordinate, an der sich 2 Geraden schneiden, die durch 4 bekannte Punkte definiert werden. Die erste Linie wird durch Wegpunkt 1 und Wegpunkt 2 festgelegt. Die Zweite durch Wegpunkt 3 und Wegpunkt 4


Umsetzung im Solver:

Die Koordinaten der Wegpunkte müssen immer im Format "N 50° 12.345 / E 10° 56.789" eingegeben werden. Die Zeichen für N/S bzw. E/W stehen dabei immer am Anfang. Es empfiehlt sich, die Koordinate einer extra Variablen vor der Verwendung der Funktion zuzuweisen (siehe Beispiel koord1=....). Wenn bereits ein Zielwegpunkt angelegt wurde, kann der Solver diesem auch gleich das Ergebnis übergeben.


Beispiel:

ausgehend von 4 definierten Wegpunkten soll der Schnittpunkt errechnet werden:

koord1="N 50° 12.345 / E 10° 56.789"
koord2="N 50° 13.345 / E 10° 57.789"
koord3="N 50° 12.345 / E 10° 57.789"
koord4="N 50° 13.345 / E 10° 56.789"
Schnittpunkt(koord1;koord2;koord3;koord4)

Dies führt nach der Lösung (Solve) zu folgendem Ergebnis:

N 50° 12.345 / E 10° 56.789
N 50° 13.345 / E 10° 57.789
N 50° 12.345 / E 10° 57.789
N 50° 13.345 / E 10° 56.789
50° 12.845'N / 10° 57.289'E

Mit dem Ergebnis kann nun ein neuer Wegpunkt erzeugt werden (CB: Select. -> Add Waypoint WCB:Add Final)

Wenn der Solver das Ergebnis einem existierenden Wegpunkt übergeben soll, erfolgt die Zuweisung nach folgendem Beispiel (Wegpunktbezeichnung: C01GVYC):

$C01GVYC=Schnittpunkt(koord1;koord2;koord3;koord4)

Ergebnis:

C01GVYC=50° 12.845'N / 10° 57.289'E

Soll von bestimmten vorhandenen Wegpunkten eine Berechnung erfolgen, kann die Zuweisung auch direkt erfolgen:

koord1=$C11GVYC
koord2=$C21GVYC
koord3=$C31GVYC
koord4=$C41GVYC
Schnittpunkt(koord1;koord2;koord3;koord4)

 

Kreuzpeilung

Prinzipskizze Kreuzpeilung

Mit der Funktion Kreuzpeilung wird der Schnittpunkt berechnet, welcher sich aus 2 bekannten Wegpunkten und der im jeweiligen Wegpunkt bekannten Winkelpeilung zum Schnittpunkt ergibt. In der Navigation ist dieses Verfahren eher in umgedrehter Richtung bekannt: Man möchte seine Position anhand zweier bekannter Fixpunkt mithilfe der zu diesen bestimmten Richtungen ausgehend von Norden ermitteln (Stichwort Rückwärtseinschnitt bei den Vermessern).


Umsetzung im Solver:

Die Koordinaten der Wegpunkte müssen immer im Format "N 50° 12.345 / E 10° 56.789" eingegeben werden. Die Zeichen für N/S bzw. E/W stehen dabei immer am Anfang. Es empfiehlt sich, die Koordinate einer extra Variablen vor der Verwendung der Funktion zuzuweisen (siehe Beispiel koord1=....). Wenn bereits ein Zielwegpunkt angelegt wurde, kann der Solver diesem auch gleich das Ergebnis übergeben.


Beispiel:

ausgehend von 2 definierten Wegpunkten und den von dort ausgehenden Winkelpeilungen soll der Schnittpunkt errechnet werden:

koord1="N 50° 12.345 / E 10° 56.789"
winkel1=45
koord2="N 50° 13.345 / E 10° 57.789"
winkel2=180
Kreuzpeilung(koord1;winkel1;koord2;winkel2)

Dies führt nach der Lösung (Solve) zu folgendem Ergebnis:

N 50° 12.345 / E 10° 56.789
N 50° 13.345 / E 10° 57.789
45
180
50° 12.985'N / 10° 57.789'E

Mit dem Ergebnis kann nun ein neuer Wegpunkt erzeugt werden (CB: Select. -> Add Waypoint WCB:Add Final)

Wenn der Solver das Ergebnis einem existierenden Wegpunkt übergeben soll, erfolgt die Zuweisung nach folgendem Beispiel (Wegpunktbezeichnung: C01GVYC):

$C01GVYC=Kreuzpeilung(koord1;winkel1;koord2;winkel2)

Ergebnis:

C01GVYC=50° 12.985'N / 10° 57.789'E

Soll von bestimmten vorhandenen Wegpunkten eine Berechnung erfolgen, kann die Zuweisung auch direkt erfolgen:

koord1=$C11GVYC
koord2=$C21GVYC
winkel1=45
winkel2=180
Kreuzpeilung(koord1;winkel1;koord2;winkel2)

 

Peilung

Prinzipskizze Peilung

Die Funktion Peilung errechnet den Winkel ausgehend von Norden am angegebennen Standpunkt bezogen auf einen bekannten Zielpunkt. (Richtungswinkel)


Umsetzung im Solver:

Die Koordinaten der Wegpunkte müssen immer im Format "N 50° 12.345 / E 10° 56.789" eingegeben werden. Die Zeichen für N/S bzw. E/W stehen dabei immer am Anfang. Es empfiehlt sich, die Koordinate einer extra Variablen vor der Verwendung der Funktion zuzuweisen (siehe Beispiel koord1=....).


Beispiel:

ausgehend vom Standpunkt (koord1) soll die Peilung zum Zielpunkt (koord2)errechnet werden:

koord1="N 50° 12.345 / E 10° 56.789"
koord2="N 50° 13.345 / E 10° 57.789"
Peilung(koord1;koord2)

Dies führt nach der Lösung (Solve) zu folgendem Ergebnis:

N 50° 12.345 / E 10° 56.789
N 50° 13.345 / E 10° 57.789
32,6096217765206

Mit den Funktionen Ganzzahl oder Runden kann das Ergebnis dann weiter vereinfacht und nach Bedarf neuen Variablen zugewiesen werden.

Winkel1=Runden(Peilung(koord1;koord2);1)

Ergebnis:

32,6

Soll von bestimmten vorhandenen Wegpunkten eine Berechnung erfolgen, kann die Zuweisung auch direkt erfolgen:

koord1=$C11GVYC
koord2=$C21GVYC
Peilung(koord1;koord2)

 

Abstand

Die Funktion Abstand errechnet die Strecke zwischen den beiden angegebennen Koordinaten in Metern.


Umsetzung im Solver:

Die Koordinaten der Wegpunkte müssen immer im Format "N 50° 12.345 / E 10° 56.789" eingegeben werden. Die Zeichen für N/S bzw. E/W stehen dabei immer am Anfang. Es empfiehlt sich, die Koordinate einer extra Variablen vor der Verwendung der Funktion zuzuweisen (siehe Beispiel koord1=....).


Beispiel:

ausgehend von 2 definierten Wegpunkten soll der Abstand errechnet werden:

koord1="N 50° 12.345 / E 10° 56.789"
koord2="N 50° 13.345 / E 10° 57.789"
Abstand(koord1;koord2)

Dies führt nach der Lösung (Solve) zu folgendem Ergebnis:

N 50° 12.345 / E 10° 56.789
N 50° 13.345 / E 10° 57.789
2202,84814453125

Mit den Funktionen Ganzzahl oder Runden kann das Ergebnis dann weiter vereinfacht und nach Bedarf neuen Variablen zugewiesen werden.

Abst1=Runden(Abstand(koord1;koord2);1)

Ergebnis:

2202,8

Soll von bestimmten vorhandenen Wegpunkten eine Berechnung erfolgen, kann die Zuweisung auch direkt erfolgen:

koord1=$C11GVYC
koord2=$C21GVYC
Abstand(koord1;koord2)

Text

Die Befehlsgruppe Text bietet folgende Funkionen zur Auswahl:

  • AplhaSum (errechnet vom Wort die Summe der Buchstabenposition im Aplhabet)
Beispiel: AlphaSum("AZ")   Ergebnis: 27 
  • AlphaPos (bestimmt die Position des 1. Zeichens im Alphabet)
Beispiel: AlphaPos("AZ")   Ergebnis: 1 
  • HandyCode (bestimmt die Position des 1. Zeichens auf der Handytastatur)
Beispiel: HandyCode("AZ")  Ergebnis: 2 
  • HandySum (errechnet vom Wort die Summe der Zeichen auf der Handytastatur)
Beispiel: HandySum("test") Ergebnis: 26 
  • Länge (bestimmt die Länge des Wortes)
Beispiel: Länge("test")    Ergebnis: 4 
  • Reverse (kehrt die Reihenfolge der Buchstaben im Wort um)
Beispiel: Reverse("ABC")   Ergebnis: CBA
  • Rot13 (ver- entschlüsselt nach Rot13)
Beispiel: Rot13("test")    Ergebnis: grfg

Zahlen

Die Befehlsgruppe Zahlen bietet folgende Funkionen zur Auswahl:

  • Quersumme (errechnet die Summe der einzelnen Ziffern)
Beispiel: Quersumme(123456) Ergebnis: 21
  • IQuersumme (errechnet die Summe der einzelnen Ziffern bis das Ergebnis einstellig ist)
Beispiel: IQuersumme(123456) Ergebnis: 1+2+3+4+5+6 = 21 -> 2+1 = 3
  • Querprodukt (errechnet das Produkte aller einzelnen Ziffern)
Beispiel: Querprodukt(1234)  Ergebnis: 24
  • IQuerprodukt (errechnet das Produkte aller einzelnen Ziffern bis das Ergebnis einstellig ist)
Beispiel: IQuerprodukt(1234) Ergebnis: 1*2*3*4 = 24 -> 2*4 = 8
  • Rom2Dec (rechnet römische Zahlen in Dezimalzahlen um)
Beispiel: Rom2Dec("X")       Ergebnis: 10
  • Primzahl (liefert die angegebene Primzahl)
Beispiel: Primzahl(5)        Ergebnis: 11    (5. Primzahl)
  • PrimIndex (Umkehrung zu Primzahl: liefert den Index der angegebenen Primzahl)
Beispiel: PrimIndex(11)      Ergebnis: 5 
  • Ganzzahl (berücksichtig bei einer Zahl mit Komma nur die Vorkommastellen)
Beispiel: Ganzzahl(-5,7)     Ergebnis: -5
  • Runden (rundet die angegebene Zahl auf gewünschte Stellen nach dem Komma)
Beispiel: Runden(3,14159;2)  Ergebnis: 3.14
  • Pi (liefert die Zahl pi)
Beispiel: Pi()               Ergebnis: 3.14159265........

Hinweise/spezielle Verfahrensweisen

Zuweisung einzelner Stellen einer Zahl zu Variablen

In manchen Fällen soll eine bestimmte Stelle einer errechneten Zahl einer Variablen zugewiesen werden. (z.B. X=804, A soll die erste Stelle sein, B die Zweite und C die Dritte)

Dies kann in folgender Weise gelöst werden (Beispiel von Ging-Buh aus Geoclub):

X=804
D=Int(X/100)
E=Int((X-D*100)/10)
F=Int(X-D*100-E*10)

Bei vierstelligen Zahlen (beliebt bei Jahreszahlen)

X=1977
D=Int(X/1000)
E=Int((X-D*1000)/100)
F=Int((X-D*1000-E*100)/10)
G=Int(X-D*1000-E*100-F*10)

 

Anzahl der Stellen einer Zahl vorgeben

Mit dem Operator ":" kann eine Zahl durch Einfügen von führenden Nullen auf eine bestimmte Stellenanzahl aufgebohrt werden.

E=72
"N 54°35."E

Das Ergebnis wäre N 54°35.72, mathematisch gleichbedeutend mit N 54°35.720. Will der Owner gesammelte Zahlen als Dezimalminuten interpretiert wissen, ist aber tatsächlich N 54°35.072 gemeint. Hier bietet es sich an, mit ":3" eine dreistellige Ausgabe zu erzwingen, auch wenn die Variable weniger signifikante Stellen hat:

E=72
"N 54°35."E:3 Ergebnis: N 54°35.072

Powerd by

                        

Free business joomla templates