<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.letto.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Letto-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.letto.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php/Spezial:Beitr%C3%A4ge/Admin"/>
	<updated>2026-04-27T20:00:30Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3457</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3457"/>
		<updated>2024-05-15T10:42:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* erweiterte arithmetische Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
== Berechnungen mit &amp;quot;Vorberechnung&amp;quot; und Maxima (Parser nicht angehakt) ==&lt;br /&gt;
* Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet&lt;br /&gt;
* Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt&lt;br /&gt;
* Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit&lt;br /&gt;
* Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an&lt;br /&gt;
&lt;br /&gt;
=== Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!) ===&lt;br /&gt;
* Definition einer Einheit mit der Funktion unit in einem Kommentar&lt;br /&gt;
* Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen  &lt;br /&gt;
  //unit(U*)=V&lt;br /&gt;
* Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen&lt;br /&gt;
  //unit(I*,ix*)=A&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;#124; &amp;amp;#124; || 60 || Parallelschaltung || x &amp;amp;#124; &amp;amp;#124; y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Mathematische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) &amp;lt;br&amp;gt; mod(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| mod2 || Symmetrische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis &amp;lt;br&amp;gt;Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments &amp;lt;br&amp;gt;Siehe auch Divisionsrest des Parser-Operators % [[Berechnungen#arithmetische_Operatoren]] || mod2(5,2) &amp;lt;br&amp;gt; mod2(6.2,2.5) &amp;lt;br&amp;gt; mod2(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || cnewton (x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newtonall (x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || cnewtonall (x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gleichungen und Gleichungssysteme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Revision&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ] || &lt;br /&gt;
|-&lt;br /&gt;
| lhs || liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators || lhs(x+y=c+2) || x+y || 6521&lt;br /&gt;
|-&lt;br /&gt;
| rhs || liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators || rhs(x+y=c+2) || c+2 || 6521&lt;br /&gt;
|-&lt;br /&gt;
| onlypos || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind || onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) &amp;lt;br&amp;gt; onlypos([x=-2,x=0,x=6,x=8]) || [ [x=4,y=5] ] &amp;lt;br&amp;gt; [x=7,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
| onlyreal || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind || onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) &amp;lt;br&amp;gt; onlyreal([x=%i+1,x=1-%i,x=3,x=8]) || [ [x=3,y=4] ] &amp;lt;br&amp;gt; [x=3,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Polynome===&lt;br /&gt;
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Zahlendarstellung#f.C3.BCr_Polynome_und_gebrochen_rationale_Funktionen_mit_numerischen_Koeffizienten_in_einer_Variablen_k.C3.B6nnen_folgende_Parameter_angegeben_werden|Zahlendarstellung Polynome]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| polynom(p) || Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen || polynom(1+x) || 1+x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var) || Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. || polynom(1+a*x^2,x) &amp;lt;br&amp;gt; polynom(1+2*x^2,x) || polynom(1+a*x^2,x)&amp;lt;br&amp;gt;1+2*x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var,&amp;quot;einheit&amp;quot;) || Erzeugt ein Polynom in der Variablen var, mit der Einheit &amp;quot;einheit&amp;quot; für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! || polynom(1+2*p^2,p,&amp;quot;s-1&amp;quot;) &amp;lt;br&amp;gt; polynom(1+2&#039;s2&#039;*p^2,p,&amp;quot;s-1&amp;quot;) || 1+2&#039;s2&#039;*p^2 &amp;lt;br&amp;gt;1+2&#039;s2&#039;*p^2&lt;br /&gt;
|-&lt;br /&gt;
| factfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable|| factfrompolynom(polynom((2+x)/(1+2*x))) || [[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromfact(f) || Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom || polynomfromfact([[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromfact(zähler,nenner,var,einheit) || Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom || polynomfromfact([1,0.5],[0.5,1],x,&amp;quot;&amp;quot;) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| nullfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable|| nullfrompolynom(polynom((2+x)/(1+2*x))) || [0.5,[-2],[-0.5],x]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromnull(n) || Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom || polynomfromnull([0.5,[-2],[-0.5],x]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromnull(faktor,nullstellen,polstellen,var) || Erzeugt aus einer Faktor-Vektoren ein neues Polynom || polynomfromnull(0.5,[-2],[-0.5],x) || (2+x)/(1+2*x)&lt;br /&gt;
|-  &lt;br /&gt;
| polynomk(p) || Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. || polynomk(polynom((2+x)/(1+2*x))) || 0.5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel &#039;&#039;&#039;erforderlich&#039;&#039;&#039;, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.|| setshuffle([3,-3,2,0,5,2],5) || [2,3,−3,2,0,5] || 6082&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Punkte-Mengen-Funktionen ===&lt;br /&gt;
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.&lt;br /&gt;
&lt;br /&gt;
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| pvabs || Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. || pvabs([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvabs([[2,3],[4,5],[6,3],[-2,4]],1) ||  [3.6056,6.4031,6.7082,4.4721] &amp;lt;br&amp;gt; 6.4031 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvarg || Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. || pvarg([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvarg([[2,3],[4,5],[6,3],[-2,4]],1) || [0.98279,0.89606,0.46365,2.0344] &amp;lt;br&amp;gt; 0.89606 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvget || Liefert einen Punkt der Punkteliste. || pvget([[2,3],[4,5],[6,3],[-2,4]],1) || [4,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgetx || Bestimmt die x-Koordinate eines Punktes oder aller Punkte. || pvgetx([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) || [2,4,6,-2]&amp;lt;br&amp;gt;4 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgety || Bestimmt die y-Koordinate eines Punktes oder aller Punkte. || pvgety([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgety([[2,3],[4,5],[6,3],[-2,4]],1) || [3,5,3,4]&amp;lt;br&amp;gt;3 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvdistance || Bestimmt die Abstände als Vektoren zwischen den Punkten. pvdistance([A,B,C]) liefert [AB,BC,CA] || pvdistance([[1,2],[3,4],[10,10]]) || [[2,2],[7,6],[-9,-8] || 6569&lt;br /&gt;
|-&lt;br /&gt;
| pvlineabs || Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. || pvlineabs([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) || [2.8284,8.0623]&amp;lt;br&amp;gt;2.82842712475 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinearg || Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse || pvlinearg([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) || [45°,172.87°]&amp;lt;br&amp;gt;45° || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinek || Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar || pvlinek([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) ||  [1,−0.125]&amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlined || Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse || pvlined([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlined([[2,3],[4,5],[6,3],[-2,4]],0) || [1,3.75] &amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvline || Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar || pvline([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvline([[2,3],[4,5],[6,3],[-2,4]],0) || [y=1+x,y=3.75−0.125⋅x]&amp;lt;br&amp;gt;y=x+1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvpoints || Bestimmt die Anzahl der Punkte || pvpoints([[2,3],[4,5],[6,3],[-2,4]]) || 4 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvvect || Bestimmt einen Vector aus dem n-te Punktepaar || pvvect([[2,3],[4,5],[6,3],[-2,4]],0) || [2,2] || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortx || Sortiert die Punkte nach steigender x-Koordinate || pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsorty || Sortiert die Punkte nach steigender y-Koordinate || pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortabs || Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors || pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortarg || Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) || pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinex || Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. || pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortliney || Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. || pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortlineabs || Sortiert Punktepaare nach steigendem Betrag der Linienlänge. || pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinearg || Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. || pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvequals || Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. || pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[2.01,3],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhaspoint || Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhasline || Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) || true || 6078&lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvfunc || Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) || pvfunc(x^2,x,-2,2,0.5) || [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvcompare || Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz.&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,Toleranz)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) &amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) || pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) || true  || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvunion || hängt mehrere Punktevektoren zu einem größereren Punktevektor zusammen || pvunion([[1,2],[3,4]],[[5,6],[7,8]],[9,10]) || [[1,2],[3,4],[5,6],[7,8],[9,10]] || 6569&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
====Index von Matrizen====&lt;br /&gt;
* Als Parameter von Matrix-, PV- und Vektor-&#039;&#039;&#039;Funktion&#039;&#039;&#039; beginnt der Index immer &#039;&#039;&#039;bei 0 zu zählen&#039;&#039;&#039;.&lt;br /&gt;
* Greift man über den Namen und &#039;&#039;&#039;eckige Klammer&#039;&#039;&#039; auf den Index zu wird der Maxima-kompatible Index verwendet welcher &#039;&#039;&#039;bei 1 zu zählen&#039;&#039;&#039; beginnt.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M:[[1,2,3],[4,5,6],[7,8,9]]&lt;br /&gt;
a:vget(M,1,2)&lt;br /&gt;
b:M[2,3]&lt;br /&gt;
c:M[2][3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
a,b,c liefert immer das gleiche Element der Matrix!&lt;br /&gt;
&lt;br /&gt;
====Funktionen====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| first || liefert das erste Element mit dem Index 0 eines Vektors || first([12,13,14]) || 12&lt;br /&gt;
|-&lt;br /&gt;
| second || liefert das zweite Element mit dem Index 1 eines Vektors || second([12,13,14]) || 13&lt;br /&gt;
|- &lt;br /&gt;
| third|| liefert das dritte Element mit dem Index 2 eines Vektors || third([12,13,14]) || 14&lt;br /&gt;
|-&lt;br /&gt;
| fourth || liefert das vierte Element mit dem Index 3 eines Vektors || fourth ([12,13,14,15,16,17,18]) || 15&lt;br /&gt;
|-&lt;br /&gt;
| fifth || liefert das fünfte Element mit dem Index 4 eines Vektors || fifth ([12,13,14,15,16,17,18]) || 16&lt;br /&gt;
|-&lt;br /&gt;
| sixth || liefert das sechste Element mit dem Index 5 eines Vektors || sixth ([12,13,14,15,16,17,18]) || 17&lt;br /&gt;
|-&lt;br /&gt;
| vgetmaxima || liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vgetmaxima([12,13,14],1) || 12 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vsetmaxima || setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vsetmaxima([12,13,14],1,35) || [35,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| mcunion  || Fügt mehrere Matrizen oder Vektoren spaltenweise(nebeneinander) zusammen || mcunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]]) || [[1,2,3,10,11],[4,5,6,12,13],[7,8,9,14,15]]&lt;br /&gt;
|-&lt;br /&gt;
| mrunion  || Fügt mehrere Matrizen oder Vektoren zeileweise(untereinander) zusammen || mrunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]]) || [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]]&lt;br /&gt;
|-&lt;br /&gt;
| msub     || msub(matrix,zeile,spalte,zeilen,spalten) Liefert eine Untermatrix beginnend bei Zeile und Spalten mit der angegebenen Anzahl von Zeilen und Spalten. Die Parameter Spalte,Zeilen und Spalten sind dabei optional. || msub([[1,2,3],[4,5,6],[7,8,9]],0,1,2,2) || [[2,3],[5,6]]&lt;br /&gt;
|-&lt;br /&gt;
| mcinsert || mcinsert(matrix,matrixodervektor,position) Fügt an der Spaltenposition eine Matrix oder einen Vektor als neue Spalten ein || mcinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]],1) || [[1,10,11,2,3],[4,12,13,5,6],[7,14,15,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| mrinsert || mrinsert(matrix,matrixodervektor,position) Fügt an der Zeilenposition eine Matrix oder einen Vektor als neue Zeilen ein || mrinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]],1) || [[1,2,3],[10,11,12],[13,14,15],[4,5,6],[7,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| mcdelete || mcdelete(matrix,position) Löscht die angegebene Spalte aus einer Matrix || mcdelete([[1,2,3],[4,5,6],[7,8,9]],1) || [[1,3],[4,6],[7,9]] &lt;br /&gt;
|-&lt;br /&gt;
| mrdelete || mrdelete(matrix,position) Löscht die angegebene Zeile aus einer Matrix || mrdelete([[1,2,3],[4,5,6],[7,8,9]],1) || [[1,2,3],[7,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
|-&lt;br /&gt;
| range || range(anzahl) liefert ein Feld von ganzzahligen Werten von 0 beginnend || range(5) || [0,1,2,3,4]&lt;br /&gt;
|-&lt;br /&gt;
| linspace || linspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem Abstand || linspace(4,8,5) || [4,5,6,7,8]&lt;br /&gt;
|-&lt;br /&gt;
| logspace || logspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem logarithmischen Abstand || logspace(10,10000,4) || [10,100,1000,10000]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || Revision&lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| forloop || Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). &amp;lt;br&amp;gt;Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. || forloop(i,1,i&amp;lt;7,i++,i,&amp;quot;+&amp;quot;)&amp;lt;br&amp;gt;forloop(i,1,i&amp;lt;7,i:i+2,i) || 21&amp;lt;br&amp;gt;[1,3,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datums und Zeitfunktionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || REvision&lt;br /&gt;
|-&lt;br /&gt;
| dateparse || Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| date || date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datestring || datestring(x) datestring(x,\&amp;quot;format\&amp;quot;) erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| timestring || erzeugt eine Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datetimestring || erzeugt Datum und Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateyear || Erzeugt aus einem Datum als Ganzzahl das Jahr || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datemonth || Erzeugt aus einem Datum als Ganzzahl das Monat || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateday || Erzeugt aus einem Datum als Ganzzahl den Tag || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datehour || Erzeugt aus einem Datum als Ganzzahl die Stunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateminute || Erzeugt aus einem Datum als Ganzzahl die Minute || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datesecond || Erzeugt aus einem Datum als Ganzzahl die Sekunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datediff || Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweekday || Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweek || Liefert die Kalenderwoche des Tages innerhalb des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datedayofyear || Liefert den Tag des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| years || Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| months || Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| weeks || Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| days || Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| hours || Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| minutes || Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| seconds || Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Raumzeiger die Stranggrössen &amp;lt;br&amp;gt; berechnet aus einem komplexen Raumzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Probleme mit großen Gleichungssystemen=&lt;br /&gt;
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden.&lt;br /&gt;
Dabei werden allerdings alle Einheiten entfernt und können wieder über .... zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3456</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3456"/>
		<updated>2024-05-15T10:41:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* erweiterte arithmetische Funktionen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
== Berechnungen mit &amp;quot;Vorberechnung&amp;quot; und Maxima (Parser nicht angehakt) ==&lt;br /&gt;
* Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet&lt;br /&gt;
* Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt&lt;br /&gt;
* Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit&lt;br /&gt;
* Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an&lt;br /&gt;
&lt;br /&gt;
=== Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!) ===&lt;br /&gt;
* Definition einer Einheit mit der Funktion unit in einem Kommentar&lt;br /&gt;
* Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen  &lt;br /&gt;
  //unit(U*)=V&lt;br /&gt;
* Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen&lt;br /&gt;
  //unit(I*,ix*)=A&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;#124; &amp;amp;#124; || 60 || Parallelschaltung || x &amp;amp;#124; &amp;amp;#124; y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Mathematische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) &amp;lt;br&amp;gt; mod(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| mod2 || Symmetrische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis &amp;lt;br&amp;gt;Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments &amp;lt;br&amp;gt;Siehe auch Divisionsrest des Parser-Operators % [[Berechnungen#arithmetische_Operatoren]] || mod2(5,2) &amp;lt;br&amp;gt; mod2(6.2,2.5) &amp;lt;br&amp;gt; mod2(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || cnewton (x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || cnewtonall (x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gleichungen und Gleichungssysteme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Revision&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ] || &lt;br /&gt;
|-&lt;br /&gt;
| lhs || liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators || lhs(x+y=c+2) || x+y || 6521&lt;br /&gt;
|-&lt;br /&gt;
| rhs || liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators || rhs(x+y=c+2) || c+2 || 6521&lt;br /&gt;
|-&lt;br /&gt;
| onlypos || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind || onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) &amp;lt;br&amp;gt; onlypos([x=-2,x=0,x=6,x=8]) || [ [x=4,y=5] ] &amp;lt;br&amp;gt; [x=7,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
| onlyreal || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind || onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) &amp;lt;br&amp;gt; onlyreal([x=%i+1,x=1-%i,x=3,x=8]) || [ [x=3,y=4] ] &amp;lt;br&amp;gt; [x=3,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Polynome===&lt;br /&gt;
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Zahlendarstellung#f.C3.BCr_Polynome_und_gebrochen_rationale_Funktionen_mit_numerischen_Koeffizienten_in_einer_Variablen_k.C3.B6nnen_folgende_Parameter_angegeben_werden|Zahlendarstellung Polynome]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| polynom(p) || Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen || polynom(1+x) || 1+x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var) || Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. || polynom(1+a*x^2,x) &amp;lt;br&amp;gt; polynom(1+2*x^2,x) || polynom(1+a*x^2,x)&amp;lt;br&amp;gt;1+2*x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var,&amp;quot;einheit&amp;quot;) || Erzeugt ein Polynom in der Variablen var, mit der Einheit &amp;quot;einheit&amp;quot; für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! || polynom(1+2*p^2,p,&amp;quot;s-1&amp;quot;) &amp;lt;br&amp;gt; polynom(1+2&#039;s2&#039;*p^2,p,&amp;quot;s-1&amp;quot;) || 1+2&#039;s2&#039;*p^2 &amp;lt;br&amp;gt;1+2&#039;s2&#039;*p^2&lt;br /&gt;
|-&lt;br /&gt;
| factfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable|| factfrompolynom(polynom((2+x)/(1+2*x))) || [[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromfact(f) || Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom || polynomfromfact([[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromfact(zähler,nenner,var,einheit) || Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom || polynomfromfact([1,0.5],[0.5,1],x,&amp;quot;&amp;quot;) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| nullfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable|| nullfrompolynom(polynom((2+x)/(1+2*x))) || [0.5,[-2],[-0.5],x]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromnull(n) || Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom || polynomfromnull([0.5,[-2],[-0.5],x]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromnull(faktor,nullstellen,polstellen,var) || Erzeugt aus einer Faktor-Vektoren ein neues Polynom || polynomfromnull(0.5,[-2],[-0.5],x) || (2+x)/(1+2*x)&lt;br /&gt;
|-  &lt;br /&gt;
| polynomk(p) || Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. || polynomk(polynom((2+x)/(1+2*x))) || 0.5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel &#039;&#039;&#039;erforderlich&#039;&#039;&#039;, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.|| setshuffle([3,-3,2,0,5,2],5) || [2,3,−3,2,0,5] || 6082&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Punkte-Mengen-Funktionen ===&lt;br /&gt;
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.&lt;br /&gt;
&lt;br /&gt;
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| pvabs || Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. || pvabs([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvabs([[2,3],[4,5],[6,3],[-2,4]],1) ||  [3.6056,6.4031,6.7082,4.4721] &amp;lt;br&amp;gt; 6.4031 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvarg || Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. || pvarg([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvarg([[2,3],[4,5],[6,3],[-2,4]],1) || [0.98279,0.89606,0.46365,2.0344] &amp;lt;br&amp;gt; 0.89606 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvget || Liefert einen Punkt der Punkteliste. || pvget([[2,3],[4,5],[6,3],[-2,4]],1) || [4,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgetx || Bestimmt die x-Koordinate eines Punktes oder aller Punkte. || pvgetx([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) || [2,4,6,-2]&amp;lt;br&amp;gt;4 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgety || Bestimmt die y-Koordinate eines Punktes oder aller Punkte. || pvgety([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgety([[2,3],[4,5],[6,3],[-2,4]],1) || [3,5,3,4]&amp;lt;br&amp;gt;3 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvdistance || Bestimmt die Abstände als Vektoren zwischen den Punkten. pvdistance([A,B,C]) liefert [AB,BC,CA] || pvdistance([[1,2],[3,4],[10,10]]) || [[2,2],[7,6],[-9,-8] || 6569&lt;br /&gt;
|-&lt;br /&gt;
| pvlineabs || Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. || pvlineabs([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) || [2.8284,8.0623]&amp;lt;br&amp;gt;2.82842712475 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinearg || Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse || pvlinearg([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) || [45°,172.87°]&amp;lt;br&amp;gt;45° || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinek || Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar || pvlinek([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) ||  [1,−0.125]&amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlined || Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse || pvlined([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlined([[2,3],[4,5],[6,3],[-2,4]],0) || [1,3.75] &amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvline || Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar || pvline([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvline([[2,3],[4,5],[6,3],[-2,4]],0) || [y=1+x,y=3.75−0.125⋅x]&amp;lt;br&amp;gt;y=x+1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvpoints || Bestimmt die Anzahl der Punkte || pvpoints([[2,3],[4,5],[6,3],[-2,4]]) || 4 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvvect || Bestimmt einen Vector aus dem n-te Punktepaar || pvvect([[2,3],[4,5],[6,3],[-2,4]],0) || [2,2] || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortx || Sortiert die Punkte nach steigender x-Koordinate || pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsorty || Sortiert die Punkte nach steigender y-Koordinate || pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortabs || Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors || pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortarg || Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) || pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinex || Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. || pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortliney || Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. || pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortlineabs || Sortiert Punktepaare nach steigendem Betrag der Linienlänge. || pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinearg || Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. || pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvequals || Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. || pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[2.01,3],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhaspoint || Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhasline || Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) || true || 6078&lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvfunc || Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) || pvfunc(x^2,x,-2,2,0.5) || [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvcompare || Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz.&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,Toleranz)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) &amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) || pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) || true  || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvunion || hängt mehrere Punktevektoren zu einem größereren Punktevektor zusammen || pvunion([[1,2],[3,4]],[[5,6],[7,8]],[9,10]) || [[1,2],[3,4],[5,6],[7,8],[9,10]] || 6569&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
====Index von Matrizen====&lt;br /&gt;
* Als Parameter von Matrix-, PV- und Vektor-&#039;&#039;&#039;Funktion&#039;&#039;&#039; beginnt der Index immer &#039;&#039;&#039;bei 0 zu zählen&#039;&#039;&#039;.&lt;br /&gt;
* Greift man über den Namen und &#039;&#039;&#039;eckige Klammer&#039;&#039;&#039; auf den Index zu wird der Maxima-kompatible Index verwendet welcher &#039;&#039;&#039;bei 1 zu zählen&#039;&#039;&#039; beginnt.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
M:[[1,2,3],[4,5,6],[7,8,9]]&lt;br /&gt;
a:vget(M,1,2)&lt;br /&gt;
b:M[2,3]&lt;br /&gt;
c:M[2][3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
a,b,c liefert immer das gleiche Element der Matrix!&lt;br /&gt;
&lt;br /&gt;
====Funktionen====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| first || liefert das erste Element mit dem Index 0 eines Vektors || first([12,13,14]) || 12&lt;br /&gt;
|-&lt;br /&gt;
| second || liefert das zweite Element mit dem Index 1 eines Vektors || second([12,13,14]) || 13&lt;br /&gt;
|- &lt;br /&gt;
| third|| liefert das dritte Element mit dem Index 2 eines Vektors || third([12,13,14]) || 14&lt;br /&gt;
|-&lt;br /&gt;
| fourth || liefert das vierte Element mit dem Index 3 eines Vektors || fourth ([12,13,14,15,16,17,18]) || 15&lt;br /&gt;
|-&lt;br /&gt;
| fifth || liefert das fünfte Element mit dem Index 4 eines Vektors || fifth ([12,13,14,15,16,17,18]) || 16&lt;br /&gt;
|-&lt;br /&gt;
| sixth || liefert das sechste Element mit dem Index 5 eines Vektors || sixth ([12,13,14,15,16,17,18]) || 17&lt;br /&gt;
|-&lt;br /&gt;
| vgetmaxima || liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vgetmaxima([12,13,14],1) || 12 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vsetmaxima || setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vsetmaxima([12,13,14],1,35) || [35,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| mcunion  || Fügt mehrere Matrizen oder Vektoren spaltenweise(nebeneinander) zusammen || mcunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]]) || [[1,2,3,10,11],[4,5,6,12,13],[7,8,9,14,15]]&lt;br /&gt;
|-&lt;br /&gt;
| mrunion  || Fügt mehrere Matrizen oder Vektoren zeileweise(untereinander) zusammen || mrunion([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]]) || [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]]&lt;br /&gt;
|-&lt;br /&gt;
| msub     || msub(matrix,zeile,spalte,zeilen,spalten) Liefert eine Untermatrix beginnend bei Zeile und Spalten mit der angegebenen Anzahl von Zeilen und Spalten. Die Parameter Spalte,Zeilen und Spalten sind dabei optional. || msub([[1,2,3],[4,5,6],[7,8,9]],0,1,2,2) || [[2,3],[5,6]]&lt;br /&gt;
|-&lt;br /&gt;
| mcinsert || mcinsert(matrix,matrixodervektor,position) Fügt an der Spaltenposition eine Matrix oder einen Vektor als neue Spalten ein || mcinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11],[12,13],[14,15]],1) || [[1,10,11,2,3],[4,12,13,5,6],[7,14,15,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| mrinsert || mrinsert(matrix,matrixodervektor,position) Fügt an der Zeilenposition eine Matrix oder einen Vektor als neue Zeilen ein || mrinsert([[1,2,3],[4,5,6],[7,8,9]],[[10,11,12],[13,14,15]],1) || [[1,2,3],[10,11,12],[13,14,15],[4,5,6],[7,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| mcdelete || mcdelete(matrix,position) Löscht die angegebene Spalte aus einer Matrix || mcdelete([[1,2,3],[4,5,6],[7,8,9]],1) || [[1,3],[4,6],[7,9]] &lt;br /&gt;
|-&lt;br /&gt;
| mrdelete || mrdelete(matrix,position) Löscht die angegebene Zeile aus einer Matrix || mrdelete([[1,2,3],[4,5,6],[7,8,9]],1) || [[1,2,3],[7,8,9]]&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
|-&lt;br /&gt;
| range || range(anzahl) liefert ein Feld von ganzzahligen Werten von 0 beginnend || range(5) || [0,1,2,3,4]&lt;br /&gt;
|-&lt;br /&gt;
| linspace || linspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem Abstand || linspace(4,8,5) || [4,5,6,7,8]&lt;br /&gt;
|-&lt;br /&gt;
| logspace || logspace(start,ende,anzahl) liefert ein Feld von Werte von Startwert bis Endwert mit gleichem logarithmischen Abstand || logspace(10,10000,4) || [10,100,1000,10000]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || Revision&lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| forloop || Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). &amp;lt;br&amp;gt;Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. || forloop(i,1,i&amp;lt;7,i++,i,&amp;quot;+&amp;quot;)&amp;lt;br&amp;gt;forloop(i,1,i&amp;lt;7,i:i+2,i) || 21&amp;lt;br&amp;gt;[1,3,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datums und Zeitfunktionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || REvision&lt;br /&gt;
|-&lt;br /&gt;
| dateparse || Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| date || date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datestring || datestring(x) datestring(x,\&amp;quot;format\&amp;quot;) erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| timestring || erzeugt eine Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datetimestring || erzeugt Datum und Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateyear || Erzeugt aus einem Datum als Ganzzahl das Jahr || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datemonth || Erzeugt aus einem Datum als Ganzzahl das Monat || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateday || Erzeugt aus einem Datum als Ganzzahl den Tag || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datehour || Erzeugt aus einem Datum als Ganzzahl die Stunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateminute || Erzeugt aus einem Datum als Ganzzahl die Minute || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datesecond || Erzeugt aus einem Datum als Ganzzahl die Sekunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datediff || Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweekday || Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweek || Liefert die Kalenderwoche des Tages innerhalb des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datedayofyear || Liefert den Tag des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| years || Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| months || Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| weeks || Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| days || Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| hours || Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| minutes || Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| seconds || Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Raumzeiger die Stranggrössen &amp;lt;br&amp;gt; berechnet aus einem komplexen Raumzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Probleme mit großen Gleichungssystemen=&lt;br /&gt;
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden.&lt;br /&gt;
Dabei werden allerdings alle Einheiten entfernt und können wieder über .... zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3438</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3438"/>
		<updated>2024-03-19T18:38:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Raumzeiger für elektrische Maschinen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
== Berechnungen mit &amp;quot;Vorberechnung&amp;quot; und Maxima (Parser nicht angehakt) ==&lt;br /&gt;
* Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet&lt;br /&gt;
* Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt&lt;br /&gt;
* Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit&lt;br /&gt;
* Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an&lt;br /&gt;
&lt;br /&gt;
=== Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!) ===&lt;br /&gt;
* Definition einer Einheit mit der Funktion unit in einem Kommentar&lt;br /&gt;
* Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen  &lt;br /&gt;
  //unit(U*)=V&lt;br /&gt;
* Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen&lt;br /&gt;
  //unit(I*,ix*)=A&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;#124; &amp;amp;#124; || 60 || Parallelschaltung || x &amp;amp;#124; &amp;amp;#124; y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Mathematische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) &amp;lt;br&amp;gt; mod(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| mod2 || Symmetrische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis &amp;lt;br&amp;gt;Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments &amp;lt;br&amp;gt;Siehe auch Divisionsrest des Parser-Operators % [[Berechnungen#arithmetische_Operatoren]] || mod2(5,2) &amp;lt;br&amp;gt; mod2(6.2,2.5) &amp;lt;br&amp;gt; mod2(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gleichungen und Gleichungssysteme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Revision&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ] || &lt;br /&gt;
|-&lt;br /&gt;
| lhs || liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators || lhs(x+y=c+2) || x+y || 6521&lt;br /&gt;
|-&lt;br /&gt;
| rhs || liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators || rhs(x+y=c+2) || c+2 || 6521&lt;br /&gt;
|-&lt;br /&gt;
| onlypos || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind || onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) &amp;lt;br&amp;gt; onlypos([x=-2,x=0,x=6,x=8]) || [ [x=4,y=5] ] &amp;lt;br&amp;gt; [x=7,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
| onlyreal || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind || onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) &amp;lt;br&amp;gt; onlyreal([x=%i+1,x=1-%i,x=3,x=8]) || [ [x=3,y=4] ] &amp;lt;br&amp;gt; [x=3,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Polynome===&lt;br /&gt;
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Zahlendarstellung#f.C3.BCr_Polynome_und_gebrochen_rationale_Funktionen_mit_numerischen_Koeffizienten_in_einer_Variablen_k.C3.B6nnen_folgende_Parameter_angegeben_werden|Zahlendarstellung Polynome]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| polynom(p) || Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen || polynom(1+x) || 1+x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var) || Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. || polynom(1+a*x^2,x) &amp;lt;br&amp;gt; polynom(1+2*x^2,x) || polynom(1+a*x^2,x)&amp;lt;br&amp;gt;1+2*x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var,&amp;quot;einheit&amp;quot;) || Erzeugt ein Polynom in der Variablen var, mit der Einheit &amp;quot;einheit&amp;quot; für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! || polynom(1+2*p^2,p,&amp;quot;s-1&amp;quot;) &amp;lt;br&amp;gt; polynom(1+2&#039;s2&#039;*p^2,p,&amp;quot;s-1&amp;quot;) || 1+2&#039;s2&#039;*p^2 &amp;lt;br&amp;gt;1+2&#039;s2&#039;*p^2&lt;br /&gt;
|-&lt;br /&gt;
| factfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable|| factfrompolynom(polynom((2+x)/(1+2*x))) || [[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromfact(f) || Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom || polynomfromfact([[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromfact(zähler,nenner,var,einheit) || Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom || polynomfromfact([1,0.5],[0.5,1],x,&amp;quot;&amp;quot;) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| nullfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable|| nullfrompolynom(polynom((2+x)/(1+2*x))) || [0.5,[-2],[-0.5],x]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromnull(n) || Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom || polynomfromnull([0.5,[-2],[-0.5],x]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromnull(faktor,nullstellen,polstellen,var) || Erzeugt aus einer Faktor-Vektoren ein neues Polynom || polynomfromnull(0.5,[-2],[-0.5],x) || (2+x)/(1+2*x)&lt;br /&gt;
|-  &lt;br /&gt;
| polynomk(p) || Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. || polynomk(polynom((2+x)/(1+2*x))) || 0.5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel &#039;&#039;&#039;erforderlich&#039;&#039;&#039;, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.|| setshuffle([3,-3,2,0,5,2],5) || [2,3,−3,2,0,5] || 6082&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Punkte-Mengen-Funktionen ===&lt;br /&gt;
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.&lt;br /&gt;
&lt;br /&gt;
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| pvabs || Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. || pvabs([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvabs([[2,3],[4,5],[6,3],[-2,4]],1) ||  [3.6056,6.4031,6.7082,4.4721] &amp;lt;br&amp;gt; 6.4031 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvarg || Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. || pvarg([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvarg([[2,3],[4,5],[6,3],[-2,4]],1) || [0.98279,0.89606,0.46365,2.0344] &amp;lt;br&amp;gt; 0.89606 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvget || Liefert einen Punkt der Punkteliste. || pvget([[2,3],[4,5],[6,3],[-2,4]],1) || [4,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgetx || Bestimmt die x-Koordinate eines Punktes oder aller Punkte. || pvgetx([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) || [2,4,6,-2]&amp;lt;br&amp;gt;4 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgety || Bestimmt die y-Koordinate eines Punktes oder aller Punkte. || pvgety([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgety([[2,3],[4,5],[6,3],[-2,4]],1) || [3,5,3,4]&amp;lt;br&amp;gt;3 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvlineabs || Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. || pvlineabs([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) || [2.8284,8.0623]&amp;lt;br&amp;gt;2.82842712475 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinearg || Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse || pvlinearg([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) || [45°,172.87°]&amp;lt;br&amp;gt;45° || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinek || Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar || pvlinek([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) ||  [1,−0.125]&amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlined || Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse || pvlined([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlined([[2,3],[4,5],[6,3],[-2,4]],0) || [1,3.75] &amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvline || Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar || pvline([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvline([[2,3],[4,5],[6,3],[-2,4]],0) || [y=1+x,y=3.75−0.125⋅x]&amp;lt;br&amp;gt;y=x+1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvpoints || Bestimmt die Anzahl der Punkte || pvpoints([[2,3],[4,5],[6,3],[-2,4]]) || 4 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvvect || Bestimmt einen Vector aus dem n-te Punktepaar || pvvect([[2,3],[4,5],[6,3],[-2,4]],0) || [2,2] || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortx || Sortiert die Punkte nach steigender x-Koordinate || pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsorty || Sortiert die Punkte nach steigender y-Koordinate || pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortabs || Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors || pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortarg || Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) || pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinex || Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. || pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortliney || Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. || pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortlineabs || Sortiert Punktepaare nach steigendem Betrag der Linienlänge. || pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinearg || Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. || pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvequals || Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. || pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[2.01,3],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhaspoint || Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhasline || Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) || true || 6078&lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvfunc || Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) || pvfunc(x^2,x,-2,2,0.5) || [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvcompare || Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz.&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,Toleranz)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) &amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) || pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) || true  || 6080&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| first || liefert das erste Element mit dem Index 0 eines Vektors || first([12,13,14]) || 12&lt;br /&gt;
|-&lt;br /&gt;
| second || liefert das zweite Element mit dem Index 1 eines Vektors || second([12,13,14]) || 13&lt;br /&gt;
|- &lt;br /&gt;
| third|| liefert das dritte Element mit dem Index 2 eines Vektors || third([12,13,14]) || 14&lt;br /&gt;
|-&lt;br /&gt;
| fourth || liefert das vierte Element mit dem Index 3 eines Vektors || fourth ([12,13,14,15,16,17,18]) || 15&lt;br /&gt;
|-&lt;br /&gt;
| fifth || liefert das fünfte Element mit dem Index 4 eines Vektors || fifth ([12,13,14,15,16,17,18]) || 16&lt;br /&gt;
|-&lt;br /&gt;
| sixth || liefert das sechste Element mit dem Index 5 eines Vektors || sixth ([12,13,14,15,16,17,18]) || 17&lt;br /&gt;
|-&lt;br /&gt;
| vgetmaxima || liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vgetmaxima([12,13,14],1) || 12 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vsetmaxima || setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vsetmaxima([12,13,14],1,35) || [35,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || Revision&lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| forloop || Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). &amp;lt;br&amp;gt;Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. || forloop(i,1,i&amp;lt;7,i++,i,&amp;quot;+&amp;quot;)&amp;lt;br&amp;gt;forloop(i,1,i&amp;lt;7,i:i+2,i) || 21&amp;lt;br&amp;gt;[1,3,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datums und Zeitfunktionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || REvision&lt;br /&gt;
|-&lt;br /&gt;
| dateparse || Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| date || date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datestring || datestring(x) datestring(x,\&amp;quot;format\&amp;quot;) erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| timestring || erzeugt eine Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datetimestring || erzeugt Datum und Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateyear || Erzeugt aus einem Datum als Ganzzahl das Jahr || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datemonth || Erzeugt aus einem Datum als Ganzzahl das Monat || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateday || Erzeugt aus einem Datum als Ganzzahl den Tag || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datehour || Erzeugt aus einem Datum als Ganzzahl die Stunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateminute || Erzeugt aus einem Datum als Ganzzahl die Minute || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datesecond || Erzeugt aus einem Datum als Ganzzahl die Sekunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datediff || Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweekday || Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweek || Liefert die Kalenderwoche des Tages innerhalb des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datedayofyear || Liefert den Tag des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| years || Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| months || Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| weeks || Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| days || Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| hours || Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| minutes || Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| seconds || Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Raumzeiger die Stranggrössen &amp;lt;br&amp;gt; berechnet aus einem komplexen Raumzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Probleme mit großen Gleichungssystemen=&lt;br /&gt;
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden.&lt;br /&gt;
Dabei werden allerdings alle Einheiten entfernt und können wieder über .... zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3437</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3437"/>
		<updated>2024-03-19T18:37:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Raumzeiger für elektrische Maschinen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
== Berechnungen mit &amp;quot;Vorberechnung&amp;quot; und Maxima (Parser nicht angehakt) ==&lt;br /&gt;
* Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet&lt;br /&gt;
* Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt&lt;br /&gt;
* Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit&lt;br /&gt;
* Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an&lt;br /&gt;
&lt;br /&gt;
=== Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!) ===&lt;br /&gt;
* Definition einer Einheit mit der Funktion unit in einem Kommentar&lt;br /&gt;
* Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen  &lt;br /&gt;
  //unit(U*)=V&lt;br /&gt;
* Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen&lt;br /&gt;
  //unit(I*,ix*)=A&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;#124; &amp;amp;#124; || 60 || Parallelschaltung || x &amp;amp;#124; &amp;amp;#124; y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Mathematische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) &amp;lt;br&amp;gt; mod(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| mod2 || Symmetrische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis &amp;lt;br&amp;gt;Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments &amp;lt;br&amp;gt;Siehe auch Divisionsrest des Parser-Operators % [[Berechnungen#arithmetische_Operatoren]] || mod2(5,2) &amp;lt;br&amp;gt; mod2(6.2,2.5) &amp;lt;br&amp;gt; mod2(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gleichungen und Gleichungssysteme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Revision&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ] || &lt;br /&gt;
|-&lt;br /&gt;
| lhs || liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators || lhs(x+y=c+2) || x+y || 6521&lt;br /&gt;
|-&lt;br /&gt;
| rhs || liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators || rhs(x+y=c+2) || c+2 || 6521&lt;br /&gt;
|-&lt;br /&gt;
| onlypos || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind || onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) &amp;lt;br&amp;gt; onlypos([x=-2,x=0,x=6,x=8]) || [ [x=4,y=5] ] &amp;lt;br&amp;gt; [x=7,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
| onlyreal || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind || onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) &amp;lt;br&amp;gt; onlyreal([x=%i+1,x=1-%i,x=3,x=8]) || [ [x=3,y=4] ] &amp;lt;br&amp;gt; [x=3,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Polynome===&lt;br /&gt;
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Zahlendarstellung#f.C3.BCr_Polynome_und_gebrochen_rationale_Funktionen_mit_numerischen_Koeffizienten_in_einer_Variablen_k.C3.B6nnen_folgende_Parameter_angegeben_werden|Zahlendarstellung Polynome]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| polynom(p) || Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen || polynom(1+x) || 1+x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var) || Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. || polynom(1+a*x^2,x) &amp;lt;br&amp;gt; polynom(1+2*x^2,x) || polynom(1+a*x^2,x)&amp;lt;br&amp;gt;1+2*x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var,&amp;quot;einheit&amp;quot;) || Erzeugt ein Polynom in der Variablen var, mit der Einheit &amp;quot;einheit&amp;quot; für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! || polynom(1+2*p^2,p,&amp;quot;s-1&amp;quot;) &amp;lt;br&amp;gt; polynom(1+2&#039;s2&#039;*p^2,p,&amp;quot;s-1&amp;quot;) || 1+2&#039;s2&#039;*p^2 &amp;lt;br&amp;gt;1+2&#039;s2&#039;*p^2&lt;br /&gt;
|-&lt;br /&gt;
| factfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable|| factfrompolynom(polynom((2+x)/(1+2*x))) || [[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromfact(f) || Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom || polynomfromfact([[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromfact(zähler,nenner,var,einheit) || Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom || polynomfromfact([1,0.5],[0.5,1],x,&amp;quot;&amp;quot;) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| nullfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable|| nullfrompolynom(polynom((2+x)/(1+2*x))) || [0.5,[-2],[-0.5],x]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromnull(n) || Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom || polynomfromnull([0.5,[-2],[-0.5],x]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromnull(faktor,nullstellen,polstellen,var) || Erzeugt aus einer Faktor-Vektoren ein neues Polynom || polynomfromnull(0.5,[-2],[-0.5],x) || (2+x)/(1+2*x)&lt;br /&gt;
|-  &lt;br /&gt;
| polynomk(p) || Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. || polynomk(polynom((2+x)/(1+2*x))) || 0.5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel &#039;&#039;&#039;erforderlich&#039;&#039;&#039;, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.|| setshuffle([3,-3,2,0,5,2],5) || [2,3,−3,2,0,5] || 6082&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Punkte-Mengen-Funktionen ===&lt;br /&gt;
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.&lt;br /&gt;
&lt;br /&gt;
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| pvabs || Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. || pvabs([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvabs([[2,3],[4,5],[6,3],[-2,4]],1) ||  [3.6056,6.4031,6.7082,4.4721] &amp;lt;br&amp;gt; 6.4031 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvarg || Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. || pvarg([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvarg([[2,3],[4,5],[6,3],[-2,4]],1) || [0.98279,0.89606,0.46365,2.0344] &amp;lt;br&amp;gt; 0.89606 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvget || Liefert einen Punkt der Punkteliste. || pvget([[2,3],[4,5],[6,3],[-2,4]],1) || [4,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgetx || Bestimmt die x-Koordinate eines Punktes oder aller Punkte. || pvgetx([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) || [2,4,6,-2]&amp;lt;br&amp;gt;4 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgety || Bestimmt die y-Koordinate eines Punktes oder aller Punkte. || pvgety([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgety([[2,3],[4,5],[6,3],[-2,4]],1) || [3,5,3,4]&amp;lt;br&amp;gt;3 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvlineabs || Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. || pvlineabs([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) || [2.8284,8.0623]&amp;lt;br&amp;gt;2.82842712475 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinearg || Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse || pvlinearg([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) || [45°,172.87°]&amp;lt;br&amp;gt;45° || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinek || Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar || pvlinek([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) ||  [1,−0.125]&amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlined || Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse || pvlined([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlined([[2,3],[4,5],[6,3],[-2,4]],0) || [1,3.75] &amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvline || Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar || pvline([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvline([[2,3],[4,5],[6,3],[-2,4]],0) || [y=1+x,y=3.75−0.125⋅x]&amp;lt;br&amp;gt;y=x+1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvpoints || Bestimmt die Anzahl der Punkte || pvpoints([[2,3],[4,5],[6,3],[-2,4]]) || 4 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvvect || Bestimmt einen Vector aus dem n-te Punktepaar || pvvect([[2,3],[4,5],[6,3],[-2,4]],0) || [2,2] || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortx || Sortiert die Punkte nach steigender x-Koordinate || pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsorty || Sortiert die Punkte nach steigender y-Koordinate || pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortabs || Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors || pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortarg || Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) || pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinex || Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. || pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortliney || Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. || pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortlineabs || Sortiert Punktepaare nach steigendem Betrag der Linienlänge. || pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinearg || Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. || pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvequals || Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. || pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[2.01,3],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhaspoint || Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhasline || Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) || true || 6078&lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvfunc || Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) || pvfunc(x^2,x,-2,2,0.5) || [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvcompare || Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz.&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,Toleranz)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) &amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) || pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) || true  || 6080&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| first || liefert das erste Element mit dem Index 0 eines Vektors || first([12,13,14]) || 12&lt;br /&gt;
|-&lt;br /&gt;
| second || liefert das zweite Element mit dem Index 1 eines Vektors || second([12,13,14]) || 13&lt;br /&gt;
|- &lt;br /&gt;
| third|| liefert das dritte Element mit dem Index 2 eines Vektors || third([12,13,14]) || 14&lt;br /&gt;
|-&lt;br /&gt;
| fourth || liefert das vierte Element mit dem Index 3 eines Vektors || fourth ([12,13,14,15,16,17,18]) || 15&lt;br /&gt;
|-&lt;br /&gt;
| fifth || liefert das fünfte Element mit dem Index 4 eines Vektors || fifth ([12,13,14,15,16,17,18]) || 16&lt;br /&gt;
|-&lt;br /&gt;
| sixth || liefert das sechste Element mit dem Index 5 eines Vektors || sixth ([12,13,14,15,16,17,18]) || 17&lt;br /&gt;
|-&lt;br /&gt;
| vgetmaxima || liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vgetmaxima([12,13,14],1) || 12 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vsetmaxima || setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vsetmaxima([12,13,14],1,35) || [35,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || Revision&lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| forloop || Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). &amp;lt;br&amp;gt;Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. || forloop(i,1,i&amp;lt;7,i++,i,&amp;quot;+&amp;quot;)&amp;lt;br&amp;gt;forloop(i,1,i&amp;lt;7,i:i+2,i) || 21&amp;lt;br&amp;gt;[1,3,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datums und Zeitfunktionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || REvision&lt;br /&gt;
|-&lt;br /&gt;
| dateparse || Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| date || date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datestring || datestring(x) datestring(x,\&amp;quot;format\&amp;quot;) erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| timestring || erzeugt eine Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datetimestring || erzeugt Datum und Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateyear || Erzeugt aus einem Datum als Ganzzahl das Jahr || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datemonth || Erzeugt aus einem Datum als Ganzzahl das Monat || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateday || Erzeugt aus einem Datum als Ganzzahl den Tag || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datehour || Erzeugt aus einem Datum als Ganzzahl die Stunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateminute || Erzeugt aus einem Datum als Ganzzahl die Minute || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datesecond || Erzeugt aus einem Datum als Ganzzahl die Sekunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datediff || Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweekday || Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweek || Liefert die Kalenderwoche des Tages innerhalb des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datedayofyear || Liefert den Tag des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| years || Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| months || Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| weeks || Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| days || Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| hours || Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| minutes || Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| seconds || Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Rauzeiger die Stranggrössen &amp;lt;br&amp;gt; berechnet aus einem komplexen Rauzeiger die Stranggrössen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Probleme mit großen Gleichungssystemen=&lt;br /&gt;
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden.&lt;br /&gt;
Dabei werden allerdings alle Einheiten entfernt und können wieder über .... zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3436</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=3436"/>
		<updated>2024-03-19T18:35:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Raumzeiger für elektrische Maschinen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
== Berechnungen mit &amp;quot;Vorberechnung&amp;quot; und Maxima (Parser nicht angehakt) ==&lt;br /&gt;
* Es werden die Datensätze ohne Einheiten vor der Durchrechnung des Maxima-Feldes an Maxima gesendet&lt;br /&gt;
* Im Maxima-Feld werden durch den Preprozessor alle Einheiten von allen konstanten Werten entfernt&lt;br /&gt;
* Die Ergebnisse nach der Maxima-Durchrechnung sind somit alle ohne Einheit&lt;br /&gt;
* Der Postpozesser fügt an alle Ergebnisse der Maxima-Berechnung die definierten Einheiten an&lt;br /&gt;
&lt;br /&gt;
=== Einheitendfinition für den Postprozessor (nur bei Berechnung mit Vorberechnung ohne Parser wirksam!) ===&lt;br /&gt;
* Definition einer Einheit mit der Funktion unit in einem Kommentar&lt;br /&gt;
* Setzen der Einheit Volt (V) für alle Variablen die mit U beginnen  &lt;br /&gt;
  //unit(U*)=V&lt;br /&gt;
* Setzen der Einheit Ampere(A) für alle Variablen die mit I oder ix beginnen&lt;br /&gt;
  //unit(I*,ix*)=A&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;#124; &amp;amp;#124; || 60 || Parallelschaltung || x &amp;amp;#124; &amp;amp;#124; y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Mathematische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) &amp;lt;br&amp;gt; mod(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; 2&lt;br /&gt;
|-&lt;br /&gt;
| mod2 || Symmetrische Implementierung von [https://de.wikipedia.org/wiki/Division_mit_Rest#Modulo modulo]: Divisionsrest einer Division mit ganzzahligem Ergebnis &amp;lt;br&amp;gt;Der Unterschied zu mod liegt in der Behandlung von negativen Zahlen des ersten Arguments &amp;lt;br&amp;gt;Siehe auch Divisionsrest des Parser-Operators % [[Berechnungen#arithmetische_Operatoren]] || mod2(5,2) &amp;lt;br&amp;gt; mod2(6.2,2.5) &amp;lt;br&amp;gt; mod2(-4,3) || 1&amp;lt;br&amp;gt;1.2 &amp;lt;br&amp;gt; -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Gleichungen und Gleichungssysteme ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Revision&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ] || &lt;br /&gt;
|-&lt;br /&gt;
| lhs || liefert die linke Seite einer Gleichung, Ungleichung oder eines Infix Operators || lhs(x+y=c+2) || x+y || 6521&lt;br /&gt;
|-&lt;br /&gt;
| rhs || liefert die rechte Seite einer Gleichung, Ungleichung oder eines Infix Operators || rhs(x+y=c+2) || c+2 || 6521&lt;br /&gt;
|-&lt;br /&gt;
| onlypos || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche positiv nicht Null sind || onlypos([[x=3,y=-3],[x=4,y=5],[x=-2,y=4]]) &amp;lt;br&amp;gt; onlypos([x=-2,x=0,x=6,x=8]) || [ [x=4,y=5] ] &amp;lt;br&amp;gt; [x=7,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
| onlyreal || liefert aus dem Lösungsvektor von solve welcher aus lauter Gleichungen besteht nur die Lösungen welche reell sind || onlyreal([[x=1,y=%i],[x=1,y=-%i],[x=3,y=4]]) &amp;lt;br&amp;gt; onlyreal([x=%i+1,x=1-%i,x=3,x=8]) || [ [x=3,y=4] ] &amp;lt;br&amp;gt; [x=3,x=8] || 6522&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Polynome===&lt;br /&gt;
Polynome mit reellen Koeffizienten in einer Variablen können mit folgenden Funktionen erstellt und verarbeitet werden. Für die interne Verarbeitung wird hierzu ein eigener Polynom-Datentyp verwendet.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Zahlendarstellung#f.C3.BCr_Polynome_und_gebrochen_rationale_Funktionen_mit_numerischen_Koeffizienten_in_einer_Variablen_k.C3.B6nnen_folgende_Parameter_angegeben_werden|Zahlendarstellung Polynome]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| polynom(p) || Erzeugt aus einem Ausdruck welcher genau eine Variable besitzen muss ein Polynom in dieser Variablen || polynom(1+x) || 1+x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var) || Erzeugt aus einem Ausdruck ein Polynom in einer definierten Variablen. Ist p ein gültiger Polynom-Ausdruck mit reelen Koeffizienten in der Variablen var wird das Polynom erzeugt, ansonsten bleibt die Funktion erhalten. || polynom(1+a*x^2,x) &amp;lt;br&amp;gt; polynom(1+2*x^2,x) || polynom(1+a*x^2,x)&amp;lt;br&amp;gt;1+2*x²&lt;br /&gt;
|-&lt;br /&gt;
| polynom(p,var,&amp;quot;einheit&amp;quot;) || Erzeugt ein Polynom in der Variablen var, mit der Einheit &amp;quot;einheit&amp;quot; für die Polynomvariable. Die Einheit muss als String in Doppelhochkomma angegeben werden! Das Polynom p muss entweder ohne Einheiten oder mit den korrekten Einheiten angegeben werden! || polynom(1+2*p^2,p,&amp;quot;s-1&amp;quot;) &amp;lt;br&amp;gt; polynom(1+2&#039;s2&#039;*p^2,p,&amp;quot;s-1&amp;quot;) || 1+2&#039;s2&#039;*p^2 &amp;lt;br&amp;gt;1+2&#039;s2&#039;*p^2&lt;br /&gt;
|-&lt;br /&gt;
| factfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den Polynomfaktoren. Erste Zeile Zählerfaktoren, zweite Zeile Nennerfaktoren, dritte Zeile Polynomvariable, vierte Zeile Einheit der Polynomvariable|| factfrompolynom(polynom((2+x)/(1+2*x))) || [[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromfact(f) || Erzeugt aus einer Faktoren-Liste, welche mit factfrompolynom erstellt wurde ein neues Polynom || polynomfromfact([[1,0.5],[0.5,1],&amp;quot;x&amp;quot;,&amp;quot;&amp;quot;]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromfact(zähler,nenner,var,einheit) || Erzeugt aus Zähler und Nenner Faktor-Vektoren ein neues Polynom || polynomfromfact([1,0.5],[0.5,1],x,&amp;quot;&amp;quot;) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| nullfrompolynom(p) || Erzeugt aus einem Polynom einen Vektor mit den PolynomNullstellen und Polstellen. Erste Zeile gemeinsamer Faktor, zweite Zeile Nullstellen, dritte Zeile Polstellen, vierte Zeile Polynomvariable|| nullfrompolynom(polynom((2+x)/(1+2*x))) || [0.5,[-2],[-0.5],x]&lt;br /&gt;
|-&lt;br /&gt;
| polynomfromnull(n) || Erzeugt aus einer Nullstellen-Polstellen-Liste, welche mit nullfrompolynom erstellt wurde ein neues Polynom || polynomfromnull([0.5,[-2],[-0.5],x]) || (2+x)/(1+2*x)&lt;br /&gt;
|- &lt;br /&gt;
| polynomfromnull(faktor,nullstellen,polstellen,var) || Erzeugt aus einer Faktor-Vektoren ein neues Polynom || polynomfromnull(0.5,[-2],[-0.5],x) || (2+x)/(1+2*x)&lt;br /&gt;
|-  &lt;br /&gt;
| polynomk(p) || Bestimmt den Faktor, welcher vom Polynom herausgehoben werden kann, so dass die höchste Potenz der Polynomvariable den Multiplikator Eins hat. || polynomk(polynom((2+x)/(1+2*x))) || 0.5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine Menge in eine andere Reihenfolge. VORSICHT, ohne zweiten Parameter (ganze Zahl) ändert sich die Reihenfolge bei jedem mal neu Laden automatisch und ist nicht nachvollziehbar, weshalb sie dann für Schülerbeispiele nicht einsetzbar ist! Daher ist es für eine praktische Anwendung in einem Schülerbeispiel &#039;&#039;&#039;erforderlich&#039;&#039;&#039;, dass der zweite Parameter determiniert (beispielsweise über einen Integer-Datensatz-Wert zwischen 0 und 1000) festgelegt wird.|| setshuffle([3,-3,2,0,5,2],5) || [2,3,−3,2,0,5] || 6082&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Punkte-Mengen-Funktionen ===&lt;br /&gt;
Bei der Eingabe mit dem Plot-Plugin werden Punkte-Mengen als Matrizen in der Form [[x1,y1],[x2,y2],[y3,y3]] für die gespeicherten Punkte welcher der Schüler eingegeben hat verwendet.&lt;br /&gt;
&lt;br /&gt;
Um die Verarbeitung der Eingaben zu erleichtern kann man die Funktionen beginnend mit pv verwenden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| pvabs || Bestimmt den Betrag eines Punktes oder aller Ortsvektoren zu den Punkten. || pvabs([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvabs([[2,3],[4,5],[6,3],[-2,4]],1) ||  [3.6056,6.4031,6.7082,4.4721] &amp;lt;br&amp;gt; 6.4031 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvarg || Bestimmt den Winkel eines Punktes oder aller Ortsvektoren zu den Punkten. || pvarg([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvarg([[2,3],[4,5],[6,3],[-2,4]],1) || [0.98279,0.89606,0.46365,2.0344] &amp;lt;br&amp;gt; 0.89606 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvget || Liefert einen Punkt der Punkteliste. || pvget([[2,3],[4,5],[6,3],[-2,4]],1) || [4,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgetx || Bestimmt die x-Koordinate eines Punktes oder aller Punkte. || pvgetx([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgetx([[2,3],[4,5],[6,3],[-2,4]],1) || [2,4,6,-2]&amp;lt;br&amp;gt;4 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvgety || Bestimmt die y-Koordinate eines Punktes oder aller Punkte. || pvgety([[2,3],[4,5],[6,3],[-2,4]]) &amp;lt;br&amp;gt; pvgety([[2,3],[4,5],[6,3],[-2,4]],1) || [3,5,3,4]&amp;lt;br&amp;gt;3 || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvlineabs || Bestimmt aus dem n-ten Punktepaar den Absolutbetrag des Abstandes. || pvlineabs([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlineabs([[2,3],[4,5],[6,3],[-2,4]],0) || [2.8284,8.0623]&amp;lt;br&amp;gt;2.82842712475 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinearg || Bestimmt aus dem n-ten Punktepaar den Winkel der Strecke zur x-Achse || pvlinearg([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinearg([[2,3],[4,5],[6,3],[-2,4]],0) || [45°,172.87°]&amp;lt;br&amp;gt;45° || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlinek || Bestimmt die Steigung der zugehörigen Geraden dem n-ten Punktepaar || pvlinek([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlinek([[2,3],[4,5],[6,3],[-2,4]],0) ||  [1,−0.125]&amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvlined || Bestimmt den Schnittpunkt einer Geraden durch das n-te Punktepaar mit der y-Achse || pvlined([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvlined([[2,3],[4,5],[6,3],[-2,4]],0) || [1,3.75] &amp;lt;br&amp;gt;1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvline || Bestimmt die Geradengleichung einer Geraden durch das n-te Punktepaar || pvline([[2,3],[4,5],[6,3],[-2,4]])&amp;lt;br&amp;gt;pvline([[2,3],[4,5],[6,3],[-2,4]],0) || [y=1+x,y=3.75−0.125⋅x]&amp;lt;br&amp;gt;y=x+1 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvpoints || Bestimmt die Anzahl der Punkte || pvpoints([[2,3],[4,5],[6,3],[-2,4]]) || 4 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvvect || Bestimmt einen Vector aus dem n-te Punktepaar || pvvect([[2,3],[4,5],[6,3],[-2,4]],0) || [2,2] || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortx || Sortiert die Punkte nach steigender x-Koordinate || pvsortx([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[−3,5],[−2,4],[2,3],[4,5],[6,3]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsorty || Sortiert die Punkte nach steigender y-Koordinate || pvsorty([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−7,−9],[2,3],[6,3],[−2,4],[4,5],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortabs || Sortiert die Punkte nach steigendem Absolutbetrag des Ortsvektors || pvsortabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[2,3],[−2,4],[−3,5],[4,5],[6,3],[−7,−9]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortarg || Sortiert die Punkte nach steigendem Winkel des Ortsvektors (-pi bis pi) || pvsortarg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−7,−9],[6,3],[4,5],[2,3],[−2,4],[−3,5]] ||6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinex || Sortiert Punktepaare nach steigender x-Koordinate der kleineren x-Koordinate des Paares. || pvsortlinex([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[6,3],[−2,4],[2,3],[4,5]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortliney || Sortiert Punktepaare nach steigender y-Koordinate der kleineren y-Koordinate des Paares. || pvsortliney([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) ||  [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] ||6077 &lt;br /&gt;
|-&lt;br /&gt;
| pvsortlineabs || Sortiert Punktepaare nach steigendem Betrag der Linienlänge. || pvsortlineabs([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvsortlinearg || Sortiert Punktepaare nach steigendem Winkel der Linienrichtung. || pvsortlinearg([[2,3],[4,5],[6,3],[−2,4],[−3,5],[−7,−9]]) || [[−3,5],[−7,−9],[2,3],[4,5],[6,3],[−2,4]] || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvequals || Prüft ob zwei Punktevektoren gleich sind. Die Genauigkeit wird als dritter Parameter angegeben, oder bei einem Antwortfeld von der Antworttoleranz genommen. Prozentangaben der Genauigkeit beziehen sich auf die Breite bzw. Höhe des Punktefeldes im karthesischen Koordinatensystem. || pvequals([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[2.01,3],[4,5],[6.01,3],[-2,3.99],[-3,5],[-7,-9]],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhaspoint || Prüft ob sich ein Punkt innerhalb des Punktefeldes befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[4,5],2%) || true || 6077&lt;br /&gt;
|-&lt;br /&gt;
| pvhasline || Prüft ob sich eine Linie innerhalb des Punktefeldes von Linien befindet. Die Genauigkeit kann wie bei pvequals als dritter Parameter angegeben werden. || pvhaspoint([[2,3],[4,5],[6,3],[-2,4],[-3,5],[-7,-9]],[[6,3],[-2,4]],2%) || true || 6078&lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvfunc || Erzeugt aus einer Funktionen in einer Variablen (x-Achse) eine Punktmatrix der Funktionswerte (y-Achse). pvfunc(funktion,variable,minx,maxx,deltax) || pvfunc(x^2,x,-2,2,0.5) || [[−2,4],[−1.5,2.25],[−1,1],[−0.5,0.25],[0,0],[0.5,0.25],[1,1],[1.5,2.25]] || 6080&lt;br /&gt;
|-&lt;br /&gt;
| pvcompare || Vergleicht einen Referenz-Linienzug mit einem eingegebenen Linienzug unter Berücksichtigung der Toleranz.&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,Toleranz)&amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY) &amp;lt;br&amp;gt; pvcompare(Referenz,Eingabe,MinX,MaxX,MinY,MaxY,Toleranz) || pvcompare([[0,0],[1,1],[2,1],[3,0]],[[0,0],[1,1],[2,1],[3,0]],0,3,-5,5) || true  || 6080&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| first || liefert das erste Element mit dem Index 0 eines Vektors || first([12,13,14]) || 12&lt;br /&gt;
|-&lt;br /&gt;
| second || liefert das zweite Element mit dem Index 1 eines Vektors || second([12,13,14]) || 13&lt;br /&gt;
|- &lt;br /&gt;
| third|| liefert das dritte Element mit dem Index 2 eines Vektors || third([12,13,14]) || 14&lt;br /&gt;
|-&lt;br /&gt;
| fourth || liefert das vierte Element mit dem Index 3 eines Vektors || fourth ([12,13,14,15,16,17,18]) || 15&lt;br /&gt;
|-&lt;br /&gt;
| fifth || liefert das fünfte Element mit dem Index 4 eines Vektors || fifth ([12,13,14,15,16,17,18]) || 16&lt;br /&gt;
|-&lt;br /&gt;
| sixth || liefert das sechste Element mit dem Index 5 eines Vektors || sixth ([12,13,14,15,16,17,18]) || 17&lt;br /&gt;
|-&lt;br /&gt;
| vgetmaxima || liefert ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vgetmaxima([12,13,14],1) || 12 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vsetmaxima || setzt ein Element eines Vektors oder einer Matrix wobei der Index (wie bei Maxima) bei 1 startet. || vsetmaxima([12,13,14],1,35) || [35,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || Revision&lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|-&lt;br /&gt;
| foreach || Führt für jedes Element einer Menge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || foreach([2,-3,5,-6],p,cabs(p),&amp;quot;+&amp;quot;) || 16 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| pvforeachline || Führt für jedes Punktepaar einer Punktemenge eine Berechnung aus und verbindet die Ergebnisse mit der Aggregatfunktion || pvforeachline([[2,3],[4,5],[6,3],[-2,4]],p,pvlineabs(p),&amp;quot;+&amp;quot;) || 10.890684873 || 6075 &lt;br /&gt;
|-&lt;br /&gt;
| forloop || Führt eine Zählschleife aus forloop(Variable,Startwert,Wiederholbedingung,Inkrement,Ausdruck,Aggregatsfunktion). &amp;lt;br&amp;gt;Ohne Aggregatsfunktion wird ein Feld mit den Ergebnissen der Schleifeniterationen geliefert. || forloop(i,1,i&amp;lt;7,i++,i,&amp;quot;+&amp;quot;)&amp;lt;br&amp;gt;forloop(i,1,i&amp;lt;7,i:i+2,i) || 21&amp;lt;br&amp;gt;[1,3,5] || 6077&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Datums und Zeitfunktionen ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || REvision&lt;br /&gt;
|-&lt;br /&gt;
| dateparse || Wandelt einen String in ein Datum als Ganzzahl in Sekunden seit 1.1.0000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| date || date(y,m,d,h,min,sec) erzeugt ein Datum als Ganzzahl in Sekunden seit 1.1.000 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datestring || datestring(x) datestring(x,\&amp;quot;format\&amp;quot;) erzeugt aus einem Datum in Sekunden seit 1.1.0000 eine Stringausgabe || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| timestring || erzeugt eine Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datetimestring || erzeugt Datum und Uhrzeit als String || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateyear || Erzeugt aus einem Datum als Ganzzahl das Jahr || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datemonth || Erzeugt aus einem Datum als Ganzzahl das Monat || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateday || Erzeugt aus einem Datum als Ganzzahl den Tag || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datehour || Erzeugt aus einem Datum als Ganzzahl die Stunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateminute || Erzeugt aus einem Datum als Ganzzahl die Minute || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datesecond || Erzeugt aus einem Datum als Ganzzahl die Sekunde || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datediff || Rechnet die Differenz von 2 ganzzahligen Datumswerten. Erstes minus zweites Datum. Ergebnis als Double in Sekunden || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweekday || Liefert den Wochentag beginnend mit Montag als 1 und Sonntag als 7 || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| dateweek || Liefert die Kalenderwoche des Tages innerhalb des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| datedayofyear || Liefert den Tag des Jahres || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| years || Erzeugt aus einem Sekundenwert die Jahre (/365d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| months || Erzeugt aus einem Sekundenwert die Monate (/30d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| weeks || Erzeugt aus einem Sekundenwert die Wochen (/7d) als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| days || Erzeugt aus einem Sekundenwert die Tage als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| hours || Erzeugt aus einem Sekundenwert die Stunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| minutes || Erzeugt aus einem Sekundenwert die Minuten als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
| seconds || Erzeugt aus einem Sekundenwert die Sekunden als Double ohne Einheit || || || 6530&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Rauzeiger die Stranggroessen &amp;lt;br&amp;gt; berechnet aus einem komplexen Rauzeiger die Stranggroessen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Probleme mit großen Gleichungssystemen=&lt;br /&gt;
Bei der Verwendung von Plugins (zB: Drehstromplugin) können sehr rasch sehr große Gleichungssysteme entstehen. Der Standard-Lösungsweg, dass die Gleichungen algebraisch aufgelöst werden und dann zur Laufzeit die Werte eingesetzt werden, kann somit sehr lange Berechnungszeiten nach sich ziehen. Effizienter ist es, das Gleichungssystem zur Laufzeit mit eingesetzten Zahlen zu rechnen.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es die Möglichkeit, in der Frage das Häkchen Vorberechnung auszuwählen, dann werden die Ergebnisse erst zur Laufzeit gerechnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung:&#039;&#039;&#039; Der Parser hat Probleme mit der Berechnung von großen Gleichungssystemen. Es sollte daher zur Laufzeit bei der Verwendung von Drehstrom-Plugins mit Maxima gerechnet werden.&lt;br /&gt;
Dabei werden allerdings alle Einheiten entfernt und können wieder über .... zu den entsprechenden Formelzeichen hinzugefügt werden. Bedenken Sie aber, dass die Einheiten bei Berechnung mit Maxima zur Laufzeit prinzipiell verloren gehen.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datens%C3%A4tze_definieren&amp;diff=3435</id>
		<title>Datensätze definieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datens%C3%A4tze_definieren&amp;diff=3435"/>
		<updated>2024-03-18T14:51:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Definition der Werte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch [[Datensätze|Einführung zu Datensätzen]], [[Editor für den Angabetext#Datensätze und Variable]]&lt;br /&gt;
&lt;br /&gt;
Jede Variable, die im Angabetext in geschwungenen Klammern eingesetzt werden kann, wird über einen Datensatz definiert.&lt;br /&gt;
&lt;br /&gt;
==Erstellung aus dem [[Editor für den Angabetext|Editor]]==&lt;br /&gt;
Wenn im Text der Frage in geschwungenen Klammern eine Variablenbezeichnung verwendet wird, dann ist die Variable mit Klick der rechten Maustaste --&amp;gt; &#039;&#039;&#039;Datensatz einfügen&#039;&#039;&#039;&lt;br /&gt;
:[[Datei:ClipCapIt-200304-202515.PNG]]&lt;br /&gt;
vom Benutzer anzulegen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TIPP:&#039;&#039;&#039; &lt;br /&gt;
Drücken Sie im Fragentext unmittelbar nach dem Variablennamen die &#039;&#039;&#039;F2&#039;&#039;&#039;-Taste. Es wird die Variable in geschwungenen Klammern gesetzt und der Datensatz in der Datensatzliste angelegt. Aus der Variabel x wird {x}.&lt;br /&gt;
&lt;br /&gt;
Drücken Sie im Fragentext unmittelbar nach dem Variablennamen die &#039;&#039;&#039;F3&#039;&#039;&#039;-Taste wird die Variable ebenfalls in geschwungenen Klammern gesetzt und der Datensatz in der Datensatzliste angelegt. Der Fragentext wird um die Mathematikmodusdarstellung von LaTeX ergänzt. Aus der Variabel x wird $x={x}$.&lt;br /&gt;
&lt;br /&gt;
Aus dem Variablennamen wird laut SI-Einheitensystem die entsprechende SI-Einheit zugeordnet.&lt;br /&gt;
Die Wertebereiche und die Einheiten können aber in jeder [[Ordnerverwaltung|Kategorie]] eigens definiert und überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
==Erstellung / Änderung über den Datensatz-Bereich==&lt;br /&gt;
:[[Datei:ClipCapIt-180620-222938.PNG|250px]]&lt;br /&gt;
:[[Datei:ClipCapIt-180831-181125.PNG|thumb|120px|Kontext-Menü der Datensatz-Tabelle]]&lt;br /&gt;
Die Tabelle zur Definition der Datensätze enthält drei Spalten:&lt;br /&gt;
* DS: Name der Variable&lt;br /&gt;
* Werte: Definition des Wertebereiches und des Types der Variable&lt;br /&gt;
* EH: Einheit der Variable&lt;br /&gt;
&lt;br /&gt;
Über das Kontext-Menüs (rechte Maustaste) dieser Datensatz-Tabelle können auch neue Variablen hinzugefügt und bestehende gelöscht werden. Weiters können auch Datensätze mit vordefinierten Werten aus einer Datei importiert werden.&lt;br /&gt;
:[[Datei:ClipCapIt-180831-181504.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
==Definition der Werte==&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Varianten einen Wertebereich zu definieren:&lt;br /&gt;
&lt;br /&gt;
* Nur durch die Angabe eines gültigen Bereiches:  zB.:1-10,E12:1k-10k&lt;br /&gt;
* Durch einen Typbezeichner gefolgt von einem gültigen Bereich:   zB.: C:1-10&lt;br /&gt;
&lt;br /&gt;
Folgende Typbezeichner sind möglich:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  Bezeichner 	||  Beschreibung 	||    Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|  I:           ||  Ganzzahl 	||  I:10-20&lt;br /&gt;
|-&lt;br /&gt;
| V[Dimension]: ||  Vektor      ||  V3:1-10&lt;br /&gt;
|-&lt;br /&gt;
| M[Zeilen]x[Spalten]: || Matrix der Dimension [Zeilen]x[Spalten]  ||  M3x3:1-10&lt;br /&gt;
|-&lt;br /&gt;
| M[Dimension]: || Matrix der Dimension [Dimension]x[Dimension] mit einer Determinante ungleich Null ||  M3:1-10&lt;br /&gt;
|-&lt;br /&gt;
| P[Grad]:      ||  Polynom der Ordnung [Grad] in der Variablen s &#039;&#039;&#039;Noch nicht realisiert&#039;&#039;&#039; ||  P3:1-10&lt;br /&gt;
|-&lt;br /&gt;
| B[Zählergrad],[Nennergrad]: 	||  Polynombruch in der Variablen s mit definiertem Zählergrad und Nennergrad &#039;&#039;&#039;Noch nicht realisiert&#039;&#039;&#039; ||  B2,3:1-20&lt;br /&gt;
|-&lt;br /&gt;
| C: 	        || komplexe Zahl mit zufälligem Winkel zwischen 0° und 360°    || C:1-10&lt;br /&gt;
|-&lt;br /&gt;
|               || komplexe Zahl mit Betrag und Winkel in Grad                 || C:1-10arg10-90&lt;br /&gt;
|-&lt;br /&gt;
|               || komplexe Zahl mit Realteil und Imaginärteil (j als imaginäre Einheit)	               || C:1-10j1-10&lt;br /&gt;
|-&lt;br /&gt;
|               || komplexe Zahl mit Realteil und Imaginärteil 	    (i als imaginäre Einheit)	           || C:1-10i1-10&lt;br /&gt;
|-&lt;br /&gt;
| F[ziffern]: 	|| Gleitkommazahl mit einer definierten Anzahl gültiger Ziffern || F3:5-9&lt;br /&gt;
|-&lt;br /&gt;
| [ziffern]: 	|| Gleitkommazahl aus einem Bereich mit einer definierten Anzahl von äquidistanten Werten || 5:2-9&lt;br /&gt;
|-&lt;br /&gt;
| S: 	        || Zeichenketten durch Beistrich getrennt. Ein Beistrich muss mit einem Backslash verblockt werden!|| S:rot,grün,blau&lt;br /&gt;
|-&lt;br /&gt;
| R: 	        || Regulärer Ausdruck: Erzeugt einen String auf den der reguläre Ausdruck trifft. || R:[a-m]x?[^B]+&lt;br /&gt;
|-&lt;br /&gt;
| R[stellen]: 	|| Regulärer Ausdruck erzeugt einen String mit &amp;quot;stellen&amp;quot; Zeichen || R5:.+&lt;br /&gt;
|-&lt;br /&gt;
| R[minstellen]-[maxstellen]: || Regulärer Ausdruck mit einen Stellenanzahl von &amp;quot;minstellen&amp;quot; bist &amp;quot;maxstellen&amp;quot; || R5-8:[a-z]+\d+&lt;br /&gt;
|-&lt;br /&gt;
| sI:wert,wert,wert || erzeugt Ganzzahl-Datensätze aus den angegebenen Werten, wobei die Reihenfolge der Werte wie angegeben beibehalten wird! (Zahlenbereiche sind hier nicht erlaubt!!) || sI:5,78,2,-5,4&lt;br /&gt;
|-&lt;br /&gt;
| sF:wert,wert,wert || erzeugt Gleitkomma-Datensätze aus den angegebenen Werten, wobei die Reihenfolge der Werte wie angegeben beibehalten wird! (Zahlenbereiche sind hier nicht erlaubt!!) || sF:34.5,3.4,6,5,-43.4&lt;br /&gt;
|-&lt;br /&gt;
| sS:wert,wert,wert || erzeugt String-Datensätze aus den angegebenen Werten, wobei die Reihenfolge der Werte wie angegeben beibehalten wird! (Zahlenbereiche sind hier nicht erlaubt!!) Ein Beistrich muss mit einem Backslash verblockt werden! || sS:Hut,Kappe,Hose&lt;br /&gt;
|-&lt;br /&gt;
| Startwert:Schrittweite:Endwert || erzeugt Werte zwischen Startwert und Endwert mit einem Abstand von Schrittweite zwischen den Werten || 2:0.1:5&lt;br /&gt;
|}&lt;br /&gt;
	&lt;br /&gt;
===Bereichsdefinitionen===&lt;br /&gt;
Folgende Bereichsdefinitionen sind möglich:&lt;br /&gt;
	&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| Beschreibung    ||	Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| Zahl            ||	45&lt;br /&gt;
|-&lt;br /&gt;
| Zahl mit Einheitenvielfachen ||	15k&lt;br /&gt;
|-&lt;br /&gt;
| mehrere Zahlen, durch Beistrich getrennt ||  34,15k,24.4m&lt;br /&gt;
|-&lt;br /&gt;
| Zahlenbereich mittels Bindestrich  ||	3-15&lt;br /&gt;
|-&lt;br /&gt;
| Ganzzahl-Bereiche     || I3-15&lt;br /&gt;
|-&lt;br /&gt;
| Eine bestimmte Anzahl von Werten aus einem Zahlenbereich ||	13:45-130&lt;br /&gt;
|-&lt;br /&gt;
| Werte einer arithmetischen Folge ||	2:3:15 || 2,5,8,11,14&lt;br /&gt;
|-&lt;br /&gt;
| Werte einer geometrischen Folge ||	3*2:100 || 3,6,12,24,48,96&lt;br /&gt;
|-&lt;br /&gt;
| Normreihe 	        || E12:10k-80k || 10k,12k,15k,22k,27k,33k,39k,47k,56k,68k&lt;br /&gt;
|-&lt;br /&gt;
| Dezimale Reihe 	|| D2:10-600 || 10,50,100,500&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mögliche Normreihen mit logarithmisch verteilten Werten pro Dekade: E3,E6,E12,E24,E48&lt;br /&gt;
&lt;br /&gt;
Mögliche dezimale Reihen mit gleicheverteilten Werten pro Dekade: D2, D5, D10, D20, D40&lt;br /&gt;
&lt;br /&gt;
Mögliche Einheitenvielfache: m,u,n,p,f,a,k,M,G,T&lt;br /&gt;
&lt;br /&gt;
==Einheiten==&lt;br /&gt;
&lt;br /&gt;
* Als [[Einheit]] kann jede gültige SI Einheit angegeben werden&lt;br /&gt;
* Beginnt die Einheit mit einem Gleichheitszeichen, so wird die Einheit bei der Darstellung der Variable in der angegebenen Form und mit dem angegebenen Prefix erzwungen.&lt;br /&gt;
* Als Sondereinheiten sind zulässig&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|    dB  || Dezibel&lt;br /&gt;
|+&lt;br /&gt;
|    % 	 || Prozent&lt;br /&gt;
|+&lt;br /&gt;
|    ppm || parts per million&lt;br /&gt;
|+&lt;br /&gt;
|    ° 	 || Grad&lt;br /&gt;
|+&lt;br /&gt;
|    € 	 || Euro&lt;br /&gt;
|+&lt;br /&gt;
|    $ 	 || Dollar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Bei komplexen Zahlen kann durch Beistrich getrennt die Darstellung der komplexen Zahl definiert werden. Folgende Darstellungsvarianten sind zulässig:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|    karti 	|| karthesische Darstellung mit &amp;quot;i&amp;quot; als komplexen Operator (1+2i)&lt;br /&gt;
|+&lt;br /&gt;
|    kartj 	|| karthesische Darstellung mit &amp;quot;j&amp;quot; als komplexen Operator (1+2j)&lt;br /&gt;
|+&lt;br /&gt;
|    poldeg 	|| Polarkoordinaten Darstellung in Grad 2arg30°&lt;br /&gt;
|+&lt;br /&gt;
|    polrad 	|| Polarkoordinaten Darstellung in Radianten 2arg0.2&lt;br /&gt;
|+&lt;br /&gt;
|    polideg 	|| Exponentialdarstellung mit &amp;quot;i&amp;quot; als komplexen Operator und Winkel in Grad 1*e^20°i&lt;br /&gt;
|+&lt;br /&gt;
|    polirad 	|| Exponentialdarstellung mit &amp;quot;i&amp;quot; als komplexen Operator und Winkel in Radiant 1*e^0.2i&lt;br /&gt;
|+&lt;br /&gt;
|    poljdeg 	|| Exponentialdarstellung mit &amp;quot;j&amp;quot; als komplexen Operator und Winkel in Grad 1*e^20°j&lt;br /&gt;
|+&lt;br /&gt;
|    poljrad 	|| Exponentialdarstellung mit &amp;quot;j&amp;quot; als komplexen Operator und Winkel in Radiant 1*e^0.2j&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3326</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3326"/>
		<updated>2023-03-19T18:44:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. &lt;br /&gt;
&lt;br /&gt;
Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; ) um alle Schülerdaten zu exportieren.&lt;br /&gt;
[[Datei: Screenshot_Sokrates_Export_2.jpg|400px|thumb|right|CSV-Export]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Exportieren(CSV)&#039;&#039;&#039; Klicken Sie auf diese Button um den Export abzuschließen - siehe Abb. CSV-Export.&lt;br /&gt;
&lt;br /&gt;
Das CSV-File mit den exportierten Schülerdaten wird in den Download-Ordner gespeichert.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3325</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3325"/>
		<updated>2023-03-19T18:43:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. &lt;br /&gt;
&lt;br /&gt;
Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; ) um alle Schülerdaten zu exportieren.&lt;br /&gt;
[[Datei: Screenshot_Sokrates_Export_2.jpg|400px|thumb|right|CSV-Export]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Exportieren(CSV)&#039;&#039;&#039; Klicken Sie auf diese Button um den Export abzuschließen - siehe Abb. CSV-Export.&lt;br /&gt;
&lt;br /&gt;
Das CSV-File mit den exportieren Daten wird in den Download-Ordner gespeichert.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3324</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3324"/>
		<updated>2023-03-19T18:41:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. &lt;br /&gt;
&lt;br /&gt;
Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; ) um alle Schülerdaten zu exportieren.&lt;br /&gt;
[[Datei: Screenshot_Sokrates_Export_2.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3323</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3323"/>
		<updated>2023-03-19T18:40:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. &lt;br /&gt;
&lt;br /&gt;
Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; ) um alle Schülerdaten zu exportieren.&lt;br /&gt;
[[Datei: Screenshot_Sokrates_Export_2.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_2.jpg&amp;diff=3322</id>
		<title>Datei:Screenshot Sokrates Export 2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_2.jpg&amp;diff=3322"/>
		<updated>2023-03-19T18:39:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3321</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3321"/>
		<updated>2023-03-19T18:31:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. &lt;br /&gt;
&lt;br /&gt;
Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; ) um alle Schülerdaten zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3320</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3320"/>
		<updated>2023-03-19T17:00:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Ausführen&#039;&#039;&#039; Klicken Sie auf diese Button um die Auswahl abzuschließen. Beachten Sie bitte, dass keine spezielle Klasse selektiert sein darf (Klasse: &#039;&#039;- keine Auswahl -&#039;&#039; )um alle Schülerdaten zu esportieren.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_1.jpg&amp;diff=3319</id>
		<title>Datei:Screenshot Sokrates Export 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_1.jpg&amp;diff=3319"/>
		<updated>2023-03-19T16:56:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin lud eine neue Version von Datei:Screenshot Sokrates Export 1.jpg hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3318</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3318"/>
		<updated>2023-03-19T16:53:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option &#039;&#039;100 Aktive Schüler&#039;&#039; an&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3317</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3317"/>
		<updated>2023-03-19T16:52:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Name der Abfrage:&#039;&#039;&#039; wählen Sie die Option 100 Aktive Schüler&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Schülerkennzahl&#039;&#039;&#039; wählen Sie zusätzlich die Option Schülerkennzahl an &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Email 1 (Schüler)&#039;&#039;&#039; wählen Sie zusätzlich die (optionale, aber empfohlene) Option Email an&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3316</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3316"/>
		<updated>2023-03-19T16:47:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&#039;&#039;&#039;2. Dynamische Suche&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
3. Name der Abfrage: 100 Aktive Schüler&lt;br /&gt;
Schülerkennzahl muss ergänzt angewählt werden&lt;br /&gt;
Email 1 (Schüler) ist optional&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3315</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3315"/>
		<updated>2023-03-19T16:46:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Dynamische Suche &lt;br /&gt;
&lt;br /&gt;
Name der Abfrage: 100 Aktive Schüler&lt;br /&gt;
Schülerkennzahl muss ergänzt angewählt werden&lt;br /&gt;
Email 1 (Schüler) ist optional&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3314</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3314"/>
		<updated>2023-03-19T16:46:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auswertung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Dynamische Suche &lt;br /&gt;
&lt;br /&gt;
Name der Abfrage: 100 Aktive Schüler&lt;br /&gt;
Schülerkennzahl muss ergänzt angewählt werden&lt;br /&gt;
Email 1 (Schüler) ist optional&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3313</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3313"/>
		<updated>2023-03-19T16:45:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
Nach erfolgreicher Anmeldung am Sokrates-System wählen Sie bitte wie in der Grafik: Vorgangsweise für Sokrates-Schülerdaten-Export beschrieben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Auswertung&#039;&#039;&#039; &lt;br /&gt;
Dynamische Suche &lt;br /&gt;
Name der Abfrage: 100 Aktive Schüler&lt;br /&gt;
Schülerkennzahl muss ergänzt angewählt werden&lt;br /&gt;
Email 1 (Schüler) ist optional&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3312</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3312"/>
		<updated>2023-03-19T16:39:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Vorgangsweise für Sokrates-Schülerdaten-Export]]&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3311</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3311"/>
		<updated>2023-03-19T16:38:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|400px|thumb|right|Alternativer Text]]&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3310</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3310"/>
		<updated>2023-03-19T16:37:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
[[Datei:Screenshot Sokrates Export 1.jpg|Thumb]]&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_1.jpg&amp;diff=3309</id>
		<title>Datei:Screenshot Sokrates Export 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:Screenshot_Sokrates_Export_1.jpg&amp;diff=3309"/>
		<updated>2023-03-19T16:35:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3308</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3308"/>
		<updated>2023-03-19T16:20:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Untis-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in LeTTo importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3307</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3307"/>
		<updated>2023-03-19T16:19:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden. Folgen Sie der Anleitung, um das nötige CSV-File aus Sokrates zu exportieren.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in Letto importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3306</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3306"/>
		<updated>2023-03-19T16:17:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Sokrates-Schülerdaten-Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
Die Schülerdaten können aus Sokrates exportiert werden.&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in Letto importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3305</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3305"/>
		<updated>2023-03-19T16:15:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Sokrates-Schülerdaten-Export=&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in Letto importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen (GPU003.TXT)&lt;br /&gt;
* Lehrer  (GPU004.TXT)&lt;br /&gt;
* Fächer  (GPU006.TXT)&lt;br /&gt;
* Unterricht (GPU002.TXT)&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Hauptseite#Administration]]&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;br /&gt;
* [[Anlegen von einzelnen Lehrern mit Gegenständen]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Hauptseite&amp;diff=3296</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Hauptseite&amp;diff=3296"/>
		<updated>2023-02-27T11:01:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Browser-Empfehlung || Firefox &amp;amp; Chrome  ||  ||  ||    ||  &lt;br /&gt;
|-&lt;br /&gt;
| Einführung || [[Einführung]]  || [[LeTTo-Hauptansicht|LeTTo-Hauptansicht]] || [[Beispielsammlung]]  ||   [[Beispielsammlung Editieren|Beispiele bearbeiten]]  ||  [[Fragetypen]] &lt;br /&gt;
|-&lt;br /&gt;
| Bearbeiten von Beispielen || [[Ordnerverwaltung]] || [[Fragenliste]] || [[Editor für den Angabetext]] || [[Datensätze]]  || [[Berechnungen]] &lt;br /&gt;
|-&lt;br /&gt;
| Online-Tests/Aktivitäten || [[Online-Tests|Einführung Tests]] || [[Erstellen von Tests]] [https://youtu.be/jBtaOZVF-cE Video] || [[Tests#Test durchführen|Test durchführen]]  || [[Test-Ergebnisse]] || &lt;br /&gt;
|-&lt;br /&gt;
| Beurteilungen || [[Katalog|Übersicht Beurteilungssystem]] [https://youtu.be/a0R4YYYkrMo Video] || [[Beurteilungskonfiguration|Konfiguration]] ||  [[Katalog#Klassenweise_Beurteilungen|Klassenweise Beurteilungen]] || [[Auswertungen]] ||&lt;br /&gt;
|-&lt;br /&gt;
| Kompetenzen  ||  [[Kompetenzen]] ||  [[Lehrpläne]]  || [[ Zuordnung v. Beispielen]]  || [[mehreren Beispiel zuordnen]]  ||  [[Ergebnisse]] ||&lt;br /&gt;
|-&lt;br /&gt;
| Mathematik || [[Datensätze definieren|Datensätze]] [https://youtu.be/fZEv62EWVtE Video] || [[Einheit|Einheiten]] || [[Berechnungen]] || [[Plugins]] ||  [[Zahlendarstellung]] || [[Folgefehlerbehandlung]] [https://youtu.be/CbpX537brTM Video]&lt;br /&gt;
|-&lt;br /&gt;
| Sonstiges || [[Neuigkeiten|Neuigkeiten/Änderungen]] || [[Shortcuts]] || [[FAQ]]  ||      ||   &lt;br /&gt;
|-  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vorgänge&#039;&#039;&#039;:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Passwort || [[eigenes Lehrerpasswort ändern]] || [[Schülerpasswort setzen]] || [[Lehrerpasswort setzen]] || [[Passwort mit Domain-Passwort synchronisieren]]&lt;br /&gt;
|-&lt;br /&gt;
| Online-Tests || [[Test anlegen]] || [[Beispiele zu Test hinzufügen]] || [[Testbearbeitung fortsetzen]] || [[Test ausführen]] || [[Test beenden]] || [[Test beurteilen]] &lt;br /&gt;
|-&lt;br /&gt;
| Labor || [[Labor Benotung]] || [[Laborübung anlegen]] || [[Labor Übungstest]] ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Administration&#039;&#039;&#039;: [[Administration]]&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
[[File:lettoEditHardcopy.jpg|thumb|300px|upright|Beispielansicht des Editmode von LeTTo]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LeTTo&#039;&#039;&#039; ist ein, vom Österreichischen Bundesministerium für Bildung, Wissenschaft und Forschung empfohlener E-Learning-Server. LeTTo ist breit einsetzbar und vor allem für technisch-mathematische-Gegenstände optimiert. LeTTo zeichnet sich durch einen kompetenzorientierten im System integrierten Notenkatalog aus.&lt;br /&gt;
&lt;br /&gt;
Wird der Server gestartet, so befindet man sich im [[LeTTo-Hauptansicht|Lernbereich]] des Servers.&lt;br /&gt;
&lt;br /&gt;
Die Erweiterbarkeit des Servers durch Module für Spezialanwendungen ist durch [[Plugins]] gegeben.&lt;br /&gt;
&lt;br /&gt;
Informationen zum [[Hilfesystem]]&lt;br /&gt;
&lt;br /&gt;
== Aufbau ==&lt;br /&gt;
* [[LeTTo-Hauptansicht|LeTTo-Hauptansicht]]&lt;br /&gt;
* [[Beispielsammlung]]&lt;br /&gt;
* [[Beispielsammlung Editieren]]&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
Die Dokumentation das LeTTo-Servers erfolgt in mehreren Formen:&lt;br /&gt;
&lt;br /&gt;
* Die Online-Hilfe im Browser, die durch F1 die Doku für das gerade aktive Element im Browser liefert&lt;br /&gt;
* Mit der Taste F10 erfolgt die Verlinkung zur Hilfe im Wiki&lt;br /&gt;
* Das LeTToWiki, das über [http://wiki.letto.at http://wiki.letto.at] erreichbar ist&lt;br /&gt;
* [https://www.letto.at https://www.letto.at] als Hauptseite für das LeTToprojekt mit Links und Video-Tutorials&lt;br /&gt;
* Das [https://forum.letto.at Letto-Forum] als Plattform für FAQ&#039;s und Austausch zwischen Usern&lt;br /&gt;
&lt;br /&gt;
== [[Administration]] ==&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Test-Ergebnisse&amp;diff=3295</id>
		<title>Test-Ergebnisse</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Test-Ergebnisse&amp;diff=3295"/>
		<updated>2023-02-27T10:52:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ist ein Test aktiv, dann wird im [[LeTTo-Hauptansicht#Navigation|Navigationsbereich]] der Baum mit &#039;&#039;&#039;Test-Einstellungen&#039;&#039;&#039; angezeigt.&lt;br /&gt;
:[[Datei:Neu asch.jpg|600px|thumb|right|Ergebnis-Übersicht für alle Schüler]]&lt;br /&gt;
&lt;br /&gt;
Der Menüpunkt &#039;&#039;&#039;Ergebnisse&#039;&#039;&#039; führt zur Übersicht über alle Ergebnisse eines Online-Tests.&lt;br /&gt;
&lt;br /&gt;
=Ergebnisse einer Befragung=&lt;br /&gt;
siehe [[Anonyme Befragung]]&lt;br /&gt;
=Ergebnis-Übersicht für einen Test=&lt;br /&gt;
&lt;br /&gt;
Folgende Spalten werden in der Ergebnisübersicht angezeigt:&lt;br /&gt;
* Name des Schülers&lt;br /&gt;
* Versuch: Zeitpunkt, wann der Testversuch gestartet wurde.&lt;br /&gt;
* [[Datei:ClipCapIt-180621-154007.PNG|22px]]: Diesen Schüler neu beurteilen:&lt;br /&gt;
* [[Datei:ClipCapIt-180621-154033.PNG|22px]]: Diesen Testversuch neu beurteilen, alle Beispiele ausser vom Lehrer beurteilte werden neu durchgerechnet und mit den Schülereingaben verglichen, die Note wird neu berechnet.&lt;br /&gt;
* Punkte: [[Datei:ClipCapIt-180621-154658.PNG|110px]]: Angabe von Soll- und Ist-Punktezahl, Prozentwert für dieses Beispiel&lt;br /&gt;
* Note: Note für diesen Test&lt;br /&gt;
* Für jede Frage eines Online-Tests wird eine eigene Spalte angezeigt: Hier werden die erreichten Punkte für diese Frage dargestellt. Farbliche Hinterlegung für falsch (rot), grün(richtig) und teilweise richtig (gelb). Wird diese Beurteilung vom Lehrer festgelegt, dann erscheint diese in grellerer Farbhinterlegung.&lt;br /&gt;
&lt;br /&gt;
Alle diese Ergebnisse sind als Links ausgeführt. Beim Klick darauf öffnet sich ein Dialog mit den konkreten Schülerergebnissen.&lt;br /&gt;
&lt;br /&gt;
= Beispielansicht =&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180621-155334.PNG|550px|thumb|left|Detailergebnisse für einen Schüler]]&lt;br /&gt;
Links oben sind Name und Fragenummern zu sehen. Die Beispielangabe (Bp. ...) bezieht sich auf die Beispielnummer des Schülers bei der Testabwicklung. (Die Beispiele eines Tests werden bei der Testausführung zufällig angeordnet!)&lt;br /&gt;
&lt;br /&gt;
Für jede Teilfrage sind die erreichten Punkte angeführt. Diese können vom Lehrer überschrieben werden. &lt;br /&gt;
:[[Datei:ClipCapIt-180621-155837.PNG|300px]]&lt;br /&gt;
Wenn man mit der Maus über die Fragebezeichnung einer Teilfrage fährt, dann wird ein Tooltip mit dem zur Teilfrage gehörenden Fragetext angezeigt.&lt;br /&gt;
&lt;br /&gt;
Nach jeder Änderung wird automatisch die Summe mitberechnet. [[Datei:ClipCapIt-180621-160213.PNG|40px]]&lt;br /&gt;
&lt;br /&gt;
Der Link &#039;&#039;&#039;Frage bearbeiten&#039;&#039;&#039; dient dazu, dass bei ev. fehlerhaften Fragen diese direkt aus dieser Ansicht heraus bearbeitet und geändert werden können. Beim Klicken auf diesen Link wird die [[Beispielsammlung Editieren|Beispielsammlung]] geöffnet und das Beispiel kann geändert werden.&lt;br /&gt;
&lt;br /&gt;
Zu jedem Ergebnis kann der Lehrer ein &#039;&#039;&#039;individuelles Feedback&#039;&#039;&#039; geben und mit der Notenänderung speichern.&lt;br /&gt;
&lt;br /&gt;
== Weiterschalten / Abschliessen der Eingaben ==&lt;br /&gt;
Folgende Buttons stehen zur Verfügung:&lt;br /&gt;
* Neu beurteilen: Die korrigierten Beurteilugen werden übernommen und der Dialog geschlossen&lt;br /&gt;
* Pfeile nach oben und nach unten: Nächster / voriger Schüler: Beurteilungen übernehmen und zum nächsten oder vorigen Schüler bei gleichem Beispiel wechseln.&lt;br /&gt;
* Pfeile nach rechts und links: Nächste / vorige Frage: Beurteilungen übernehmen und zur nächsten Frage bei gleichem Schüler gehen&lt;br /&gt;
:[[Datei:ClipCapIt-181204-104725.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Frage - Ergebnisse ==&lt;br /&gt;
Anzeige des aktuellen Beispiels mit den Schülereingaben.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:Neu_asch.jpg&amp;diff=3289</id>
		<title>Datei:Neu asch.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:Neu_asch.jpg&amp;diff=3289"/>
		<updated>2023-02-25T12:59:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:ClipCapIt-180621-155334.PNG&amp;diff=3284</id>
		<title>Datei:ClipCapIt-180621-155334.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:ClipCapIt-180621-155334.PNG&amp;diff=3284"/>
		<updated>2023-02-25T07:53:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin lud eine neue Version von Datei:ClipCapIt-180621-155334.PNG hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This file was uploaded from the clipboard ([[Category:Clipboard upload]]).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datei:LeTTo_Logo_neu_schmall2.jpg&amp;diff=3257</id>
		<title>Datei:LeTTo Logo neu schmall2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datei:LeTTo_Logo_neu_schmall2.jpg&amp;diff=3257"/>
		<updated>2023-01-20T15:32:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3256</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3256"/>
		<updated>2023-01-20T15:29:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Der LeTTo-Server wurde in Java für JavaEE [https://www.oracle.com/technetwork/java/javaee/overview/index.html] Server entwickelt. Prinzipiell sollte LeTTo auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. Wir haben jedoch als Serverumgebung nur Ubuntu-Server mit TomEE getestet und empfehlen deshalb auch diese Laufzeitumgebung.&lt;br /&gt;
&lt;br /&gt;
Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der TomEE läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
=== siehe auch ===&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Anforderungen]]&lt;br /&gt;
* [[Migration LeTTo zu Docker]]&lt;br /&gt;
* [[Dockerinstallation Erstkonfiguration]]&lt;br /&gt;
* [[Verzeichnisse und Docker-Volumes]]&lt;br /&gt;
* [[Container Struktur]]&lt;br /&gt;
* [[Setup-Service]]&lt;br /&gt;
* [[Datensicherung-Docker]]&lt;br /&gt;
&lt;br /&gt;
= Installation des Servers =&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Ubuntu/Debian-Server mit Docker-Containern (empfohlen) ==&lt;br /&gt;
* Installation von Ubuntu 22.04 Server oder Debian 11 ohne apache webserver (Port 80,443 und 9096 müssen frei sein!)&lt;br /&gt;
** !! &#039;&#039;&#039;Docker aus den Ubuntu oder Debian-Quellen darf nicht installiert sein&#039;&#039;&#039;, bzw. muss vor dem Installationsscript deinstalliert werden. Das Install-Script installiert Docker aus den original Docker-Quellen !! &lt;br /&gt;
* Einrichten der Namensauflösung dass der Server aus dem Internet über seinen Namen erreichbar ist&lt;br /&gt;
* Download des Installationsscripts von [http://letto.at/download/letto/install-letto-ubuntu-docker.sh http://letto.at/download/letto/install-letto-ubuntu-docker.sh]&lt;br /&gt;
  &amp;lt;pre&amp;gt;wget http://letto.at/download/letto/install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* start des Installationsscripts als &#039;&#039;&#039;root&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;pre&amp;gt;bash ./install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Nach der Installation ist das Setup-Service über einen Browser auf dem https-Port 9096 erreichbar. &lt;br /&gt;
* Alle weiteren Konfigurationen erfolgen dann im Setup-Service&lt;br /&gt;
** Beim [[Dockerinstallation Erstkonfiguration|ersten Start]] muss eine allgemeine Information des Servers für den Lizenzserver und die Passwörter für den MySQL-Server angegeben werden.&lt;br /&gt;
** Dann kann die Schule angelegt werden. Es wird dabei vom Lizenzserver eine beschränkte Demolizenz angefordert. Das Schulkürzel welches bei der Einrichtung agegeben wird erscheint immer als Kennung der Schule am Server (auch in der URL) und kann später nicht mehr geändert werden!&lt;br /&gt;
** Nach der Installation der Schule bitte mit uns in Verbindung setzen, dass wir eine angepasste Demolizenz vergeben können.&lt;br /&gt;
&lt;br /&gt;
== Installation auf anderen Host-Systemen mit Docker-Containern ==&lt;br /&gt;
* Prinzipiell ist natürlich jeder Server für die Docker-Installation von LeTTo verwendbar. Es existiert lediglich nur für Ubuntu ein fertiges Installationsscript für die Installation. Für andere Host-Betriebssysteme bitte ebenfalls das Installationsscript für Ubuntu herunterladen jedoch nicht direkt ausführen sondern an das Betriebssystem anpassen bzw. schrittweise angepasst die Installation händisch durchführen. Den Großteil der Installation übernimmt das Setup-Programm lettosetup.jar welches nach der Installation direkt am Host am https-Port 9096 läuft.&lt;br /&gt;
* Unter Windows gibts es nur ein sehr experimentelles Basis-Script nachdem noch einige undokumentierte Anpassungen notwendig sind [https://letto.at/download/letto/install-letto-windows-docker.bat https://letto.at/download/letto/install-letto-windows-docker.bat]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu (unterstützt bis September 2023) ==&lt;br /&gt;
* getestet für die LTS-Version 18.04, 20.04 und 22.04&lt;br /&gt;
* VIDEO-Anleitung: [https://www.dropbox.com/s/pyljp9g8pwt4zfp/Letto-Installation.mp4?dl=0 Installation] [https://www.dropbox.com/s/fimmw23l4s6zc6z/Letto-Installation-fertigstellung.mp4?dl=0 Fertigstellung]&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/22.04/release/]und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Installation mit einem Benutzer &#039;&#039;&#039;letto&#039;&#039;&#039;&lt;br /&gt;
* Bei der Installation nur den &#039;&#039;&#039;OpenSSH Server&#039;&#039;&#039; mit installieren&lt;br /&gt;
* Der Server sollte über eine &#039;&#039;&#039;funktionierende Namensauflösung&#039;&#039;&#039; aus dem &#039;&#039;&#039;Internet&#039;&#039;&#039; erreichbar sein.&lt;br /&gt;
* Eine gegebenenfalls vor dem Server sitzende Firewall sollte ins Internet mindestens folgende Ports freischalten:&lt;br /&gt;
** Eingehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Eingehend ICMP: echo(ping)&lt;br /&gt;
** Ausgehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Ausgehend UDP: 53(DNS)			&lt;br /&gt;
** Ausgehend ICMP: echo(ping)&lt;br /&gt;
** Und natürlich alle Antworten auf ausgehende Anfragen&lt;br /&gt;
** Falls eine Authentifizierung über LDAP gewünscht wird muss natürlich der LDAP oder AD-Server mit den notwendigen Ports erreichbar sein.&lt;br /&gt;
&lt;br /&gt;
* falls der Server nicht auf aktuellem Stand ist, die Updates einspielen und den Server neu starten&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo apt-get -y update &lt;br /&gt;
  sudo apt-get -y upgrade&lt;br /&gt;
  sudo apt-get -y dist-upgrade&lt;br /&gt;
  sudo apt-get -y autoremove&lt;br /&gt;
  sudo apt-get -y install -f&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Konfiguration des Servers&lt;br /&gt;
** Starten des Servers&lt;br /&gt;
** Wechseln zu Benutzer root.&amp;lt;pre&amp;gt;sudo su&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Wechsel in das Verzeichnis opt&amp;lt;pre&amp;gt;cd /opt&amp;lt;/pre&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;Download&#039;&#039;&#039; des Installationsscripts&amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script in einem Editor &#039;&#039;&#039;konfigurieren&#039;&#039;&#039; &amp;lt;pre&amp;gt;nano install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Wenn gewünscht, setzen von DNS-Namen, Passwörtern, Email und Heap-Speicher. Notwendíge Einstellungen werden interaktiv abgefragt wenn sie nicht angegeben werden.&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-O und Enter das Script speichern&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-X den Editor verlassen &lt;br /&gt;
** Setzen von Ausführungsrechten &amp;lt;pre&amp;gt;chmod 755 install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script &#039;&#039;&#039;starten&#039;&#039;&#039; &amp;lt;pre&amp;gt;./install-letto-ubuntu.sh&amp;lt;/pre&amp;gt; Die Ausführung des Scripts wird je nach Server-Hardware zwischen 20 und 60 Minuten dauern, da die notwendige Installation von LaTeX und Inkscape relativ lange dauert. Falls das Script während der Ausführung abbricht sollte es (ggf. nach Behebung des Fehlers) einfach nochmals gestartet werden.&lt;br /&gt;
&lt;br /&gt;
* Zertifikat für den Server installieren:&amp;lt;br&amp;gt;Bei der Standardeinstellung wurde noch das selbstsignierte Zertifikat vom Apache2 in der Datei /etc/apache2/sites-enabled/letto.conf eingebunden. Dieses Zertifikat kann nun durch ein eigenes gültiges Zertifikat für den Server-DNS-Namen ersetzt werden. &amp;lt;br&amp;gt; Falls kein eigenes Zertifikat vorhanden ist, kann auch mit dem Certbot ein selbstzertifiziertes Zertifikat installiert werden. Hierzu kann wie folgt vorgegangen werden:&lt;br /&gt;
** Starten des certbot als root-Benuter &amp;lt;pre&amp;gt;certbot --apache -d meinedomain.at&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Hierbei müssen einige Fragen wie email etc. beantwortet werden.&lt;br /&gt;
** Eintragen des certbot in einen Cronjob wie zB. in der Datei /etc/crontab &amp;lt;pre&amp;gt;05 05 * * * root certbot renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Datensicherung einrichten: &amp;lt;br&amp;gt;Die Datensicherung wird durch das Script so eingerichtet, das täglich in das Verzeichnis /sicherung gesichert wird. Diese Verzeichnis sollte nun auf eine externe Hardware regelmäßig mit einem sinnvollen Archivierungskonzept gesichert werden.&lt;br /&gt;
&lt;br /&gt;
* Konfiguration von LeTTo : &amp;lt;br&amp;gt; Nun kann der Server über seine URL erreicht und konfiguriert werden. &amp;lt;br&amp;gt;&lt;br /&gt;
* globalen Administrator anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-151804.PNG|600px]]&lt;br /&gt;
** Der Ping zum Lizenzserver muss OK sein damit der Server am Lizenzserver eingetragen werden kann&lt;br /&gt;
** Die Webadresse muss die Adresse sein, mit welcher der Server vom Browser auch erreicht wird, da daran die Lizenz gebunden wird!&lt;br /&gt;
** Der globale Administrator ist für die Administration des Servers zuständig. Für die Verwaltung der Klassen,Lehrer und Schüler gibt es einen getrennten Schuladministrator, welcher bei der Anlage der Schule erstellt wird.&lt;br /&gt;
** Daten speichern und weiter ist nur möglich wenn der Lizenzserver erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
* als globaler Administator eine Schule anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135032.PNG|600px]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135555.PNG|600px]] &amp;lt;br&amp;gt; Durch &amp;quot;Schule anlegen und Probelizenz anfordern&amp;quot; wird die Schule erzeugt und vom Lizenzserver eine Demolizenz geladen.&lt;br /&gt;
* als Schuladministrator eine Abteilung anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-140145.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu 18.04 ==&lt;br /&gt;
* Wir empfehlen ausdrücklich die Installation unter Ubuntu 20.04. Das Installationsscript für 18.04 wird ab 2021 nicht mehr gewartet.&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/18.04/release/] und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Die weitere Vorgehensweise ist gleich wie bei Ubuntu 20.04 nur sollte das Script &#039;&#039;&#039;install-letto-ubuntu.sh&#039;&#039;&#039; statt install-letto-ubuntu-20.04.sh verwendet werden &amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration einer bestehenden LeTTo-Installation auf eine Docker-Installation =&lt;br /&gt;
== Migration einer Linux-basierten LeTTo-Installation direkt auf den bestehenden Server ==&lt;br /&gt;
Besteht bereits eine lokale Installation auf einem Linux Server (idealerweise Ubuntu 18.04,20.04,22.04 oder Debian 11) dann kann direkt auf diesem Server eine dockerbasierte Installation vorgenommen und dabei die bestehenden Daten übernommen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_Linux-basierten_LeTTo-Installation_direkt_auf_den_bestehenden_Server|Migration Linux Installation auf Docker am gleichen Server]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Linux-Server als Docker-Installation ==&lt;br /&gt;
Liegt eine LeTTo-Installation auf einem beliebigen System vor, so kann sie wie hier beschrieben in eine Docker-Installation auf einem Linux-Server übertragen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Linux-Server_als_Docker-Installation|Migration LeTTo Installation auf Docker]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Windows-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Windows-Server_als_Docker-Installation|Migration zu Docker auf Windows]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen MAC-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_MAC-Server_als_Docker-Installation|Migration zu Docker auf einem Mac]]&lt;br /&gt;
&lt;br /&gt;
= globale Konfiguration =&lt;br /&gt;
Folgende Einstellungen sollte der [[Globaler Administrator|globale Administrator]] vornehmen:&lt;br /&gt;
* Anpassen der notwendigen Systemeinstellungen in der &#039;&#039;&#039;[[Globale Konfiguration|globalen Konfiguration]]&#039;&#039;&#039;.&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Active-Directory-Login|Parameter]] für die Active-Directory oder LDAP Authentifikation&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Serverbetrieb|Parameter]] für den Server-Betrieb &lt;br /&gt;
** Wenn nur eine Schule vorhanden ist, die Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
** Konfiguration des [[Globale Konfiguration#Allgemeine Konfiguration des Serververhaltens|Serververhaltens]]&lt;br /&gt;
* Konfiguration des [[Schultypen|Schultyps]]&lt;br /&gt;
* Anlegen einer neuen [[Schul-Konfiguration|Schule]]&lt;br /&gt;
* Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
&lt;br /&gt;
= Lizenz-Key einspielen =&lt;br /&gt;
* Im Regelfall wird die Lizenz automatisch bei der Konfiguration als globaler Administrator als Demolizenz angelegt. &lt;br /&gt;
* Bitte danach mit dem LeTTo-Team in Verbindung setzen damit wir die Demolizenz verlängern oder ein Angebot für eine Lizenz legen können.&lt;br /&gt;
&lt;br /&gt;
= Einspielen der Daten = &lt;br /&gt;
* Das [[Datenimport|Einspielen der Daten]] wird bei einer LeTTo-Admin-Schulung erklärt&lt;br /&gt;
&lt;br /&gt;
= Konfiguration der globalen Einstellungen =&lt;br /&gt;
:[[Datei:ClipCapIt-190121-191552.PNG|200px]]&lt;br /&gt;
* Im Dialog &amp;quot;[[Globale Konfiguration]]&amp;quot; müssen noch die Parameter für Server, AD-Login und Schule eingestellt werden.&lt;br /&gt;
* Als globaler Administrator kann man mit dem Menüpunkt &amp;quot;[[AD-check]]&amp;quot; die Authentifikation an einem LDAP-Server oder an einem Active-Directory konfigurieren.&lt;br /&gt;
&lt;br /&gt;
= Letzte wichtige Server-Konfigurationen =&lt;br /&gt;
Folgende Konfigurationen sollten noch vorgenommmen werden, werden aber in diesem Wiki nicht explizit beschrieben, sondern sollten von einem Linux/Unix-Fachmann vorgenommen werden.&lt;br /&gt;
* Datensicherung einrichten&lt;br /&gt;
* Firewall einrichten&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3255</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3255"/>
		<updated>2023-01-20T15:29:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Der LeTTo-Server wurde in Java für JavaEE [https://www.oracle.com/technetwork/java/javaee/overview/index.html] Server entwickelt. Prinzipiell sollte LeTTo auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. Wir haben jedoch als Serverumgebung nur Ubuntu-Server mit TomEE getestet und empfehlen deshalb auch diese Laufzeitumgebung.&lt;br /&gt;
&lt;br /&gt;
Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der TomEE läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
=== siehe auch ===&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Anforderungen]]&lt;br /&gt;
* [[Migration LeTTo zu Docker]]&lt;br /&gt;
* [[Dockerinstallation Erstkonfiguration]]&lt;br /&gt;
* [[Verzeichnisse und Docker-Volumes]]&lt;br /&gt;
* [[Container Struktur]]&lt;br /&gt;
* [[Setup-Service]]&lt;br /&gt;
* [[Datensicherung-Docker]]&lt;br /&gt;
&lt;br /&gt;
= Installation des Servers =&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Ubuntu/Debian-Server mit Docker-Containern (empfohlen) ==&lt;br /&gt;
* Installation von Ubuntu 22.04 Server oder Debian 11 ohne apache webserver (Port 80,443 und 9096 müssen frei sein!)&lt;br /&gt;
** !! &#039;&#039;&#039;Docker aus den Ubuntu oder Debian-Quellen darf nicht installiert sein&#039;&#039;&#039;, bzw. muss vor dem Installationsscript deinstalliert werden. Das Install-Script installiert Docker aus den original Docker-Quellen !! &lt;br /&gt;
* Einrichten der Namensauflösung dass der Server aus dem Internet über seinen Namen erreichbar ist&lt;br /&gt;
* Download des Installationsscripts von [http://letto.at/download/letto/install-letto-ubuntu-docker.sh http://letto.at/download/letto/install-letto-ubuntu-docker.sh]&lt;br /&gt;
  &amp;lt;pre&amp;gt;wget http://letto.at/download/letto/install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* start des Installationsscripts als &#039;&#039;&#039;root&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;pre&amp;gt;bash ./install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Nach der Installation ist das Setup-Service über einen Browser auf dem https-Port 9096 erreichbar. &lt;br /&gt;
* Alle weiteren Konfigurationen erfolgen dann im Setup-Service&lt;br /&gt;
** Beim [[Dockerinstallation Erstkonfiguration|ersten Start]] muss eine allgemeine Information des Servers für den Lizenzserver und die Passwörter für den MySQL-Server angegeben werden.&lt;br /&gt;
** Dann kann die Schule angelegt werden. Es wird dabei vom Lizenzserver eine beschränkte Demolizenz angefordert. Das Schulkürzel welches bei der Einrichtung agegeben wird erscheint immer als Kennung der Schule am Server (auch in der URL) und kann später nicht mehr geändert werden!&lt;br /&gt;
** Nach der Installation der Schule bitte mit uns in Verbindung setzen, dass wir eine angepasste Demolizenz vergeben können.&lt;br /&gt;
&lt;br /&gt;
== Installation auf anderen Host-Systemen mit Docker-Containern ==&lt;br /&gt;
* Prinzipiell ist natürlich jeder Server für die Docker-Installation von LeTTo verwendbar. Es existiert lediglich nur für Ubuntu ein fertiges Installationsscript für die Installation. Für andere Host-Betriebssysteme bitte ebenfalls das Installationsscript für Ubuntu herunterladen jedoch nicht direkt ausführen sondern an das Betriebssystem anpassen bzw. schrittweise angepasst die Installation händisch durchführen. Den Großteil der Installation übernimmt das Setup-Programm lettosetup.jar welches nach der Installation direkt am Host am https-Port 9096 läuft.&lt;br /&gt;
* Unter Windows gibts es nur ein sehr experimentelles Basis-Script nachdem noch einige undokumentierte Anpassungen notwendig sind [https://letto.at/download/letto/install-letto-windows-docker.bat https://letto.at/download/letto/install-letto-windows-docker.bat]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu ( unterstützt bis September 2023) ==&lt;br /&gt;
* getestet für die LTS-Version 18.04, 20.04 und 22.04&lt;br /&gt;
* VIDEO-Anleitung: [https://www.dropbox.com/s/pyljp9g8pwt4zfp/Letto-Installation.mp4?dl=0 Installation] [https://www.dropbox.com/s/fimmw23l4s6zc6z/Letto-Installation-fertigstellung.mp4?dl=0 Fertigstellung]&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/22.04/release/]und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Installation mit einem Benutzer &#039;&#039;&#039;letto&#039;&#039;&#039;&lt;br /&gt;
* Bei der Installation nur den &#039;&#039;&#039;OpenSSH Server&#039;&#039;&#039; mit installieren&lt;br /&gt;
* Der Server sollte über eine &#039;&#039;&#039;funktionierende Namensauflösung&#039;&#039;&#039; aus dem &#039;&#039;&#039;Internet&#039;&#039;&#039; erreichbar sein.&lt;br /&gt;
* Eine gegebenenfalls vor dem Server sitzende Firewall sollte ins Internet mindestens folgende Ports freischalten:&lt;br /&gt;
** Eingehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Eingehend ICMP: echo(ping)&lt;br /&gt;
** Ausgehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Ausgehend UDP: 53(DNS)			&lt;br /&gt;
** Ausgehend ICMP: echo(ping)&lt;br /&gt;
** Und natürlich alle Antworten auf ausgehende Anfragen&lt;br /&gt;
** Falls eine Authentifizierung über LDAP gewünscht wird muss natürlich der LDAP oder AD-Server mit den notwendigen Ports erreichbar sein.&lt;br /&gt;
&lt;br /&gt;
* falls der Server nicht auf aktuellem Stand ist, die Updates einspielen und den Server neu starten&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo apt-get -y update &lt;br /&gt;
  sudo apt-get -y upgrade&lt;br /&gt;
  sudo apt-get -y dist-upgrade&lt;br /&gt;
  sudo apt-get -y autoremove&lt;br /&gt;
  sudo apt-get -y install -f&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Konfiguration des Servers&lt;br /&gt;
** Starten des Servers&lt;br /&gt;
** Wechseln zu Benutzer root.&amp;lt;pre&amp;gt;sudo su&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Wechsel in das Verzeichnis opt&amp;lt;pre&amp;gt;cd /opt&amp;lt;/pre&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;Download&#039;&#039;&#039; des Installationsscripts&amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script in einem Editor &#039;&#039;&#039;konfigurieren&#039;&#039;&#039; &amp;lt;pre&amp;gt;nano install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Wenn gewünscht, setzen von DNS-Namen, Passwörtern, Email und Heap-Speicher. Notwendíge Einstellungen werden interaktiv abgefragt wenn sie nicht angegeben werden.&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-O und Enter das Script speichern&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-X den Editor verlassen &lt;br /&gt;
** Setzen von Ausführungsrechten &amp;lt;pre&amp;gt;chmod 755 install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script &#039;&#039;&#039;starten&#039;&#039;&#039; &amp;lt;pre&amp;gt;./install-letto-ubuntu.sh&amp;lt;/pre&amp;gt; Die Ausführung des Scripts wird je nach Server-Hardware zwischen 20 und 60 Minuten dauern, da die notwendige Installation von LaTeX und Inkscape relativ lange dauert. Falls das Script während der Ausführung abbricht sollte es (ggf. nach Behebung des Fehlers) einfach nochmals gestartet werden.&lt;br /&gt;
&lt;br /&gt;
* Zertifikat für den Server installieren:&amp;lt;br&amp;gt;Bei der Standardeinstellung wurde noch das selbstsignierte Zertifikat vom Apache2 in der Datei /etc/apache2/sites-enabled/letto.conf eingebunden. Dieses Zertifikat kann nun durch ein eigenes gültiges Zertifikat für den Server-DNS-Namen ersetzt werden. &amp;lt;br&amp;gt; Falls kein eigenes Zertifikat vorhanden ist, kann auch mit dem Certbot ein selbstzertifiziertes Zertifikat installiert werden. Hierzu kann wie folgt vorgegangen werden:&lt;br /&gt;
** Starten des certbot als root-Benuter &amp;lt;pre&amp;gt;certbot --apache -d meinedomain.at&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Hierbei müssen einige Fragen wie email etc. beantwortet werden.&lt;br /&gt;
** Eintragen des certbot in einen Cronjob wie zB. in der Datei /etc/crontab &amp;lt;pre&amp;gt;05 05 * * * root certbot renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Datensicherung einrichten: &amp;lt;br&amp;gt;Die Datensicherung wird durch das Script so eingerichtet, das täglich in das Verzeichnis /sicherung gesichert wird. Diese Verzeichnis sollte nun auf eine externe Hardware regelmäßig mit einem sinnvollen Archivierungskonzept gesichert werden.&lt;br /&gt;
&lt;br /&gt;
* Konfiguration von LeTTo : &amp;lt;br&amp;gt; Nun kann der Server über seine URL erreicht und konfiguriert werden. &amp;lt;br&amp;gt;&lt;br /&gt;
* globalen Administrator anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-151804.PNG|600px]]&lt;br /&gt;
** Der Ping zum Lizenzserver muss OK sein damit der Server am Lizenzserver eingetragen werden kann&lt;br /&gt;
** Die Webadresse muss die Adresse sein, mit welcher der Server vom Browser auch erreicht wird, da daran die Lizenz gebunden wird!&lt;br /&gt;
** Der globale Administrator ist für die Administration des Servers zuständig. Für die Verwaltung der Klassen,Lehrer und Schüler gibt es einen getrennten Schuladministrator, welcher bei der Anlage der Schule erstellt wird.&lt;br /&gt;
** Daten speichern und weiter ist nur möglich wenn der Lizenzserver erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
* als globaler Administator eine Schule anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135032.PNG|600px]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135555.PNG|600px]] &amp;lt;br&amp;gt; Durch &amp;quot;Schule anlegen und Probelizenz anfordern&amp;quot; wird die Schule erzeugt und vom Lizenzserver eine Demolizenz geladen.&lt;br /&gt;
* als Schuladministrator eine Abteilung anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-140145.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu 18.04 ==&lt;br /&gt;
* Wir empfehlen ausdrücklich die Installation unter Ubuntu 20.04. Das Installationsscript für 18.04 wird ab 2021 nicht mehr gewartet.&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/18.04/release/] und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Die weitere Vorgehensweise ist gleich wie bei Ubuntu 20.04 nur sollte das Script &#039;&#039;&#039;install-letto-ubuntu.sh&#039;&#039;&#039; statt install-letto-ubuntu-20.04.sh verwendet werden &amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration einer bestehenden LeTTo-Installation auf eine Docker-Installation =&lt;br /&gt;
== Migration einer Linux-basierten LeTTo-Installation direkt auf den bestehenden Server ==&lt;br /&gt;
Besteht bereits eine lokale Installation auf einem Linux Server (idealerweise Ubuntu 18.04,20.04,22.04 oder Debian 11) dann kann direkt auf diesem Server eine dockerbasierte Installation vorgenommen und dabei die bestehenden Daten übernommen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_Linux-basierten_LeTTo-Installation_direkt_auf_den_bestehenden_Server|Migration Linux Installation auf Docker am gleichen Server]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Linux-Server als Docker-Installation ==&lt;br /&gt;
Liegt eine LeTTo-Installation auf einem beliebigen System vor, so kann sie wie hier beschrieben in eine Docker-Installation auf einem Linux-Server übertragen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Linux-Server_als_Docker-Installation|Migration LeTTo Installation auf Docker]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Windows-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Windows-Server_als_Docker-Installation|Migration zu Docker auf Windows]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen MAC-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_MAC-Server_als_Docker-Installation|Migration zu Docker auf einem Mac]]&lt;br /&gt;
&lt;br /&gt;
= globale Konfiguration =&lt;br /&gt;
Folgende Einstellungen sollte der [[Globaler Administrator|globale Administrator]] vornehmen:&lt;br /&gt;
* Anpassen der notwendigen Systemeinstellungen in der &#039;&#039;&#039;[[Globale Konfiguration|globalen Konfiguration]]&#039;&#039;&#039;.&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Active-Directory-Login|Parameter]] für die Active-Directory oder LDAP Authentifikation&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Serverbetrieb|Parameter]] für den Server-Betrieb &lt;br /&gt;
** Wenn nur eine Schule vorhanden ist, die Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
** Konfiguration des [[Globale Konfiguration#Allgemeine Konfiguration des Serververhaltens|Serververhaltens]]&lt;br /&gt;
* Konfiguration des [[Schultypen|Schultyps]]&lt;br /&gt;
* Anlegen einer neuen [[Schul-Konfiguration|Schule]]&lt;br /&gt;
* Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
&lt;br /&gt;
= Lizenz-Key einspielen =&lt;br /&gt;
* Im Regelfall wird die Lizenz automatisch bei der Konfiguration als globaler Administrator als Demolizenz angelegt. &lt;br /&gt;
* Bitte danach mit dem LeTTo-Team in Verbindung setzen damit wir die Demolizenz verlängern oder ein Angebot für eine Lizenz legen können.&lt;br /&gt;
&lt;br /&gt;
= Einspielen der Daten = &lt;br /&gt;
* Das [[Datenimport|Einspielen der Daten]] wird bei einer LeTTo-Admin-Schulung erklärt&lt;br /&gt;
&lt;br /&gt;
= Konfiguration der globalen Einstellungen =&lt;br /&gt;
:[[Datei:ClipCapIt-190121-191552.PNG|200px]]&lt;br /&gt;
* Im Dialog &amp;quot;[[Globale Konfiguration]]&amp;quot; müssen noch die Parameter für Server, AD-Login und Schule eingestellt werden.&lt;br /&gt;
* Als globaler Administrator kann man mit dem Menüpunkt &amp;quot;[[AD-check]]&amp;quot; die Authentifikation an einem LDAP-Server oder an einem Active-Directory konfigurieren.&lt;br /&gt;
&lt;br /&gt;
= Letzte wichtige Server-Konfigurationen =&lt;br /&gt;
Folgende Konfigurationen sollten noch vorgenommmen werden, werden aber in diesem Wiki nicht explizit beschrieben, sondern sollten von einem Linux/Unix-Fachmann vorgenommen werden.&lt;br /&gt;
* Datensicherung einrichten&lt;br /&gt;
* Firewall einrichten&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3254</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Installation&amp;diff=3254"/>
		<updated>2023-01-20T15:28:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Der LeTTo-Server wurde in Java für JavaEE [https://www.oracle.com/technetwork/java/javaee/overview/index.html] Server entwickelt. Prinzipiell sollte LeTTo auf jedem JavaEE-Server unter Windows oder Linux lauffähig sein. Wir haben jedoch als Serverumgebung nur Ubuntu-Server mit TomEE getestet und empfehlen deshalb auch diese Laufzeitumgebung.&lt;br /&gt;
&lt;br /&gt;
Als Datenbank wird eine MySQL-Datenbank verwendet, welche idealerweise am gleichen Server wie der TomEE läuft. Es ist jedoch auch mögliche einen zentralen MySQL-Server zu verwenden welcher im LAN zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
=== siehe auch ===&lt;br /&gt;
* [[Administration]]&lt;br /&gt;
* [[Anforderungen]]&lt;br /&gt;
* [[Migration LeTTo zu Docker]]&lt;br /&gt;
* [[Dockerinstallation Erstkonfiguration]]&lt;br /&gt;
* [[Verzeichnisse und Docker-Volumes]]&lt;br /&gt;
* [[Container Struktur]]&lt;br /&gt;
* [[Setup-Service]]&lt;br /&gt;
* [[Datensicherung-Docker]]&lt;br /&gt;
&lt;br /&gt;
= Installation des Servers =&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Ubuntu/Debian-Server mit Docker-Containern (empfohlen) ==&lt;br /&gt;
* Installation von Ubuntu 22.04 Server oder Debian 11 ohne apache webserver (Port 80,443 und 9096 müssen frei sein!)&lt;br /&gt;
** !! &#039;&#039;&#039;Docker aus den Ubuntu oder Debian-Quellen darf nicht installiert sein&#039;&#039;&#039;, bzw. muss vor dem Installationsscript deinstalliert werden. Das Install-Script installiert Docker aus den original Docker-Quellen !! &lt;br /&gt;
* Einrichten der Namensauflösung dass der Server aus dem Internet über seinen Namen erreichbar ist&lt;br /&gt;
* Download des Installationsscripts von [http://letto.at/download/letto/install-letto-ubuntu-docker.sh http://letto.at/download/letto/install-letto-ubuntu-docker.sh]&lt;br /&gt;
  &amp;lt;pre&amp;gt;wget http://letto.at/download/letto/install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* start des Installationsscripts als &#039;&#039;&#039;root&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;pre&amp;gt;bash ./install-letto-ubuntu-docker.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Nach der Installation ist das Setup-Service über einen Browser auf dem https-Port 9096 erreichbar. &lt;br /&gt;
* Alle weiteren Konfigurationen erfolgen dann im Setup-Service&lt;br /&gt;
** Beim [[Dockerinstallation Erstkonfiguration|ersten Start]] muss eine allgemeine Information des Servers für den Lizenzserver und die Passwörter für den MySQL-Server angegeben werden.&lt;br /&gt;
** Dann kann die Schule angelegt werden. Es wird dabei vom Lizenzserver eine beschränkte Demolizenz angefordert. Das Schulkürzel welches bei der Einrichtung agegeben wird erscheint immer als Kennung der Schule am Server (auch in der URL) und kann später nicht mehr geändert werden!&lt;br /&gt;
** Nach der Installation der Schule bitte mit uns in Verbindung setzen, dass wir eine angepasste Demolizenz vergeben können.&lt;br /&gt;
&lt;br /&gt;
== Installation auf anderen Host-Systemen mit Docker-Containern ==&lt;br /&gt;
* Prinzipiell ist natürlich jeder Server für die Docker-Installation von LeTTo verwendbar. Es existiert lediglich nur für Ubuntu ein fertiges Installationsscript für die Installation. Für andere Host-Betriebssysteme bitte ebenfalls das Installationsscript für Ubuntu herunterladen jedoch nicht direkt ausführen sondern an das Betriebssystem anpassen bzw. schrittweise angepasst die Installation händisch durchführen. Den Großteil der Installation übernimmt das Setup-Programm lettosetup.jar welches nach der Installation direkt am Host am https-Port 9096 läuft.&lt;br /&gt;
* Unter Windows gibts es nur ein sehr experimentelles Basis-Script nachdem noch einige undokumentierte Anpassungen notwendig sind [https://letto.at/download/letto/install-letto-windows-docker.bat https://letto.at/download/letto/install-letto-windows-docker.bat]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu ( unterstützt bis September 2023) ==&lt;br /&gt;
* getestet für die LTS-Version 18.04, 20.04 und 22.04&lt;br /&gt;
* VIDEO-Anleitung: [https://www.dropbox.com/s/pyljp9g8pwt4zfp/Letto-Installation.mp4?dl=0 Installation] [https://www.dropbox.com/s/fimmw23l4s6zc6z/Letto-Installation-fertigstellung.mp4?dl=0 Fertigstellung]&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/22.04/release/]und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Installation mit einem Benutzer &#039;&#039;&#039;letto&#039;&#039;&#039;&lt;br /&gt;
* Bei der Installation nur den &#039;&#039;&#039;OpenSSH Server&#039;&#039;&#039; mit installieren&lt;br /&gt;
* Der Server sollte über eine &#039;&#039;&#039;funktionierende Namensauflösung&#039;&#039;&#039; aus dem &#039;&#039;&#039;Internet&#039;&#039;&#039; erreichbar sein.&lt;br /&gt;
* Eine gegebenenfalls vor dem Server sitzende Firewall sollte ins Internet mindestens folgende Ports freischalten:&lt;br /&gt;
** Eingehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Eingehend ICMP: echo(ping)&lt;br /&gt;
** Ausgehend TCP: 80(HTTP), 443(HTTPS)&lt;br /&gt;
** Ausgehend UDP: 53(DNS)			&lt;br /&gt;
** Ausgehend ICMP: echo(ping)&lt;br /&gt;
** Und natürlich alle Antworten auf ausgehende Anfragen&lt;br /&gt;
** Falls eine Authentifizierung über LDAP gewünscht wird muss natürlich der LDAP oder AD-Server mit den notwendigen Ports erreichbar sein.&lt;br /&gt;
&lt;br /&gt;
* falls der Server nicht auf aktuellem Stand ist, die Updates einspielen und den Server neu starten&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  sudo apt-get -y update &lt;br /&gt;
  sudo apt-get -y upgrade&lt;br /&gt;
  sudo apt-get -y dist-upgrade&lt;br /&gt;
  sudo apt-get -y autoremove&lt;br /&gt;
  sudo apt-get -y install -f&lt;br /&gt;
  sudo reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Konfiguration des Servers&lt;br /&gt;
** Starten des Servers&lt;br /&gt;
** Wechseln zu Benutzer root.&amp;lt;pre&amp;gt;sudo su&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Wechsel in das Verzeichnis opt&amp;lt;pre&amp;gt;cd /opt&amp;lt;/pre&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;Download&#039;&#039;&#039; des Installationsscripts&amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script in einem Editor &#039;&#039;&#039;konfigurieren&#039;&#039;&#039; &amp;lt;pre&amp;gt;nano install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Wenn gewünscht, setzen von DNS-Namen, Passwörtern, Email und Heap-Speicher. Notwendíge Einstellungen werden interaktiv abgefragt wenn sie nicht angegeben werden.&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-O und Enter das Script speichern&lt;br /&gt;
*** Mit &amp;lt;Strg&amp;gt;-X den Editor verlassen &lt;br /&gt;
** Setzen von Ausführungsrechten &amp;lt;pre&amp;gt;chmod 755 install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Script &#039;&#039;&#039;starten&#039;&#039;&#039; &amp;lt;pre&amp;gt;./install-letto-ubuntu.sh&amp;lt;/pre&amp;gt; Die Ausführung des Scripts wird je nach Server-Hardware zwischen 20 und 60 Minuten dauern, da die notwendige Installation von LaTeX und Inkscape relativ lange dauert. Falls das Script während der Ausführung abbricht sollte es (ggf. nach Behebung des Fehlers) einfach nochmals gestartet werden.&lt;br /&gt;
&lt;br /&gt;
* Zertifikat für den Server installieren:&amp;lt;br&amp;gt;Bei der Standardeinstellung wurde noch das selbstsignierte Zertifikat vom Apache2 in der Datei /etc/apache2/sites-enabled/letto.conf eingebunden. Dieses Zertifikat kann nun durch ein eigenes gültiges Zertifikat für den Server-DNS-Namen ersetzt werden. &amp;lt;br&amp;gt; Falls kein eigenes Zertifikat vorhanden ist, kann auch mit dem Certbot ein selbstzertifiziertes Zertifikat installiert werden. Hierzu kann wie folgt vorgegangen werden:&lt;br /&gt;
** Starten des certbot als root-Benuter &amp;lt;pre&amp;gt;certbot --apache -d meinedomain.at&amp;lt;/pre&amp;gt;&lt;br /&gt;
*** Hierbei müssen einige Fragen wie email etc. beantwortet werden.&lt;br /&gt;
** Eintragen des certbot in einen Cronjob wie zB. in der Datei /etc/crontab &amp;lt;pre&amp;gt;05 05 * * * root certbot renew&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Datensicherung einrichten: &amp;lt;br&amp;gt;Die Datensicherung wird durch das Script so eingerichtet, das täglich in das Verzeichnis /sicherung gesichert wird. Diese Verzeichnis sollte nun auf eine externe Hardware regelmäßig mit einem sinnvollen Archivierungskonzept gesichert werden.&lt;br /&gt;
&lt;br /&gt;
* Konfiguration von LeTTo : &amp;lt;br&amp;gt; Nun kann der Server über seine URL erreicht und konfiguriert werden. &amp;lt;br&amp;gt;&lt;br /&gt;
* globalen Administrator anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-151804.PNG|600px]]&lt;br /&gt;
** Der Ping zum Lizenzserver muss OK sein damit der Server am Lizenzserver eingetragen werden kann&lt;br /&gt;
** Die Webadresse muss die Adresse sein, mit welcher der Server vom Browser auch erreicht wird, da daran die Lizenz gebunden wird!&lt;br /&gt;
** Der globale Administrator ist für die Administration des Servers zuständig. Für die Verwaltung der Klassen,Lehrer und Schüler gibt es einen getrennten Schuladministrator, welcher bei der Anlage der Schule erstellt wird.&lt;br /&gt;
** Daten speichern und weiter ist nur möglich wenn der Lizenzserver erreichbar ist.&lt;br /&gt;
&lt;br /&gt;
* als globaler Administator eine Schule anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135032.PNG|600px]] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-135555.PNG|600px]] &amp;lt;br&amp;gt; Durch &amp;quot;Schule anlegen und Probelizenz anfordern&amp;quot; wird die Schule erzeugt und vom Lizenzserver eine Demolizenz geladen.&lt;br /&gt;
* als Schuladministrator eine Abteilung anlegen: &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-211209-140145.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Installation unter Ubuntu 18.04 ==&lt;br /&gt;
* Wir empfehlen ausdrücklich die Installation unter Ubuntu 20.04. Das Installationsscript für 18.04 wird ab 2021 nicht mehr gewartet.&lt;br /&gt;
* Download von Ubuntu Server [http://cdimage.ubuntu.com/releases/18.04/release/] und Erzeugung eines Boot Mediums [https://wiki.ubuntuusers.de/Ubuntu-CD/] (zB. DVD)&lt;br /&gt;
* Die weitere Vorgehensweise ist gleich wie bei Ubuntu 20.04 nur sollte das Script &#039;&#039;&#039;install-letto-ubuntu.sh&#039;&#039;&#039; statt install-letto-ubuntu-20.04.sh verwendet werden &amp;lt;pre&amp;gt;wget https://letto.at/download/letto/install-letto-ubuntu.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration einer bestehenden LeTTo-Installation auf eine Docker-Installation =&lt;br /&gt;
== Migration einer Linux-basierten LeTTo-Installation direkt auf den bestehenden Server ==&lt;br /&gt;
Besteht bereits eine lokale Installation auf einem Linux Server (idealerweise Ubuntu 18.04,20.04,22.04 oder Debian 11) dann kann direkt auf diesem Server eine dockerbasierte Installation vorgenommen und dabei die bestehenden Daten übernommen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_Linux-basierten_LeTTo-Installation_direkt_auf_den_bestehenden_Server|Migration Linux Installation auf Docker am gleichen Server]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Linux-Server als Docker-Installation ==&lt;br /&gt;
Liegt eine LeTTo-Installation auf einem beliebigen System vor, so kann sie wie hier beschrieben in eine Docker-Installation auf einem Linux-Server übertragen werden.&lt;br /&gt;
&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Linux-Server_als_Docker-Installation|Migration LeTTo Installation auf Docker]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen Windows-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_Windows-Server_als_Docker-Installation|Migration zu Docker auf Windows]]&lt;br /&gt;
&lt;br /&gt;
== Migration einer bestehenden LeTTo-Installation auf einen neuen MAC-Server als Docker-Installation ==&lt;br /&gt;
[[Migration_LeTTo_zu_Docker#Migration_einer_bestehenden_LeTTo-Installation_auf_einen_neuen_MAC-Server_als_Docker-Installation|Migration zu Docker auf einem Mac]]&lt;br /&gt;
&lt;br /&gt;
= globale Konfiguration =&lt;br /&gt;
Folgende Einstellungen sollte der [[Globaler Administrator|globale Administrator]] vornehmen:&lt;br /&gt;
* Anpassen der notwendigen Systemeinstellungen in der &#039;&#039;&#039;[[Globale Konfiguration|globalen Konfiguration]]&#039;&#039;&#039;.&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Active-Directory-Login|Parameter]] für die Active-Directory oder LDAP Authentifikation&lt;br /&gt;
** [[Globale Konfiguration#Parameter für den Serverbetrieb|Parameter]] für den Server-Betrieb &lt;br /&gt;
** Wenn nur eine Schule vorhanden ist, die Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
** Konfiguration des [[Globale Konfiguration#Allgemeine Konfiguration des Serververhaltens|Serververhaltens]]&lt;br /&gt;
* Konfiguration des [[Schultypen|Schultyps]]&lt;br /&gt;
* Anlegen einer neuen [[Schul-Konfiguration|Schule]]&lt;br /&gt;
* Konfiguration der [[Globale Konfiguration#Parameter der Schule|Schul-Parameter]]&lt;br /&gt;
&lt;br /&gt;
= Lizenz-Key einspielen =&lt;br /&gt;
* Im Regelfall wird die Lizenz automatisch bei der Konfiguration als globaler Administrator als Demolizenz angelegt. &lt;br /&gt;
* Bitte danach mit dem LeTTo-Team in Verbindung setzen damit wir die Demolizenz verlängern oder ein Angebot für eine Lizenz legen können.&lt;br /&gt;
&lt;br /&gt;
= Einspielen der Daten = &lt;br /&gt;
* Das [[Datenimport|Einspielen der Daten]] wird bei einer LeTTo-Admin-Schulung erklärt&lt;br /&gt;
&lt;br /&gt;
= Konfiguration der globalen Einstellungen =&lt;br /&gt;
:[[Datei:ClipCapIt-190121-191552.PNG|200px]]&lt;br /&gt;
* Im Dialog &amp;quot;[[Globale Konfiguration]]&amp;quot; müssen noch die Parameter für Server, AD-Login und Schule eingestellt werden.&lt;br /&gt;
* Als globaler Administrator kann man mit dem Menüpunkt &amp;quot;[[AD-check]]&amp;quot; die Authentifikation an einem LDAP-Server oder an einem Active-Directory konfigurieren.&lt;br /&gt;
&lt;br /&gt;
= letzte wichtige Server-Konfigurationen =&lt;br /&gt;
Folgende Konfigurationen sollten noch vorgenommmen werden, werden aber in diesem Wiki nicht explizit beschrieben, sondern sollten von einem Linux/Unix-Fachmann vorgenommen werden.&lt;br /&gt;
* Datensicherung einrichten&lt;br /&gt;
* Firewall einrichten&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3039</id>
		<title>Datenimport</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Datenimport&amp;diff=3039"/>
		<updated>2021-12-08T12:52:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Login für den Import=&lt;br /&gt;
Der Import muss in der Rolle &amp;quot;Admin&amp;quot; erfolgen!&lt;br /&gt;
:[[Datei:ClipCapIt-191030-185709.PNG]]&lt;br /&gt;
&lt;br /&gt;
=Untis-Export=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-084336.PNG|400px|thumb]]&lt;br /&gt;
Der Datenimport erfolgt aus einem Export der Untis-Daten für die Lehrer und Lehrfächerverteilungen, die Schülerdaten werden aus Sokrates exportiert und in Letto importiert.&lt;br /&gt;
&lt;br /&gt;
Die nebenstehende Abbildung zeigt die Untis-Export-Ansicht: Gehen Sie dazu in Untis auf das Menü &#039;&#039;&#039;Datei&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Wählen Sie &#039;&#039;&#039;Import/Export&#039;&#039;&#039; und dann &#039;&#039;&#039;Export TXT Datei (CSV,DIF)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Exportieren Sie &lt;br /&gt;
* Klassen&lt;br /&gt;
* Lehrer&lt;br /&gt;
* Fächer&lt;br /&gt;
* Unterricht&lt;br /&gt;
&lt;br /&gt;
Die Abteilungen werden nur beim ersten Aufsetzen der Datenbank benötigt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WICHTIG&#039;&#039;&#039;: Schulen ohne Abteilungsstruktur &#039;&#039;&#039;müssen&#039;&#039;&#039; einen Abteilung anlegen - Namen der Abteilung ist willkürlich wählbar. Die Kurzbezeichnung der Abteilung &#039;&#039;&#039;muss&#039;&#039;&#039; jedoch leer bleiben.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-085200.PNG|250px]]&lt;br /&gt;
Vor dem Export können Sie die Trennzeichen (Komma, Semikolon, Tabulator) auswählen und die Zeichencodierung festlegen.&lt;br /&gt;
Ist vor &#039;&#039;&#039;Encoding: UTF-8&#039;&#039;&#039; das Häckchen gesetzt, dann werden die Daten in UTF8, sonst im ISO-Format exportiert.&lt;br /&gt;
&lt;br /&gt;
=Zeichencodierung=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-083704.PNG|150px|thumb]]&lt;br /&gt;
Mit dem Auswahlmenü links oben können Sie für den gerade aktuellen Import die Zeichencodierung festlegen. Folgende Formate werden unterstützt:&lt;br /&gt;
* UTF8&lt;br /&gt;
* ISO (Windows-Standarformat)&lt;br /&gt;
* UTF16&lt;br /&gt;
&lt;br /&gt;
Weiters können Sie das CSV-Trennzeichen ihrer Exportdaten definieren.&lt;br /&gt;
&lt;br /&gt;
=Abteilungen=&lt;br /&gt;
Die Abteilungen werden nur beim erstmaligen Aufsetzen der Datenbank benötigt und aus Untis eingespielt. Beim jährlichen Einspielen der Daten bleiben die Abteilungen unverändert.&lt;br /&gt;
&lt;br /&gt;
=Gegenstände (Fächer)=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Fächer&#039;&#039;&#039;, dann wird das Import-Feld für die Gegenstände aktiv. Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Fächer&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Fächer hochladen&#039;&#039;&#039;.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092225.PNG|400px]]&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Fächer klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Klassen=&lt;br /&gt;
Wählen Sie den Button für &#039;&#039;&#039;Klassen&#039;&#039;&#039;, dann wird das Import-Feld für die Klassen aktiv. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092743.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Die Checkbox &#039;&#039;&#039;Schultyp extrahieren:&#039;&#039;&#039; bewirkt, dass der Schultyp aud den Klassen extrahiert wird und in der Datenbank gespeichert wird. Sinnvoll nur dann, wennn der Schultyp in Untis gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;Importieren&#039;&#039;&#039; wählen Sie die Untis-Export-Datei für die &#039;&#039;&#039;Klassen&#039;&#039;&#039; aus und starten Sie den Import mit &#039;&#039;&#039;Klassen hochladen&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Vor dem tatsächlichen Import erscheint ein Dialog zur Kontrolle der Daten.&lt;br /&gt;
:[[Datei:ClipCapIt-180918-092922.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Die Untis-Einträge, die nicht als Klassen interpretiert werden konnten, sind in dem Tabellenblatt &#039;&#039;&#039;Fehlerhafte Daten&#039;&#039;&#039; zu finden:&lt;br /&gt;
:[[Datei:ClipCapIt-180918-093110.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Zum Importieren der Klassen für dieses Schuljahr klicken Sie den Button &#039;&#039;&#039;Daten in die Datenbank übernehmen&#039;&#039;&#039; (links oben).&lt;br /&gt;
&lt;br /&gt;
=Lehrer=&lt;br /&gt;
Import der Lehrer aus UNTIS =&amp;gt; Lehrer.&lt;br /&gt;
Optional können die Lehreraccounts mit dem Kürzel l- versehen werden. (Checkbox &#039;&#039;&#039;Lehrer mit &#039;l-&#039; ergänzen:&#039;&#039;&#039; bewirkt, dass alle Lehrer-Kürzel aus Untis mit einem vorangestellten l- beginnen. Bp: mayt wird zu l-mayt in letto.&lt;br /&gt;
&lt;br /&gt;
Um im nächsten Schuljahr keinen falschen Import zu machen (falsche Auswahl der l-Checkbox) wird der zuletzt gespeicherte Status in der [[Globale Konfiguration|Globalen Konfiguration]] unter dem Parameter &#039;&#039;&#039;addLehrerKuerzel&#039;&#039;&#039; für die Schule gespeichert.&lt;br /&gt;
&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
==Zuordnung der Lehrer-Untis-Kürzel zu Active-Directory oder LDAP-Logins==&lt;br /&gt;
:[[Datei:ClipCapIt-181011-190304.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
Um einen Zugriff auf das Active-Directory oder auf LDAP mit anderen Login-Bezeichnern als den Untis-Namen zu ermöglichen, können zu jedem Lehrer zusätzlich die Login-Bezeichner im AD/LDAP hochgeladen werden.&lt;br /&gt;
&lt;br /&gt;
==== Das Import-File muss folgende Struktur haben ====&lt;br /&gt;
* CSV-File mit folgenden Spalten: &#039;&#039;&#039;untis&#039;&#039;&#039;,&#039;&#039;&#039;ldap&#039;&#039;&#039;,&#039;&#039;&#039;mail&#039;&#039;&#039;.&lt;br /&gt;
* Die letzte Spalte mail ist optional.&lt;br /&gt;
* Die Erste Zeile muss die Spaltenüberschriften enthalten!&lt;br /&gt;
* Als Trennzeichen muss das Semikolon verwendet werden&lt;br /&gt;
&lt;br /&gt;
Beispieldatei:&lt;br /&gt;
&amp;lt;pre&amp;gt;untis;ldap;mail&lt;br /&gt;
WD;wdamboeck;werner.damboeck@htlstp.ac.at&lt;br /&gt;
TM;tmayer;thomas.mayer@htlstp.ac.at&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Unterricht=&lt;br /&gt;
Import der Lehrfächerverteilung für das aktuelle Schuljahr aus Untis =&amp;gt; Unterricht.&lt;br /&gt;
Durchführung des Imports wie bei [[#Klassen|Klassen]]&lt;br /&gt;
&lt;br /&gt;
=Schülerdaten=&lt;br /&gt;
Export der Schülerdaten aus Sokrates. Bitte wählen Sie beim Export folgende Spalten an:&lt;br /&gt;
&#039;&#039;&#039;Klasse,Schülerkennzahl,Familienname,Vorname&#039;&#039;&#039;.&lt;br /&gt;
Die Spalte &#039;&#039;&#039;Mailadresse 1 (Grunddaten)&#039;&#039;&#039; kann optional verwendet werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121414.PNG|300px]]&lt;br /&gt;
Über Das Auswahl-Menü &#039;&#039;&#039;Login-Key&#039;&#039;&#039; kann festgelegt werden, wie die Login-Keys bestimmt werden:&lt;br /&gt;
* VORNAME.NACHNAME: Der Login-Key wird aus Vorname.Nachname bestimmt. Bei Namensgleichheit wird der Name um Unterstriche ergänzt.&lt;br /&gt;
Die Login-Bezeichner können später über eine eingene Datei, die eine Zuordnung zwischen SokratesID und Loginnamen beinhält, automatisiert korrigiert werden.&lt;br /&gt;
* SokratesID: Der Loginname besteht aus den letzten 7 Stellen der Sokrates-ID des Schülers.&lt;br /&gt;
&lt;br /&gt;
=Ändern der Schüler-Logins=&lt;br /&gt;
:[[Datei:ClipCapIt-180918-121752.PNG|300px]]&lt;br /&gt;
Mit einem CSV-File mit den Spaltenüberschriften&lt;br /&gt;
* SokratesID&lt;br /&gt;
* Loginname&lt;br /&gt;
können die Logindaten der Schüler mit den Sokrates-IDs abgeglichen werden und so zB. für einen LDAP-Zugriff vorbereitet werden.&lt;br /&gt;
&lt;br /&gt;
=Hochladen von Schülerfotos=&lt;br /&gt;
:[[Datei:ClipCapIt-181209-221404.PNG|300px]]&lt;br /&gt;
Schülerfotos als JPG-Dateien können über ZIP-Files gesammelt auf den Server geladen werden. Die Namen der Fotos müssen folgenden Aufbau haben:&lt;br /&gt;
* Sokrates-ID.jpg&lt;br /&gt;
Auch einzelne Fotos mit einem Dateinamen nach obigem Schema können hochgeladen oder nachgeladen werden. Bei wiederholtem Hochladen von Fotos werden diese immer überschrieben bzw. durch die aktuellen Fotos ersetzt. &lt;br /&gt;
Die Fotos werden beim Hochladen automatisch auf eine vernünftige Größe skaliert.&lt;br /&gt;
&lt;br /&gt;
Nach dem Datenimport können die Fotos in den [[Katalog|Katalogen]] eingeblendet werden, wenn die [[Katalog#Konfiguration_der_Anzeige|Fotoanzeige dort aktiviert]] wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Administration]]&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Datenimport ohne Untis-Daten]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=MultiMeter&amp;diff=3019</id>
		<title>MultiMeter</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=MultiMeter&amp;diff=3019"/>
		<updated>2021-11-25T10:38:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeines ==&lt;br /&gt;
Das Plugin ist noch in der Erstellungsphase. Aktuell sind die analogen Multimeter sowie ein Wattmeter LM1010 realisiert, weitere werden folgen.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
* Mit diesem Plugin kann ein Multimeter mit Anzeige realsiert werden&lt;br /&gt;
* Das Multimeter kann einen berechneten Wert anzeigen&lt;br /&gt;
* als Plugin in einer Teilfrage einer Mehrfachberechnungsfrage kann das Multimeter vom Schüler interaktiv bedient werden. &lt;br /&gt;
&lt;br /&gt;
== Multimeter für die Anzeige von berechneten Werten ==&lt;br /&gt;
&lt;br /&gt;
* Durch die Verwendung des Plugins mit einem PIG-Tag kann ein Wert am Multimeter angezeigt werden.&lt;br /&gt;
* Folgende Parameter können beim PIG-Tag sinnvoll verwendet werden:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Parameter || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| image || (Standardeinstellung wenn nichts angegeben ist.) Das Messgerät zeigt einen durch var.. (Je nach Gerätetyp var,varac,varu,vari) angegebenen Wert mit einer automatischen Wahl des Messbereiches an. Hier funktioniert auch der &#039;&#039;&#039;PDF-Ausdruck&#039;&#039;&#039; der Anzeige. &lt;br /&gt;
|-&lt;br /&gt;
| view || An das Messgerät wird ein durch var.. (Je nach Gerätetyp var,varac,varu,vari) angegebener Wert angelegt. Der Schüler muss den richtigen Messbereich einstellen um ihn vom Messgerät ablesen zu können. Der Schüler nimmt durch die Veränderung des Messbereichsendwerts Einfluss auf die Zeigerlage. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multimeter als Plugin-Teilfrage einer Mehrfachberechnungsfrage ==&lt;br /&gt;
* Durch die Verwendung des Plugins in einer Teilfrage kann der Schüler am Messgerät Messbereich und Zeigerausschalg interaktiv einstellen&lt;br /&gt;
* Folgende Parameter können sinnvoll (=immer nur ein Parameter) verwendet werden. Bei Mehrfachnennung wird der letzt genannte gültig:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Parameter || Beschreibung &lt;br /&gt;
|-&lt;br /&gt;
| view || An das Messgerät wird ein durch var (Je nach Gerätetyp var,varac,varu,vari) angegebener Wert angelegt. Der Schüler muss den richtigen Messbereich einstellen um ihn vom Messgerät ablesen zu können. &lt;br /&gt;
|-&lt;br /&gt;
| input || (Standardeinstellung) Das Messgerät wählt automatisch den korrekten Messbereich für den durch var.. (Je nach Gerätetyp var,varac,varu,vari) angegebenen Wert. Der Schüler muss den korrekten Zeigerausschlag selbst einstellen. &lt;br /&gt;
|-&lt;br /&gt;
| in ||  ist eine Kurzschreibweise von input mit gleicher Funktion&lt;br /&gt;
|-&lt;br /&gt;
| all || Der Schüler kann Messbereich und Zeigerausschlag selbst einstellen.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
==== Vorgangsweise bei der Verwendung des Multimeter-Plugins in einer Teilfrage ====&lt;br /&gt;
* Mehrfachberechnungsfrage Erstellen&lt;br /&gt;
* Erstellung des Plugins &lt;br /&gt;
* Hinzufügen einer Teilfrage&lt;br /&gt;
* Mode der Teilfrage auf Plugin setzen :[[Datei:ClipCapIt-201221-212107.PNG|200px]]&lt;br /&gt;
* Im Fragentext Bsp.: [Q0] einfügen siehe folgendes Bsp.:&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-210106-143832.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Zusätzliche Parameter im blauen Bereich von Erg/Info eingeben. Nach dem Pluginnamen folgen nach einem Doppelpunkt die Parameter.&lt;br /&gt;
* Das Ergebnis muss mit der korrekten Einheit als Ergebnis vorhanden sein&lt;br /&gt;
&lt;br /&gt;
Bsp:&lt;br /&gt;
:[[Datei:ClipCapIt-210106-121518.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
== Angabe des angezeigten Wertes ==&lt;br /&gt;
* Der angezeigte Wert muss je nach Type des Messgerätes korrekt angegeben werden&lt;br /&gt;
* Über die Einheit des angegebenen Wertes wird über den Messbereich entschieden&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Parameter || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| var= || Gleichwert (arithmetischer Mittelwert oder linearer zeitlicher Mittelwert) eines Signales oder Wert einer reellen Größe (Widerstand, Frequenz, etc.)  || var=10V &lt;br /&gt;
|-&lt;br /&gt;
| varac= || Effektivwert des Wechselanteiles einer Spannung oder eines Stromes (auch als komplexe Zahl möglich) || varac=5V&lt;br /&gt;
|-&lt;br /&gt;
| varU= || Effektivwert der Spannung als komplexe Zahl für Wattmeter-Anzeigen || varU=120V&lt;br /&gt;
|-&lt;br /&gt;
| varI= || Effektivwert des Stromes als komplexe Zahl für Wattmeter-Anzeigen || varI=2A+%i*1A&lt;br /&gt;
|-&lt;br /&gt;
| ac || interpretiert einen mit var= angegebenen Strom oder Spannungswert als Wechselspannungswert || var=10V,ac&lt;br /&gt;
|-&lt;br /&gt;
| acdc || Zeigt den wahren Effektivwert TrueRMS an, wenn das Messgerät das kann und verwendet dabei var= für den Gleichspannungsanteil und varac= für den Effektivwert des Wechselanteiles&lt;br /&gt;
|-&lt;br /&gt;
| P || Wattmeter in der Betriebsart - Wirkleistung || varU=50V,varI=2A+%i*1A,P&lt;br /&gt;
|-&lt;br /&gt;
| Q || Wattmeter in der Betriebsart - Blindleistung || varU=U1,varI=I1,Q&lt;br /&gt;
|-&lt;br /&gt;
| S || Wattmeter in der Betriebsart - Scheinleistung (wenn es vom Wattmeter unterstützt wird || varU=U1,varI=I1,S&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== sonstige Parameter ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Parameter || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| debug || Für die Beispielerstellung werden Debug-Informationen angezeigt. Dient nur zur Hilfe bei der Entwicklung und sollte beim Schüler immer abgeschaltet sein!&lt;br /&gt;
|-&lt;br /&gt;
| cursor || Zeigt einen Fadenkreuz-Cursor für die Plugin-Entwicklung&lt;br /&gt;
|-&lt;br /&gt;
| w40 || Setzt den Standard-Zoom auf 40% der Bereichsbreite&lt;br /&gt;
|-&lt;br /&gt;
| back || zeigt die Rückseite des Gerätes wenn sie bei dem angegebenen Geräte zur Verfügung steht&lt;br /&gt;
|-&lt;br /&gt;
| off || Es wird kein Zeiger angezeigt (Alter Parameter nur mehr aus Kompatibilitätsgründen), sollte nicht mehr verwendet werden.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== realisierte Multimeter ==&lt;br /&gt;
Die Art des Multimeters muss in der &#039;&#039;&#039;Plugin-Definition&#039;&#039;&#039; angegeben werden (nicht erst im PIG-Tag oder in der Teilfrage)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Multimeter || Beschreibung || Bild || Rückseite&lt;br /&gt;
|-&lt;br /&gt;
| UNIGOR || || :[[Datei:ClipCapIt-201218-111735.PNG|200px]] || :[[Datei:ClipCapIt-201221-164512.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| CA5001 || || :[[Datei:ClipCapIt-201218-112550.PNG|200px]] ||&lt;br /&gt;
|-&lt;br /&gt;
| CA5011 || || :[[Datei:ClipCapIt-201218-112124.PNG|200px]] ||&lt;br /&gt;
|-&lt;br /&gt;
| GANZUNIV1 || || :[[Datei:ClipCapIt-201218-112616.PNG|200px]] || :[[Datei:ClipCapIt-201221-164610.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| NORMAMETER || || :[[Datei:ClipCapIt-201218-112655.PNG|400px]] || :[[Datei:ClipCapIt-201221-164657.PNG|400px]]&lt;br /&gt;
|-&lt;br /&gt;
| LM1010 || || :[[Datei:ClipCapIt-201218-112741.PNG|200px]] ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiele PIG ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Plugin-Definition || Beschreibung || Bild &lt;br /&gt;
|-&lt;br /&gt;
| CA5001,var=0.03A;image || Strommessung DC || :[[Datei:ClipCapIt-201221-174236.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| CA5011,varac=25mA;image || Strommessung AC || :[[Datei:ClipCapIt-201221-174435.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| CA5011,var=10V,varac=5V;acdc || Spannungsmessung True-RMS || :[[Datei:ClipCapIt-201221-174614.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| LM1010,varU=140V,varI=3A+%i*2A,P || Wirkleistungsmessung || :[[Datei:ClipCapIt-201221-175434.PNG|200px]]&lt;br /&gt;
|-&lt;br /&gt;
| GANZUNIV1,var=35kOhm || Widerstandsmessung || :[[Datei:ClipCapIt-201221-175637.PNG]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=3018</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=3018"/>
		<updated>2021-11-18T12:02:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Häufig gestellte Fragen =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Frage / Problem || Lösung&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen haben falsche Werte bei Datensätzen || durch eine Änderung in der Datensatzdefinition die Werte der Datensätze neu berechnen lassen&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen berechnen ein falsches Ergebnis || durch das Betätigen des Maxima-Buttons die Ergebnisse neu berechnen&lt;br /&gt;
|-&lt;br /&gt;
| Plugin-Bilder werden im Edit-Modus der Frage nicht aktualisiert || auf die Frage in der Frageliste klicken um die Frage zu speichern und zu aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
|Wie lege ich einen Test an || [https://youtu.be/jBtaOZVF-cE Video] bzw. [https://www.letto.at/mediawiki/index.php/Test_anlegen Test anlgen]&lt;br /&gt;
|-&lt;br /&gt;
|Ergebnis muss eine Funktion sein, ist aber keine! || das Antwortfeld (Spalte:Maxima) ist leer, fügen Sie eine Lösung ein danach abermals Betätigen des Maxima-Buttons&lt;br /&gt;
|-&lt;br /&gt;
|Überprüfung für nur einige &amp;quot;Auserwählte&amp;quot; durchführen || Test mit Passwort schützen und dieses an die &amp;quot;Auserwählten&amp;quot; weitergeben&lt;br /&gt;
|-&lt;br /&gt;
Wie erstelle ich eine Überprüfung für die halbe Klasse (z.B. weil geteilter Unterricht) || Test mit Passwort schützen &lt;br /&gt;
|-&lt;br /&gt;
|Wie erstelle ich z.B. im Labor eine Abgabe/Note für 2er oder 3er Teams || Es ist jenen SchülerInnen, welche bei dieser Übung kein Protokoll erstellen müssen im Feld Protokoll ein &amp;quot;*&amp;quot; (Stern) einzutragen - Die Übungsgesamtnote wird bei diesen SchülerInnen somit ohne der Protokollnote ermittelt. Farbliche Darstellung der Note macht diesen Umstand schnell erfassbar. Noteneingabe für alle Schüler notwendig.&lt;br /&gt;
|-&lt;br /&gt;
|Test/Übungen für getrennte Gruppen (geteilte Klasse) || Test mit Passwort schützen - im Unterricht Passwort bekannt geben&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man die Farbe von Funktionsgraphen? || Bsp.: i(t):=2*x+4, i:color=red&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Plotstyle von Funktionsgraphen? || Bsp.: i(t):=x^2-1, i:style=..--..&lt;br /&gt;
|-&lt;br /&gt;
|Rechentoleranz bei nummerischen Lösungen, das Problem bei kleinen Werten  || [https://youtu.be/1ZT9_P4aMWc Video]&lt;br /&gt;
|-&lt;br /&gt;
|Welcher Browser wird empfohlen? || Firefox und Chrome&lt;br /&gt;
|-&lt;br /&gt;
|Blaues Lösungsfeld bei Schülerantwort || Die Frage abermals durch Lehrer beurteilen löst das Problem - daran wird gearbeitet&lt;br /&gt;
|-&lt;br /&gt;
|Schülerpasswort rücksetzen? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Geteilter Notenkatalog: Wie kann ich die LehrerInnennoten unteschiedlich gewichten? || [https://youtu.be/qGjJTbg7-kw Video]&lt;br /&gt;
|-&lt;br /&gt;
|Formeln werden nicht richtig dargestellt, warum?  || [https://youtu.be/oc1LPbf41E0 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Cursor-Modus im Plot-Plugin? || [https://youtu.be/AA95ipIXtac Video]&lt;br /&gt;
|-&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=3017</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=3017"/>
		<updated>2021-11-18T12:02:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Häufig gestellte Fragen =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Frage / Problem || Lösung&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen haben falsche Werte bei Datensätzen || durch eine Änderung in der Datensatzdefinition die Werte der Datensätze neu berechnen lassen&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen berechnen ein falsches Ergebnis || durch das Betätigen des Maxima-Buttons die Ergebnisse neu berechnen&lt;br /&gt;
|-&lt;br /&gt;
| Plugin-Bilder werden im Edit-Modus der Frage nicht aktualisiert || auf die Frage in der Frageliste klicken um die Frage zu speichern und zu aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
|Wie lege ich einen Test an || [https://youtu.be/jBtaOZVF-cE Video] bzw. [https://www.letto.at/mediawiki/index.php/Test_anlegen Test anlgen]&lt;br /&gt;
|-&lt;br /&gt;
|Ergebnis muss eine Funktion sein, ist aber keine! || das Antwortfeld (Spalte:Maxima) ist leer, fügen Sie eine Lösung ein danach abermals Betätigen des Maxima-Buttons&lt;br /&gt;
|-&lt;br /&gt;
|Überprüfung für nur einige &amp;quot;Auserwählte&amp;quot; durchführen || Test mit Passwort schützen und dieses an die &amp;quot;Auserwählten&amp;quot; weitergeben&lt;br /&gt;
|-&lt;br /&gt;
Wie erstelle ich eine Überprüfung für die halbe Klasse (z.B. weil geteilter Unterricht) || Test mit Passwort schützen &lt;br /&gt;
|-&lt;br /&gt;
|Wie erstelle ich z.B. im Labor eine Abgabe/Note für 2er oder 3er Teams || Es ist jenen SchülerInnen, welche bei dieser Übung kein Protokoll erstellen müssen im Feld Protokoll ein &amp;quot;*&amp;quot; (Stern) einzutragen - Die Übungsgesamtnote wird bei diesen SchülerInnen somit ohne der Protokollnote ermittelt. Farbliche Darstellung der Note macht diesen Umstand schnell erfassbar. Noteneingabe für alle Schüler notwendig.&lt;br /&gt;
|-&lt;br /&gt;
|Test/Übungen für getrennte Gruppen (geteilte Klasse) || Test mit Passwort schützen - im Unterricht Passwort bekannt geben&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man die Farbe von Funktionsgraphen? || Bsp.: i(t):=2*x+4, i:color=red&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Plotstyle von Funktionsgraphen? || Bsp.: i(t):=x^2-1, i:style=..--..&lt;br /&gt;
|-&lt;br /&gt;
|Rechentoleranz bei nummerischen Lösungen, das Problem bei kleinen Werten  || [https://youtu.be/1ZT9_P4aMWc Video]&lt;br /&gt;
|-&lt;br /&gt;
|Welcher Browser wird empfohlen? || Firefox und Chrome&lt;br /&gt;
|-&lt;br /&gt;
|Blaues Lösungsfeld bei Schülerantwort || Die Frage abermals durch Lehrer beurteilen löst das Problem - daran wird gearbeitet&lt;br /&gt;
|-&lt;br /&gt;
|Schülerpasswort rücksetzen? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Geteilter Notenkatalog: Wie kann ich die LehrerInnennoten unteschiedlich gewichten? || [https://youtu.be/qGjJTbg7-kw Video]&lt;br /&gt;
|-&lt;br /&gt;
|Formeln werden nicht richtig dargestellt, warum?  || [https://youtu.be/oc1LPbf41E0 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Cursor-Modus im Plot-Plugin= || [https://youtu.be/AA95ipIXtac Video]&lt;br /&gt;
|-&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Plot-Plugin_Cursor_Darstellung&amp;diff=3016</id>
		<title>Plot-Plugin Cursor Darstellung</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Plot-Plugin_Cursor_Darstellung&amp;diff=3016"/>
		<updated>2021-11-18T12:00:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Cursor im Plot Plugin kann mit dem Parameter &#039;&#039;&#039;cursor=&#039;&#039;&#039;WERT gesetzt werden - siehe [https://youtu.be/AA95ipIXtac Video].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| WERT || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| OFF     || kein CURSOR, keine Fußlegende || :[[Datei:ClipCapIt-211027-095039.PNG|300px]] &lt;br /&gt;
|-&lt;br /&gt;
| ON      || Fadenkreuz, ohne Legende ohne Fußlegende || :[[Datei:ClipCapIt-211027-095111.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| PIXEL   || Fadenkreuz, Cursor Pixel-Koordinaten , ohne Fußlegende || :[[Datei:ClipCapIt-211027-095251.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| NUMBERS || Fadenkreuz, Nur eine Fußlegende || :[[Datei:ClipCapIt-211027-095146.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| CNUM    || Standardwert - Fadenkreuz, Cursor-Werte xy, Fußlegende xy || :[[Datei:ClipCapIt-211027-095002.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| CARG    || Fadenkreuz, Cursor-Werte und Fußlegende xy und abs/arg vom Ursprung || :[[Datei:ClipCapIt-211027-095223.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| CREL    || Fadenkreuz, Cursor-Werte und Fußlegende xy und abs/arg vom letzten Punkt oder vom Startwert bei toline,topoint,toarrow || :[[Datei:ClipCapIt-211103-204445.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| POINT   || Cursor-Punkt, ohne Cursor-Werte, ohne Fußlegende || :[[Datei:ClipCapIt-211027-095331.PNG|300px]] &lt;br /&gt;
|-&lt;br /&gt;
| PNUM    || Cursor-Punkt, Fußlegende xy || :[[Datei:ClipCapIt-211027-095402.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| PARG    || Cursor-Punkt, Cursor-Werte und Fußlegende xy und abs/arg vom letzten Punkt oder vom Ursprung || :[[Datei:ClipCapIt-211027-095435.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| ALL     || Cursor-Fadenkreuz, Fußlegende xy-Werte, Cursor Pixelangaben || :[[Datei:ClipCapIt-211027-095509.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| HLINE   || Cursor nur horizontale Linie, keine Fußlegende keine Cursorangaben || :[[Datei:ClipCapIt-211027-095555.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| HNUM    || Cursor nur horizontale Linie, Fußlegende und Cursor als Werte || :[[Datei:ClipCapIt-211027-095705.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| VLINE   || Cursor nur vertikale Linie, keine Fußlegende keine Cursorangaben || :[[Datei:ClipCapIt-211027-095733.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| VNUM    || Cursor nur vertikale Linie, Fußlegende und Cursor als Werte || :[[Datei:ClipCapIt-211027-095755.PNG|300px]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= siehe auch =&lt;br /&gt;
* [[Plugins]]&lt;br /&gt;
* [[Plot]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2929</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2929"/>
		<updated>2021-10-23T20:31:35Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Häufig gestellte Fragen =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Frage / Problem || Lösung&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen haben falsche Werte bei Datensätzen || durch eine Änderung in der Datensatzdefinition die Werte der Datensätze neu berechnen lassen&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen berechnen ein falsches Ergebnis || durch das Betätigen des Maxima-Buttons die Ergebnisse neu berechnen&lt;br /&gt;
|-&lt;br /&gt;
| Plugin-Bilder werden im Edit-Modus der Frage nicht aktualisiert || auf die Frage in der Frageliste klicken um die Frage zu speichern und zu aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
|Wie lege ich einen Test an || [https://youtu.be/jBtaOZVF-cE Video] bzw. [https://www.letto.at/mediawiki/index.php/Test_anlegen Test anlgen]&lt;br /&gt;
|-&lt;br /&gt;
|Ergebnis muss eine Funktion sein, ist aber keine! || das Antwortfeld (Spalte:Maxima) ist leer, fügen Sie eine Lösung ein danach abermals Betätigen des Maxima-Buttons&lt;br /&gt;
|-&lt;br /&gt;
|Überprüfung für nur einige &amp;quot;Auserwählte&amp;quot; durchführen || Test mit Passwort schützen und dieses an die &amp;quot;Auserwählten&amp;quot; weitergeben&lt;br /&gt;
|-&lt;br /&gt;
Wie erstelle ich eine Überprüfung für die halbe Klasse (z.B. weil geteilter Unterricht) || Test mit Passwort schützen &lt;br /&gt;
|-&lt;br /&gt;
|Wie erstelle ich z.B. im Labor eine Abgabe/Note für 2er oder 3er Teams || Es ist jenen SchülerInnen, welche bei dieser Übung kein Protokoll erstellen müssen im Feld Protokoll ein &amp;quot;*&amp;quot; (Stern) einzutragen - Die Übungsgesamtnote wird bei diesen SchülerInnen somit ohne der Protokollnote ermittelt. Farbliche Darstellung der Note macht diesen Umstand schnell erfassbar. Noteneingabe für alle Schüler notwendig.&lt;br /&gt;
|-&lt;br /&gt;
|Test/Übungen für getrennte Gruppen (geteilte Klasse) || Test mit Passwort schützen - im Unterricht Passwort bekannt geben&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man die Farbe von Funktionsgraphen? || Bsp.: i(t):=2*x+4, i:color=red&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Plotstyle von Funktionsgraphen? || Bsp.: i(t):=x^2-1, i:style=..--..&lt;br /&gt;
|-&lt;br /&gt;
|Rechentoleranz bei nummerischen Lösungen, das Problem bei kleinen Werten  || [https://youtu.be/1ZT9_P4aMWc Video]&lt;br /&gt;
|-&lt;br /&gt;
|Welcher Browser wird empfohlen? || Firefox und Chrome&lt;br /&gt;
|-&lt;br /&gt;
|Blaues Lösungsfeld bei Schülerantwort || Die Frage abermals durch Lehrer beurteilen löst das Problem - daran wird gearbeitet&lt;br /&gt;
|-&lt;br /&gt;
|Schülerpasswort rücksetzen? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Geteilter Notenkatalog: Wie kann ich die LehrerInnennoten unteschiedlich gewichten? || [https://youtu.be/qGjJTbg7-kw Video]&lt;br /&gt;
|-&lt;br /&gt;
|Formeln werden nicht richtig dargestellt, warum?  || [https://youtu.be/oc1LPbf41E0 Video]&lt;br /&gt;
|-&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2928</id>
		<title>Labor Benotung</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2928"/>
		<updated>2021-10-20T10:56:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Notenkatalog - Gewichtung der LehrerInnennoten bei Team-Teaching */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LeTTo&#039;&#039;&#039; erlaubt Leistungen der SchülerInnen im Laborunterricht gesammelt zu verwalten. Das Beurteilungsschema für Laborunterricht ist bereits vordefiniert aber jederzeit &amp;quot;Lehrer-individuel&amp;quot; adaptierbar. Nach erfolgreicher Anmeldung am LeTTo-Server ist auf der linken Seite im Bereich Konfiguration und Navigation der Button &#039;&#039;&#039;Beurteilung&#039;&#039;&#039; anwählbar.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201002-133315.PNG|220px]]&lt;br /&gt;
&lt;br /&gt;
Im Bereich Beurteilungskonfiguration können die unterschiedlichsten Beurteilungsschemen ausgewählt werden. Wählt man das &amp;quot;Labor Default&amp;quot; - Schema ist es möglich die global gültige Vorlage für die Laborbeurteilung zu ändern. &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;: Alle LehrerInnen bzw. deren Beurteilungen, welche dieses Schema verwenden (egal in welchen Gegenstand) sind dann davon betroffen.&lt;br /&gt;
&lt;br /&gt;
Für ein individuelles Labor-Beurteilungsschema kopiert man das &amp;quot;Labor Default&amp;quot; durch Auswahl des Schemas &amp;quot;Labor Default&amp;quot; und Drücken des Buttons &#039;&#039;&#039;Kopieren&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-212902.PNG|370px]]&lt;br /&gt;
&lt;br /&gt;
Eine Kopie wird angelegt. Diese Kopie kann wiederum adaptiert werden und bei anderen Gegenständen eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-214519.PNG|570px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  Graphikverweis||  Beschreibung 	||    Anmerkung&lt;br /&gt;
|-&lt;br /&gt;
|  1          ||  Ergebnisse (Notenstand) sind für Schüler einsehbar|| &lt;br /&gt;
|-&lt;br /&gt;
| 2 ||  Fügt im Notenkatalog eine Spalte Gruppe ein  ||  erleichtert die Gruppenverwaltung im Unterricht&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Auswahlmöglichkeit für gewähltes Beurteilungsschema  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 4|| Definition der Einträge pro Laborübung ||  in der Abb. darunter ist das Ergebnis sichtbar dargestellt. Das &#039;&#039;&#039;*&#039;&#039;&#039; vor dem Wort Prüfung erlaubt Online-Test in die Beurteilung aufzunehmen. Dabei wird die Note eines Online-Tests hier eingefügt - Ideal für Einstiegsprüfungen. Das &#039;&#039;&#039;!&#039;&#039;&#039; vor dem Protokoll färbt die Summennote ROT, solange keine Protokollnote eingetragen wurde - erhöht die Übersichtlichkeit im Notenkatalog.&lt;br /&gt;
|-&lt;br /&gt;
| 5     ||  Bewertungsdefinition - Notenintervall ||  &lt;br /&gt;
|-&lt;br /&gt;
| 6 	||  Soll die Summe über alle Lehrernoten gebildet werden? 	|| Nur interessant im Team-Teaching - also mehr als ein Lehrer im Unterricht. Es wird nur mehr der Summen-Prozentwert der Lehrernote dargestellt (Werkstatt, Labor). Für die Brechnung des Summen-Prozentwertes sind die Einzelnoten der Leher individuell gewichtbar.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um die Gewichtung der Einzelleistungen der SchülerInnen zu verändern, schreibt man (wie folgend dargestellt) die gewünschten Gewichtungsfaktoren hinter die defnierten Einträge - siehe oben Beurteilungsschema mit Graphikverweis 4.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-221510.PNG|300px]]&lt;br /&gt;
In diesem Beispiel würde die Prüfung mit 2, die Mitarbeit mit 4 sowie das Protokoll mit 3 gewichtet werden - daraus errechnet sich die Laborübungsnote für eine Übung zu 82.6% (-Gut).&lt;br /&gt;
:[[Datei:ClipCapIt-201002-135638.PNG|180px]]&lt;br /&gt;
&lt;br /&gt;
== Labornoten - Eintrag ==&lt;br /&gt;
Um eine Laborübungsnote einzutragen klickt man auf die entsprechende Spalte der klassenweisen Beurteilung - siehe Abb. roter Pfeil.&lt;br /&gt;
:[[Datei:ClipCapIt-201002-144736.PNG|400px]]&lt;br /&gt;
Es öffnet sich die Noteneingabemaske. Diese enthält jene Einträge, welche im Laborbeurteilungsschema vordefiniert wurden. In diesem speziellen Beispiel die Default-Werte: Prüfung, Mitarbeit, Protokoll (beliebig adaptier- und erweiterbar -- siehe Beurteilungsschema).&lt;br /&gt;
Es besteht hier die Möglichkeit (blauer Pfeil) Teilnoten zu vergeben. In der letzten Zeile (grüner Pfeil) besteht die errechnete Note zu überschreiben bzw. eine Summennote zu definieren. &#039;&#039;&#039;LeTTo&#039;&#039;&#039; unterstützt auch im Laborbetrieb Online-Tests (Bsp. Einstiegstest). Das Ergebenis des Online-Tests wird automatisch übertragen.&lt;br /&gt;
&lt;br /&gt;
== Notenkatalog - Gewichtung der LehrerInnennoten bei Team-Teaching ==&lt;br /&gt;
Die LehrerInnennoten können unteschiedlich gewichtet werden. Dann gehen die gesammelten Noten der unterschiedlichen LehrerInnen auch unterschiedlich stark in die Note ein - siehe [https://youtu.be/qGjJTbg7-kw Video]. Solange die Gewichtung nicht verändert wird, gewichtet LeTTo die LehrerInnennoten alle gleich.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2927</id>
		<title>Labor Benotung</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2927"/>
		<updated>2021-10-20T10:55:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LeTTo&#039;&#039;&#039; erlaubt Leistungen der SchülerInnen im Laborunterricht gesammelt zu verwalten. Das Beurteilungsschema für Laborunterricht ist bereits vordefiniert aber jederzeit &amp;quot;Lehrer-individuel&amp;quot; adaptierbar. Nach erfolgreicher Anmeldung am LeTTo-Server ist auf der linken Seite im Bereich Konfiguration und Navigation der Button &#039;&#039;&#039;Beurteilung&#039;&#039;&#039; anwählbar.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201002-133315.PNG|220px]]&lt;br /&gt;
&lt;br /&gt;
Im Bereich Beurteilungskonfiguration können die unterschiedlichsten Beurteilungsschemen ausgewählt werden. Wählt man das &amp;quot;Labor Default&amp;quot; - Schema ist es möglich die global gültige Vorlage für die Laborbeurteilung zu ändern. &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;: Alle LehrerInnen bzw. deren Beurteilungen, welche dieses Schema verwenden (egal in welchen Gegenstand) sind dann davon betroffen.&lt;br /&gt;
&lt;br /&gt;
Für ein individuelles Labor-Beurteilungsschema kopiert man das &amp;quot;Labor Default&amp;quot; durch Auswahl des Schemas &amp;quot;Labor Default&amp;quot; und Drücken des Buttons &#039;&#039;&#039;Kopieren&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-212902.PNG|370px]]&lt;br /&gt;
&lt;br /&gt;
Eine Kopie wird angelegt. Diese Kopie kann wiederum adaptiert werden und bei anderen Gegenständen eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-214519.PNG|570px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  Graphikverweis||  Beschreibung 	||    Anmerkung&lt;br /&gt;
|-&lt;br /&gt;
|  1          ||  Ergebnisse (Notenstand) sind für Schüler einsehbar|| &lt;br /&gt;
|-&lt;br /&gt;
| 2 ||  Fügt im Notenkatalog eine Spalte Gruppe ein  ||  erleichtert die Gruppenverwaltung im Unterricht&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Auswahlmöglichkeit für gewähltes Beurteilungsschema  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 4|| Definition der Einträge pro Laborübung ||  in der Abb. darunter ist das Ergebnis sichtbar dargestellt. Das &#039;&#039;&#039;*&#039;&#039;&#039; vor dem Wort Prüfung erlaubt Online-Test in die Beurteilung aufzunehmen. Dabei wird die Note eines Online-Tests hier eingefügt - Ideal für Einstiegsprüfungen. Das &#039;&#039;&#039;!&#039;&#039;&#039; vor dem Protokoll färbt die Summennote ROT, solange keine Protokollnote eingetragen wurde - erhöht die Übersichtlichkeit im Notenkatalog.&lt;br /&gt;
|-&lt;br /&gt;
| 5     ||  Bewertungsdefinition - Notenintervall ||  &lt;br /&gt;
|-&lt;br /&gt;
| 6 	||  Soll die Summe über alle Lehrernoten gebildet werden? 	|| Nur interessant im Team-Teaching - also mehr als ein Lehrer im Unterricht. Es wird nur mehr der Summen-Prozentwert der Lehrernote dargestellt (Werkstatt, Labor). Für die Brechnung des Summen-Prozentwertes sind die Einzelnoten der Leher individuell gewichtbar.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um die Gewichtung der Einzelleistungen der SchülerInnen zu verändern, schreibt man (wie folgend dargestellt) die gewünschten Gewichtungsfaktoren hinter die defnierten Einträge - siehe oben Beurteilungsschema mit Graphikverweis 4.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-221510.PNG|300px]]&lt;br /&gt;
In diesem Beispiel würde die Prüfung mit 2, die Mitarbeit mit 4 sowie das Protokoll mit 3 gewichtet werden - daraus errechnet sich die Laborübungsnote für eine Übung zu 82.6% (-Gut).&lt;br /&gt;
:[[Datei:ClipCapIt-201002-135638.PNG|180px]]&lt;br /&gt;
&lt;br /&gt;
== Labornoten - Eintrag ==&lt;br /&gt;
Um eine Laborübungsnote einzutragen klickt man auf die entsprechende Spalte der klassenweisen Beurteilung - siehe Abb. roter Pfeil.&lt;br /&gt;
:[[Datei:ClipCapIt-201002-144736.PNG|400px]]&lt;br /&gt;
Es öffnet sich die Noteneingabemaske. Diese enthält jene Einträge, welche im Laborbeurteilungsschema vordefiniert wurden. In diesem speziellen Beispiel die Default-Werte: Prüfung, Mitarbeit, Protokoll (beliebig adaptier- und erweiterbar -- siehe Beurteilungsschema).&lt;br /&gt;
Es besteht hier die Möglichkeit (blauer Pfeil) Teilnoten zu vergeben. In der letzten Zeile (grüner Pfeil) besteht die errechnete Note zu überschreiben bzw. eine Summennote zu definieren. &#039;&#039;&#039;LeTTo&#039;&#039;&#039; unterstützt auch im Laborbetrieb Online-Tests (Bsp. Einstiegstest). Das Ergebenis des Online-Tests wird automatisch übertragen.&lt;br /&gt;
&lt;br /&gt;
== Notenkatalog - Gewichtung der LehrerInnennoten bei Team-Teaching ==&lt;br /&gt;
Die LehrerInnennoten können unteschiedlich gewichtet werden - siehe [https://youtu.be/qGjJTbg7-kw Video]. Solange die Gewichtung nicht verändert wird, gewichtet LeTTo die LehrerInnennoten alle gleich.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2926</id>
		<title>Labor Benotung</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Labor_Benotung&amp;diff=2926"/>
		<updated>2021-10-20T10:54:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LeTTo&#039;&#039;&#039; erlaubt Leistungen der SchülerInnen im Laborunterricht gesammelt zu verwalten. Das Beurteilungsschema für Laborunterricht ist bereits vordefiniert aber jederzeit &amp;quot;Lehrer-individuel&amp;quot; adaptierbar. Nach erfolgreicher Anmeldung am LeTTo-Server ist auf der linken Seite im Bereich Konfiguration und Navigation der Button &#039;&#039;&#039;Beurteilung&#039;&#039;&#039; anwählbar.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201002-133315.PNG|220px]]&lt;br /&gt;
&lt;br /&gt;
Im Bereich Beurteilungskonfiguration können die unterschiedlichsten Beurteilungsschemen ausgewählt werden. Wählt man das &amp;quot;Labor Default&amp;quot; - Schema ist es möglich die global gültige Vorlage für die Laborbeurteilung zu ändern. &#039;&#039;&#039;VORSICHT&#039;&#039;&#039;: Alle LehrerInnen bzw. deren Beurteilungen, welche dieses Schema verwenden (egal in welchen Gegenstand) sind dann davon betroffen.&lt;br /&gt;
&lt;br /&gt;
Für ein individuelles Labor-Beurteilungsschema kopiert man das &amp;quot;Labor Default&amp;quot; durch Auswahl des Schemas &amp;quot;Labor Default&amp;quot; und Drücken des Buttons &#039;&#039;&#039;Kopieren&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-212902.PNG|370px]]&lt;br /&gt;
&lt;br /&gt;
Eine Kopie wird angelegt. Diese Kopie kann wiederum adaptiert werden und bei anderen Gegenständen eingesetzt werden.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-214519.PNG|570px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|  Graphikverweis||  Beschreibung 	||    Anmerkung&lt;br /&gt;
|-&lt;br /&gt;
|  1          ||  Ergebnisse (Notenstand) sind für Schüler einsehbar|| &lt;br /&gt;
|-&lt;br /&gt;
| 2 ||  Fügt im Notenkatalog eine Spalte Gruppe ein  ||  erleichtert die Gruppenverwaltung im Unterricht&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Auswahlmöglichkeit für gewähltes Beurteilungsschema  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 4|| Definition der Einträge pro Laborübung ||  in der Abb. darunter ist das Ergebnis sichtbar dargestellt. Das &#039;&#039;&#039;*&#039;&#039;&#039; vor dem Wort Prüfung erlaubt Online-Test in die Beurteilung aufzunehmen. Dabei wird die Note eines Online-Tests hier eingefügt - Ideal für Einstiegsprüfungen. Das &#039;&#039;&#039;!&#039;&#039;&#039; vor dem Protokoll färbt die Summennote ROT, solange keine Protokollnote eingetragen wurde - erhöht die Übersichtlichkeit im Notenkatalog.&lt;br /&gt;
|-&lt;br /&gt;
| 5     ||  Bewertungsdefinition - Notenintervall ||  &lt;br /&gt;
|-&lt;br /&gt;
| 6 	||  Soll die Summe über alle Lehrernoten gebildet werden? 	|| Nur interessant im Team-Teaching - also mehr als ein Lehrer im Unterricht. Es wird nur mehr der Summen-Prozentwert der Lehrernote dargestellt (Werkstatt, Labor). Für die Brechnung des Summen-Prozentwertes sind die Einzelnoten der Leher individuell gewichtbar.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um die Gewichtung der Einzelleistungen der SchülerInnen zu verändern, schreibt man (wie folgend dargestellt) die gewünschten Gewichtungsfaktoren hinter die defnierten Einträge - siehe oben Beurteilungsschema mit Graphikverweis 4.&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-201001-221510.PNG|300px]]&lt;br /&gt;
In diesem Beispiel würde die Prüfung mit 2, die Mitarbeit mit 4 sowie das Protokoll mit 3 gewichtet werden - daraus errechnet sich die Laborübungsnote für eine Übung zu 82.6% (-Gut).&lt;br /&gt;
:[[Datei:ClipCapIt-201002-135638.PNG|180px]]&lt;br /&gt;
&lt;br /&gt;
== Labornoten - Eintrag ==&lt;br /&gt;
Um eine Laborübungsnote einzutragen klickt man auf die entsprechende Spalte der klassenweisen Beurteilung - siehe Abb. roter Pfeil.&lt;br /&gt;
:[[Datei:ClipCapIt-201002-144736.PNG|400px]]&lt;br /&gt;
Es öffnet sich die Noteneingabemaske. Diese enthält jene Einträge, welche im Laborbeurteilungsschema vordefiniert wurden. In diesem speziellen Beispiel die Default-Werte: Prüfung, Mitarbeit, Protokoll (beliebig adaptier- und erweiterbar -- siehe Beurteilungsschema).&lt;br /&gt;
Es besteht hier die Möglichkeit (blauer Pfeil) Teilnoten zu vergeben. In der letzten Zeile (grüner Pfeil) besteht die errechnete Note zu überschreiben bzw. eine Summennote zu definieren. &#039;&#039;&#039;LeTTo&#039;&#039;&#039; unterstützt auch im Laborbetrieb Online-Tests (Bsp. Einstiegstest). Das Ergebenis des Online-Tests wird automatisch übertragen.&lt;br /&gt;
&lt;br /&gt;
== Notenkatalog - Gewichtung der LehrerInnennoten&lt;br /&gt;
Die LehrerInnennoten können unteschiedlich gewichtet werden - siehe [https://youtu.be/qGjJTbg7-kw Video]. Solange die Gewichtung nicht verändert wird, gewichtet LeTTo die LehrerInnennoten alle gleich.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2925</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2925"/>
		<updated>2021-10-20T10:50:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Häufig gestellte Fragen =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Frage / Problem || Lösung&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen haben falsche Werte bei Datensätzen || durch eine Änderung in der Datensatzdefinition die Werte der Datensätze neu berechnen lassen&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen berechnen ein falsches Ergebnis || durch das Betätigen des Maxima-Buttons die Ergebnisse neu berechnen&lt;br /&gt;
|-&lt;br /&gt;
| Plugin-Bilder werden im Edit-Modus der Frage nicht aktualisiert || auf die Frage in der Frageliste klicken um die Frage zu speichern und zu aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
|Wie lege ich einen Test an || [https://youtu.be/jBtaOZVF-cE Video] bzw. [https://www.letto.at/mediawiki/index.php/Test_anlegen Test anlgen]&lt;br /&gt;
|-&lt;br /&gt;
|Ergebnis muss eine Funktion sein, ist aber keine! || das Antwortfeld (Spalte:Maxima) ist leer, fügen Sie eine Lösung ein danach abermals Betätigen des Maxima-Buttons&lt;br /&gt;
|-&lt;br /&gt;
|Überprüfung für nur einige &amp;quot;Auserwählte&amp;quot; durchführen || Test mit Passwort schützen und dieses an die &amp;quot;Auserwählten&amp;quot; weitergeben&lt;br /&gt;
|-&lt;br /&gt;
Wie erstelle ich eine Überprüfung für die halbe Klasse (z.B. weil geteilter Unterricht) || Test mit Passwort schützen &lt;br /&gt;
|-&lt;br /&gt;
|Wie erstelle ich z.B. im Labor eine Abgabe/Note für 2er oder 3er Teams || Es ist jenen SchülerInnen, welche bei dieser Übung kein Protokoll erstellen müssen im Feld Protokoll ein &amp;quot;*&amp;quot; (Stern) einzutragen - Die Übungsgesamtnote wird bei diesen SchülerInnen somit ohne der Protokollnote ermittelt. Farbliche Darstellung der Note macht diesen Umstand schnell erfassbar. Noteneingabe für alle Schüler notwendig.&lt;br /&gt;
|-&lt;br /&gt;
|Test/Übungen für getrennte Gruppen (geteilte Klasse) || Test mit Passwort schützen - im Unterricht Passwort bekannt geben&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man die Farbe von Funktionsgraphen? || Bsp.: i(t):=2*x+4, i:color=red&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Plotstyle von Funktionsgraphen? || Bsp.: i(t):=x^2-1, i:style=..--..&lt;br /&gt;
|-&lt;br /&gt;
|Rechentoleranz bei nummerischen Lösungen, das Problem bei kleinen Werten  || [https://youtu.be/1ZT9_P4aMWc Video]&lt;br /&gt;
|-&lt;br /&gt;
|Welcher Browser wird empfohlen? || Firefox und Chrome&lt;br /&gt;
|-&lt;br /&gt;
|Blaues Lösungsfeld bei Schülerantwort || Die Frage abermals durch Lehrer beurteilen löst das Problem - daran wird gearbeitet&lt;br /&gt;
|-&lt;br /&gt;
|Schülerpasswort rücksetzen? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Geteilter Notenkatalog: Wie kann ich die LehrerInnennoten unteschiedlich gewichten? || [https://youtu.be/qGjJTbg7-kw Video]&lt;br /&gt;
|-&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2924</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=FAQ&amp;diff=2924"/>
		<updated>2021-10-20T10:48:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Häufig gestellte Fragen =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
| Frage / Problem || Lösung&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen haben falsche Werte bei Datensätzen || durch eine Änderung in der Datensatzdefinition die Werte der Datensätze neu berechnen lassen&lt;br /&gt;
|-&lt;br /&gt;
| alte Fragen berechnen ein falsches Ergebnis || durch das Betätigen des Maxima-Buttons die Ergebnisse neu berechnen&lt;br /&gt;
|-&lt;br /&gt;
| Plugin-Bilder werden im Edit-Modus der Frage nicht aktualisiert || auf die Frage in der Frageliste klicken um die Frage zu speichern und zu aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
|Wie lege ich einen Test an || [https://youtu.be/jBtaOZVF-cE Video] bzw. [https://www.letto.at/mediawiki/index.php/Test_anlegen Test anlgen]&lt;br /&gt;
|-&lt;br /&gt;
|Ergebnis muss eine Funktion sein, ist aber keine! || das Antwortfeld (Spalte:Maxima) ist leer, fügen Sie eine Lösung ein danach abermals Betätigen des Maxima-Buttons&lt;br /&gt;
|-&lt;br /&gt;
|Überprüfung für nur einige &amp;quot;Auserwählte&amp;quot; durchführen || Test mit Passwort schützen und dieses an die &amp;quot;Auserwählten&amp;quot; weitergeben&lt;br /&gt;
|-&lt;br /&gt;
Wie erstelle ich eine Überprüfung für die halbe Klasse (z.B. weil geteilter Unterricht) || Test mit Passwort schützen &lt;br /&gt;
|-&lt;br /&gt;
|Wie erstelle ich z.B. im Labor eine Abgabe/Note für 2er oder 3er Teams || Es ist jenen SchülerInnen, welche bei dieser Übung kein Protokoll erstellen müssen im Feld Protokoll ein &amp;quot;*&amp;quot; (Stern) einzutragen - Die Übungsgesamtnote wird bei diesen SchülerInnen somit ohne der Protokollnote ermittelt. Farbliche Darstellung der Note macht diesen Umstand schnell erfassbar. Noteneingabe für alle Schüler notwendig.&lt;br /&gt;
|-&lt;br /&gt;
|Test/Übungen für getrennte Gruppen (geteilte Klasse) || Test mit Passwort schützen - im Unterricht Passwort bekannt geben&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man die Farbe von Funktionsgraphen? || Bsp.: i(t):=2*x+4, i:color=red&lt;br /&gt;
|-&lt;br /&gt;
|Wie ändert man den Plotstyle von Funktionsgraphen? || Bsp.: i(t):=x^2-1, i:style=..--..&lt;br /&gt;
|-&lt;br /&gt;
|Rechentoleranz bei nummerischen Lösungen, das Problem bei kleinen Werten  || [https://youtu.be/1ZT9_P4aMWc Video]&lt;br /&gt;
|-&lt;br /&gt;
|Welcher Browser wird empfohlen? || Firefox und Chrome&lt;br /&gt;
|-&lt;br /&gt;
|Blaues Lösungsfeld bei Schülerantwort || Die Frage abermals durch Lehrer beurteilen löst das Problem - daran wird gearbeitet&lt;br /&gt;
|-&lt;br /&gt;
|Schülerpasswort rücksetzen? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
|Geteilter Notenkatalog: Wie kann ich die LehrerInnennoten unteschiedlich gewichten? || [https://youtu.be/2KPOjBSYLh8 Video]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://youtu.be/qGjJTbg7-kw&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2923</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2923"/>
		<updated>2021-10-17T17:42:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Algebra */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| / / || 60 || Parallelschaltung || x / / y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) || 1&amp;lt;br&amp;gt;1.2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine  Menge in eine zufällige Reihenfolge || setshuffle([3,-3,2,0,5,2]) || [2,0,5,-3,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Rauzeiger die Phasengrößen &amp;lt;br&amp;gt; berechnet aus einem komplexen Rauzeiger die Phasengrößen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2922</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2922"/>
		<updated>2021-10-17T17:41:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Algebra */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| / / || 60 || Parallelschaltung || x / / y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) || 1&amp;lt;br&amp;gt;1.2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine  Menge in eine zufällige Reihenfolge || setshuffle([3,-3,2,0,5,2]) || [2,0,5,-3,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [https://www.youtube.com/watch?v=T82YIt3e8ac Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Rauzeiger die Phasengrößen &amp;lt;br&amp;gt; berechnet aus einem komplexen Rauzeiger die Phasengrößen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2921</id>
		<title>Berechnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.letto.at/wiki/index.php?title=Berechnungen&amp;diff=2921"/>
		<updated>2021-10-17T17:39:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Algebra */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Allgemeines =&lt;br /&gt;
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für [[Fragetypen#Berechnungsfrage|Berechnungsfrage]] und [[Fragetypen#Mehrfachberechnungsfrage|Mehrfachberechnungsfrage]].&lt;br /&gt;
&lt;br /&gt;
Alle Berechnungen unterstützen [[Einheit|Einheiten]] und symbolische Auswertung.&lt;br /&gt;
&lt;br /&gt;
=Grundsätzlicher Aufbau der Ergebnis-Berechnung bei Fragen mit Berechnungen=&lt;br /&gt;
[[Datei:BerechnungSchema.png|mini|hochkant=2.0|Schema der Berechnung]]&lt;br /&gt;
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:&lt;br /&gt;
* Berechnnug der geschlossenen Lösung (Formel) aus den Maxima-Feldern &lt;br /&gt;
* Berechnung des Ergebnisses einer Frage durch Einsetzen der Zahlenwerte aus den Datensätzen in die geschlossene Lösung&lt;br /&gt;
* Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis&lt;br /&gt;
&lt;br /&gt;
=Konstante=&lt;br /&gt;
Alle Konstante welche in Letto definiert sind beginnen mit einem Prozentzeichen. Verwendet man den Variablennamen ohne Prozenzzeichen, so wird die Konstante wie eine Variable mit dem Wert der Konstanten verwendet.&lt;br /&gt;
&lt;br /&gt;
Liste der definierten Konstanten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%&amp;quot; &lt;br /&gt;
| Name || Wert || Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| %i || i || komplexer Parameter als Lösung der Gleichung x^2=-1&lt;br /&gt;
|-&lt;br /&gt;
| %j || i || komplexer Parameter als Lösung der Gleichung x^2=-1&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Wichtig:&amp;lt;/b&amp;gt; Wir nur vom Parser unterstützt, nicht von Maxima&lt;br /&gt;
|-&lt;br /&gt;
| %e || 2.718281828459045 || Eulersche Zahl &lt;br /&gt;
|-&lt;br /&gt;
| %pi || 3.141592653589793 || Kreiszahl&lt;br /&gt;
|-&lt;br /&gt;
| %mu0 || magnetische Feldkonstante || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %m0 || magnetische Feldkonstante (alt, wird bald entfernt werden) || 4*%pi*1E-7&#039;Vs/Am&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %epsilon0 || elektrische Feldkonstante || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %e0 || elektrische Feldkonstante (alt, wird bald entfernt werden) || 8.85418781762039E-12&#039;As/Vm&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %c0 || Lichtgeschwindigkeit || 299792458&#039;m/s&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %Qe || Elementarladung || 1.602176620898E-19As&lt;br /&gt;
|-&lt;br /&gt;
| %g  || Erdbeschleunigung || 9.81&#039;m/s^2&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %NA || Avogadro Konstante || 6.02214085774E23/mol&lt;br /&gt;
|-&lt;br /&gt;
| %k  || Stefan Bolzman Konstante || 1.3806485279E-23&#039;J/K&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %R0 || Universelle Gaskonstante || 8.314459848&#039;J/Kmol&#039;&lt;br /&gt;
|-&lt;br /&gt;
| %h || planksches Wirkungsquantum || 6.6260704081E-34Js&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit Maxima=&lt;br /&gt;
* Maxima wird &#039;&#039;&#039;nur für symbolische Berechnungen&#039;&#039;&#039; bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das [[Beispielsammlung Editieren#Maxima-Feld|Maxima-Feld]] berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.&lt;br /&gt;
* Da zum Zeitpunkt der &#039;&#039;&#039;Maxima-Berechnung keine Datensätze&#039;&#039;&#039; vorhanden sind, kann keine numerische Berechnung in Maxima durchgeführt werden, welche die [[Datensätze]] benötigt. Dies muss der interne Parser zum Zeitpunkt des Online-Test-Laufes erledigen. Numerische Berechnungen, welche der interne Parser nicht kann können deshalb auch nicht mit Maxima berechnet werden.&lt;br /&gt;
* Da das Lösungsfeld, welches mit Maxima berechnet wird symbolisch ausgewertet wird, können in Maxima sämtliche symbolischen Berechnungsverfahren angewendet werden, welche ein symbolisches Ergebnis liefern und keine numerischen Werte der Datensätze benötigen.&lt;br /&gt;
* Reicht im Maximafeld die Zeilenlänge nicht aus ist es möglich einen defninierten Zeilenumbruch zu realisieren. Schreiben Sie dazu &amp;quot;\&amp;quot; (einfacher Backslash) am Ende der Zeile.  &lt;br /&gt;
* &#039;&#039;&#039;Funktionsdeklarationen&#039;&#039;&#039; wie &#039;&#039;&#039;f(x):=&#039;&#039;&#039;x^2 mit Doppelpunkt-Ist-Gleich sind im Maxima-Feld nur eingeschränkt bis gar &#039;&#039;&#039;nicht verwendbar&#039;&#039;&#039;, da sie vom Parser nicht unterstützt werden.&lt;br /&gt;
* &#039;&#039;&#039;Mengen von Maxima&#039;&#039;&#039; sind in LeTTo n&#039;&#039;&#039;icht verwendbar&#039;&#039;&#039;. LeTTo verwender hierzu eigene Funktionen des Parsers welche mit &amp;quot;set&amp;quot; beginnen und auf Vektoren basieren.&lt;br /&gt;
&lt;br /&gt;
=Berechnung mit dem internen Parser=&lt;br /&gt;
* Der interne Parser kann durch Wahl der Checkbox &amp;quot;Parser&amp;quot; anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. &lt;br /&gt;
* Jedenfalls wird der Parser zur Test-Laufzeit für die Berechnung des Ergebnisses einer Frage aus Lösung und Datensätzen und zum Berechnen der Schülereingabe verwendet.&lt;br /&gt;
&lt;br /&gt;
==Operatoren==&lt;br /&gt;
=== VORSICHT mit MAXIMA ===&lt;br /&gt;
* Einige Operatoren sind in &#039;&#039;&#039;Maxima anders&#039;&#039;&#039;, oder &#039;&#039;&#039;nicht definiert&#039;&#039;&#039;. Möchte man im Maximafeld die Operatoren des Parsers-verwenden, so muss das gesamte Maxima-Feld &#039;&#039;&#039;mit dem Parser gerechnet&#039;&#039;&#039; werden. Man verliert dadurch jedoch die Vorteile der Maxima-Berechnung.&lt;br /&gt;
* Alternativ kann man statt der Operatoren auch &#039;&#039;&#039;Funktionen verwenden&#039;&#039;&#039; (zB: ne() statt != ). Diese werden dann von Maxima zwar nicht ausgewertet, die Berechnung bleibt aber trotzdem korrekt und kann mit Maxima durchgeführt werden.&lt;br /&gt;
* Es gibt einige Funktionen welche in &#039;&#039;&#039;Maxima existieren&#039;&#039;&#039; aber im &#039;&#039;&#039;Parser nicht, oder mit anderem Syntax&#039;&#039;&#039;.&lt;br /&gt;
** Wenn diese von Maxima nicht ausgewertet werden können, da sie &#039;&#039;&#039;Datensätze&#039;&#039;&#039; enthalten welche zu Auswertezeitpunkt von Maxima noch &#039;&#039;&#039;nicht mit Werten belegt&#039;&#039;&#039; sind, &#039;&#039;&#039;dürfen sie in der Berechnung nicht verwendet werden&#039;&#039;&#039;, da der Parser dann damit nichts anfangen kann.&lt;br /&gt;
** Solche Funktionen haben entweder im Parser eine alternative Schreibweise welche auch mit Maxima verwendet werden kann (z.B.: wenn), oder sie können prinzipell nicht verwendet werden. (Für wichtige Funktionsweisen könnte man in zukünftigen Versionen neue Funktionalitäten in den Parser einbauen, die die gewünschte Funktion erfüllen)&lt;br /&gt;
** Ein weiter Möglichkeit für die Verwendung solcher Funktionen ist der Verzicht auf Datensätze in diesen Funktionen, damit diese Funktion beim Auswerten des Maxima-Feldes bereits ausgewertet werden kann und somit der Parser davon nichts mehr sieht.&lt;br /&gt;
** zB:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if then&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Infix Operatoren===&lt;br /&gt;
====arithmetische Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 40 || Addition || 4+5 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| - || 40 || Subtraktion || 6-2 || 4&lt;br /&gt;
|-&lt;br /&gt;
| * || 50 || Multiplikation || 4*5 || 20&lt;br /&gt;
|-&lt;br /&gt;
| / || 51 || Division || 20/4 || 5&lt;br /&gt;
|-&lt;br /&gt;
| % || 51 || Divisionsrest || 104%20 || 4&lt;br /&gt;
|-&lt;br /&gt;
| / / || 60 || Parallelschaltung || x / / y || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| ^ || 90 || Potenz || 2^3 || 8&lt;br /&gt;
|-&lt;br /&gt;
| .*. || 200 || Operator der intern für eine fehlende bindende Multiplikation verwendet wird || 4x || 4*x&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
====Bitoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
||  |  || 20 || Bitweise oder logisches ODER ||| 9|5 &amp;lt;br&amp;gt; true|false || 13 &amp;lt;br&amp;gt;true&lt;br /&gt;
|-&lt;br /&gt;
| or || 20 || Bitweise oder logisches ODER || 9 or 5 || 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;  || 21 || Bitweise oder logisches UND  || 13&amp;amp;10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| and || 21 || Bitweise oder logisches UND  || 13 and 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| xor || 22 || Bitweise oder logisches exklusiv oder XOR  || 13 xor 10 || 7&lt;br /&gt;
|-&lt;br /&gt;
| imp || 23 || Bitweise oder logisches impliziert IMP || 13 imp 10 || 8&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;lt;  || 35 || Bitweise links schieben  || 5&amp;lt;&amp;lt;2 || 20&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&amp;gt;  || 35 || Bitweise rechts schieben || 8&amp;gt;&amp;gt;2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Vergleichsoperatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| =  || 3 || Gleichungsoperator || x=y&lt;br /&gt;
|-&lt;br /&gt;
| == || 30 || Gleichungsoperator || x==y&lt;br /&gt;
|-&lt;br /&gt;
| != || 30 || Ungleichungsoperator || x!=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt; || 32 || Kleiner || x&amp;lt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;= || 32 || Kleiner gleich || x&amp;lt;=y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || 32 || größer || x&amp;gt;y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;= || 32 || größer gleich || x&amp;gt;=y&lt;br /&gt;
|}&lt;br /&gt;
====Organisative Operatoren====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| , || 0 || Listen-Trennzeichen || x,y ||&lt;br /&gt;
|-&lt;br /&gt;
| $ || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| ; || 1 || Trennzeichen zwischen mehreren Berechnungen || ||&lt;br /&gt;
|-&lt;br /&gt;
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prefix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| + || 45 || positives Vorzeichen || +5 || 5&lt;br /&gt;
|-&lt;br /&gt;
| - || 45 || negatives Vorzeichen || -(-5) || 5&lt;br /&gt;
|-&lt;br /&gt;
| ~ || 95  || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0&lt;br /&gt;
|-&lt;br /&gt;
| ! || 120 || logisches NOT || !(3&amp;lt;4) || false&lt;br /&gt;
|-&lt;br /&gt;
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück&lt;br /&gt;
|-&lt;br /&gt;
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Suffix Operatoren===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück&lt;br /&gt;
|-&lt;br /&gt;
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Klammern==&lt;br /&gt;
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet&lt;br /&gt;
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet&lt;br /&gt;
* [] eckige Klammern werden für Vektoren und Matrizen verwendet&lt;br /&gt;
&lt;br /&gt;
==Funktionen==&lt;br /&gt;
===Funktionen für Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| band || bitweises UND || band(4,12) || 4&lt;br /&gt;
|-&lt;br /&gt;
| bor  || bitweises ODER || bor(4,1) || 5&lt;br /&gt;
|-&lt;br /&gt;
| bxor || bitweises EXKLUSIV ODER || band(4,5) || 1&lt;br /&gt;
|-&lt;br /&gt;
| bimp || bitweises Parameter1 impliziert Parameter2 || bimp(13,10) || 8&lt;br /&gt;
|-&lt;br /&gt;
| binv || bitweises NICHT mit 8 bit || binv(0x0F) || 0xF0&lt;br /&gt;
|-&lt;br /&gt;
| shl || Schiebe Ganzzahl bitweise nach links || shl(8,2) || 32&lt;br /&gt;
|-&lt;br /&gt;
| shr || Schiebe Ganzzahl bitweise nach rechts || shr(8,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| div || Ganzzahldivision, Ergebnis wird abgeschnitten || div(5,2) || 2&lt;br /&gt;
|-&lt;br /&gt;
| inv8  || bitweise Invertieren und die letzten 8 Bit bestimmen  || inv8(0b1001) || 0b11110110&lt;br /&gt;
|-&lt;br /&gt;
| inv16 || bitweise Invertieren und die letzten 16 Bit bestimmen || inv16(0xF0)  || 0xFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv32 || bitweise Invertieren und die letzten 32 Bit bestimmen || inv32(0xF0)  || 0bFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| inv64 || bitweise Invertieren und die letzten 64 Bit bestimmen || inv64(0xF0)  || 0bFFFFFFFFFFFFFF0F&lt;br /&gt;
|-&lt;br /&gt;
| byte  || Zahl in eine Ganzzahl wandeln und die letzten 8bit der Zahl Abschneiden, Einheit geht verloren  || byte(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| word  || Zahl in eine Ganzzahl wandeln und die letzten 16bit der Zahl Abschneiden, Einheit geht verloren || word(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| int   || Zahl in eine Ganzzahl wandeln und die letzten 32bit der Zahl Abschneiden, Einheit geht verloren || int(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| long  || Zahl in eine Ganzzahl wandeln , Einheit geht verloren || long(34.2) || 34&lt;br /&gt;
|-&lt;br /&gt;
| [[parity]]  || Paritätsberechnung : parity(Parität,Codewortlänge,Datenwort[,Datenwort,....]) || parity(even,7,&amp;quot;xy&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[blockparity]]  || Kreuz oder Blockparität : blockparity(Parität,Codewortlänge,Codewortanzahl,Datenwort[,Datenwort,....]) || blockparity(even,7,3,&amp;quot;abc&amp;quot;) || &lt;br /&gt;
|-&lt;br /&gt;
| [[bcd]]  || Wandelt in eine Long-Zahl in ein Feld aus BCD-kodierten Zahlen um || bcd(124) || [1,2,4]&lt;br /&gt;
|-&lt;br /&gt;
| [[code]] || Code aus mehreren Codeworten zusammensetzen : code(Codewortlänge,Datenwort[,Datenwort,....]) || code(5,4,3,5) || 0b1000001100101&lt;br /&gt;
|-&lt;br /&gt;
| [[hamming]] || Bestimmt den Hamming-Abstand von mehreren Codeworten || hamming(1,2,4,8,16) || 2&lt;br /&gt;
|-&lt;br /&gt;
| [[komplement]] ||  Bildet das Zweierkomplement mit einer negativen Zahl mit einer bestimmten Bitanzahl, fehlt die Bitanzahl, so wird ein 32Bit-2er-komplement gebildet || komplement(-5,8) || 0b11111011&lt;br /&gt;
|-&lt;br /&gt;
| [[bitstream]] || Erzeugt aus einer Ganzzahl einen Bitstrom als String mit einer definierten Anzahl von Bit (MSB werden nötigenfalls mit 0 gefüllt) : bitstream(Daten,Bitanzahl) || bitstream(0x184,12) || &amp;quot;000110000100&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Funktionen für rationale und Ganzzahlen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kgV || berechnet das kleinste gemeinsame Vielfache von mehreren Zahlen || kgV(3,10) || 30&lt;br /&gt;
|-&lt;br /&gt;
| ggT || berechnet den größten gemeinsamen Teiler von mehreren Zahlen || ggT(12,10) || 2&lt;br /&gt;
|- &lt;br /&gt;
| isprim || prüft ob die angegebene Zahl eine Primzahl ist || isprim(13) || true&lt;br /&gt;
|-&lt;br /&gt;
| prims || zerlegt eine Ganzzahl in ihre Primfaktoren || prims(12) || [2,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| defracmix || zerlegt eine rationale Zahl in einen gemischten Bruch aus ganzzahligem Summanden, Zähler und Nenner als Menge&amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden (siehe [[Zahlendarstellung]]) || defracmix(14/12)&amp;lt;br&amp;gt;defracmix(-15/12)&amp;lt;br&amp;gt;defracmix(3/12) || [1,2/12]&amp;lt;br&amp;gt;[-1,3,12]&amp;lt;br&amp;gt;[0,3,12] &lt;br /&gt;
|-&lt;br /&gt;
| defrac || zerlegt eine rationale Zahl in Zähler und Nenner als Menge &amp;lt;br&amp;gt;Die erhaltene Menge kann mit dem Format-Modfier &#039;&#039;&#039;frac&#039;&#039;&#039; als gemischter Bruch dargestellt werden || defrac(14/12) || [13,12]&lt;br /&gt;
|-&lt;br /&gt;
| frac || erzeugt aus einer Menge aus 2 oder 3 Elementen (von defrac) eine rationale Zahl || frac([3,7])&amp;lt;br&amp;gt;frac([1,2,3]) || 3/7 &amp;lt;br&amp;gt; 5/3&lt;br /&gt;
|-&lt;br /&gt;
| mod || Modulo: Divisionsrest einer Division mit ganzzahligem Ergebnis || mod(5,2) &amp;lt;br&amp;gt; mod(6.2,2.5) || 1&amp;lt;br&amp;gt;1.2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===boolsche Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| eq || gleich || eq(4,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| eqruntime || symbolischer Vergleich, welcher &#039;&#039;&#039;symbolisch erst bei der Ergebnisberechnung&#039;&#039;&#039; ausgeführt wird. Muss verwendet werden, wenn bei Vergleichen symbolische Antworten von Schülern (Q0,Q1,...) verwendet werden.  || eqruntime(x+3*y,3*y+x) || true&lt;br /&gt;
|-&lt;br /&gt;
| ne || ungleich || ne(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| ge || größer gleich || ge(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| le || kleiner gleich || le(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| gt || größer || gt(6,4) || true&lt;br /&gt;
|-&lt;br /&gt;
| lt || kleiner || lt(6,4) || false&lt;br /&gt;
|-&lt;br /&gt;
| between || prüft ob Parameter1 kleiner als Parameter2 und Parameter2 kleiner als Parameter 3 || between(3,4,5) || true&lt;br /&gt;
|-&lt;br /&gt;
| land || logisches UND || land(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| lor  || logisches ODER || lor(a&amp;lt;b,b&amp;lt;c) || &lt;br /&gt;
|-&lt;br /&gt;
| not  || logisches NICHT. Vorsicht ein symbolisches Ergebnis von Maxima liefert not als Prefix-Operator, welcher vom Parser nicht unterstützt wird ( Verwende statt dessen &#039;&#039;&#039;lnot&#039;&#039;&#039; ) || not(a&amp;lt;b) || &lt;br /&gt;
|-&lt;br /&gt;
| lnot  || logisches NICHT, wie not jedoch wird es von Maxima nicht ausgewertet || lnot(a&amp;lt;b) || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| double || Zahl in eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4&lt;br /&gt;
|-&lt;br /&gt;
| numeric || verwirft die Einheit, wenn eine vorhanden ist und liefert nur den Zahlenwert || numeric(2.3mA) &amp;lt;br&amp;gt; numeric(5%)|| 0.0023 &amp;lt;br&amp;gt; 5&lt;br /&gt;
|-&lt;br /&gt;
| unit || gibt die SI-Einheit mit dem Zahlenwert 1 zurück || unit(3.1kA) &amp;lt;br&amp;gt; unit(5%) || 1A &amp;lt;br&amp;gt; 1%&lt;br /&gt;
|-&lt;br /&gt;
| cround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, ohne 2.Parameter wird auf Ganzzahlen gerundet, bei komplexen Zahlen wird Betrag und Winkel in Grad gerundet. || cround(23.535,2)&amp;lt;br&amp;gt;cround(2.435arg34.5364°,1) || 23.54&amp;lt;br&amp;gt;2.4arg34.5°&lt;br /&gt;
|-&lt;br /&gt;
| ccround  || Rundet die Zahl kaufmännisch, der zweite Parameter gibt die Anzahl der Kommastellen an, bei komplexe Zahlen wird Real und Imaginärteil gerundet. || ccround(2.4534+5.645*%i,2) || 2.45+5.65i&lt;br /&gt;
|-&lt;br /&gt;
| round  || Rundet die Zahl kaufmännisch, aus Kompatibilitätsgründen zu Maxima hat round nur einen Parameter || round(23.535) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ground || Rundet die Zahl auf die im zweiten Parameter angegebenen gültigen Ziffern || ground(2453.43,2) || 2500&lt;br /&gt;
|-&lt;br /&gt;
| floor  || Rundet auf die größte ganze Zahl, welche kleiner oder gleich x ist || floor(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| trunc  || Schneidet die Zahl nach dem Komma ab || trunc(24.5) || 24&lt;br /&gt;
|-&lt;br /&gt;
| ceiling || ceiling(x) Rundet auf die kleinste ganze Zahl, welche größer oder gleich x ist || ceiling(13.2) || 14&lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| par || Parallelschaltung von Widerständen || par(x,y) || x*y/(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| min  || Minimum von mehrere Werten suchen || min(3,5,1) || 1&lt;br /&gt;
|-&lt;br /&gt;
| max  || Maximum von mehreren Werten suchen || max(3,5,1) ||  5&lt;br /&gt;
|-&lt;br /&gt;
| random  || Zufallszahl aus einem definierten Zahlenbereich random(minimal,maximal)&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet, weshalb sich der Wert bei jedem Anzeigevorgang einer Frage ändert. Sollte sich der berechnete Wert für eine Schülerangabe zwischen Fragestellung und Ergebniskontrolle nicht ändern dürfen (ist der Normalfall) muss man einen &#039;&#039;&#039;Datensatz statt einer Zufallszahl&#039;&#039;&#039; verwenden! &amp;lt;br&amp;gt; Zufallszahlen haben in der Ergebnisberechnung keinen Sinn, und sollten maximal für angezeigte zufällige Werte verwendet werden! || random(2,8) ||  3.4532&lt;br /&gt;
|-&lt;br /&gt;
| randomC  || komplexe Zufallszahl aus einem definierten Zahlenbereich für den Betrag&amp;lt;br&amp;gt;VORSICHT! Die Zufallszahl wird bei jedem Aufruf neu berechnet!  || randomC(2,8) ||  3.4532arg40.3°&lt;br /&gt;
|-&lt;br /&gt;
| signum  || Liefert das Vorzeichen einer Zahl (-1,0,1). Bei einer komplexen Zahl das Vorzeichen des Realteils. || signum(-4) || -1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maxima-basierte Funktionen ===&lt;br /&gt;
* Diese Funktionen funktionieren nur wenn Maxima installiert ist und werden immer an Maxima gesendet, auch wenn der interne Parser aktiviert ist.&lt;br /&gt;
* Weiters werden sie bei der Ausgabe als TeX-Formel auch korrekt mit LaTeX gesetzt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| integrate || Berechnet das unbestimmte oder bestimmte Integral einer Funktion. || integrate(x^2,x) &amp;lt;br&amp;gt; integrate(x^2,x,0,2) || x^3/3 &amp;lt;br&amp;gt; 8/3  &lt;br /&gt;
|-&lt;br /&gt;
| diff || Berechnet die Ableitung einer Funktion.  || diff(x^2,x)&amp;lt;br&amp;gt;diff(3*x^2,x,2) || x &amp;lt;br&amp;gt; 6&lt;br /&gt;
|-&lt;br /&gt;
| tomaxima || Führt die Berechnung aller Parameter von links nach rechts hintereinander mit Maxima aus. Das Ergebnis ist dann das Ergebnis des letzten Parameters. || tomaxima(y:x^2,y+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| laplace || Bestimmt die Laplace-Transformierte einer Funktion. || laplace(sin(t),t,s) || 1/(1+s^2)&lt;br /&gt;
|-&lt;br /&gt;
| ilt || Bestimmt die inverse Laplace-Transformierte eine Laplace-Funktion || ilt(1/(1+s),s,t) || e^(-t)&lt;br /&gt;
|-&lt;br /&gt;
| sum || Summenbildung || sum(1/k,k,1,2) || 3/2&lt;br /&gt;
|-&lt;br /&gt;
| product || Produktbildung || product(1/k,k,1,3) || 1/6&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===erweiterte arithmetische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sigma || Sprungfunktion: sigma(x) liefert 0 für x&amp;lt;0 und 1 für x&amp;gt;=0 || sigma(243.3) || 1&lt;br /&gt;
|-&lt;br /&gt;
| pulse || Rechteckfunktion: &amp;lt;br&amp;gt;pulse(x,x0) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + 1, sonst 0&amp;lt;br&amp;gt;pulse(x,x0,L) ist gleich 1 für x0 &amp;lt; x &amp;lt; x0 + L, sonst 0&amp;lt;br&amp;gt;[[Datei:pulse.png|300px]] || pulse(x,2,4) || [[Datei:pulse_x_2_4.png|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| interpol || Interpolationsfunktion zwischen mehreren Stützpunkten in einem Koordinatensystem. &amp;lt;br&amp;gt; interpol(WerteX,WerteY,x) || interpol([0,1,2],[0,3,3],1.5) || 3&lt;br /&gt;
|-&lt;br /&gt;
| periodic || Erzeugt aus einer beliebigen Funktion zwischen 0 und Periodendauer eine periodische Funktion &amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktion)&amp;lt;br&amp;gt; periodic(Variable,Periodendauer,Funktionsperiodendauer,Funktion) || ch1(t):periodic(t,5ms,2&#039;Vms-2&#039;*t^2) &amp;lt;br&amp;gt; ch1(t):periodic(t,5ms,1,2V*t^2) || :[[Datei:ClipCapIt-190318-113524.PNG|100px]] &amp;lt;br&amp;gt; :[[Datei:ClipCapIt-190318-113644.PNG|100px]]&lt;br /&gt;
|-&lt;br /&gt;
| numint || numerische Integration &amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable)&amp;lt;br&amp;gt; numint(untereGrenze,obereGrenze,funktion,Variable,punkteAnzahl) || numint(0,2pi,sin(t),t) || 0&lt;br /&gt;
|-&lt;br /&gt;
| numdif || numerisches Differenzieren einer Funktion &amp;quot;funktion&amp;quot; nach einer Variablen &amp;quot;Variable&amp;quot; an der Stelle &amp;quot;position&amp;quot; mit einer Differenz der Variablen von &amp;quot;differenz&amp;quot; &amp;lt;br&amp;gt; numdif(position,funktion,Variable,differenz) || numdif(0,sin(t),t,0.01) || 1&lt;br /&gt;
|-&lt;br /&gt;
| solve || löst eine Gleichung oder ein Gleichungssystem nach einer oder mehrerer Variablen || solve([2*x+y=3,x-y=0],[x,y]) || [ [ x=1,y=1 ] ]&lt;br /&gt;
|-&lt;br /&gt;
| solvevalue || löst eine Gleichung oder ein Gleichungssystem nach einer Variablen und liefert genau die erste Lösung wenn sie numerisch berechenbar ist || solvevalue([ 2*x+y=3,x-y=0 ],[ x,y ],x)  || 1&lt;br /&gt;
|-&lt;br /&gt;
| newton || Bestimmt eine Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der Startwert. || newton(x^2-4,4) || 2&lt;br /&gt;
|-&lt;br /&gt;
| cnewton || Bestimmt eine komplexe Nullstelle einer Funktion nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der komplexe Startwert. || newton(x^2+4,4) || 2*%i&lt;br /&gt;
|-&lt;br /&gt;
| newtonall || Bestimmt alle Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den nach aufsteigendem Funktionswert sortierten Nullstellen. || newton(x^2-4,4) || [-2,2]&lt;br /&gt;
|-&lt;br /&gt;
| cnewtonall || Bestimmt alle komplexen Nullstellen einer Funktion mit einem Betrag des Funktionsparameters kleiner als ein definierter Wert nach dem Newton-Verfahren. Der erste Parameter ist ein Ausdruck in einer Variablen, der zweite Parameter ist der maximale Betrag des Funktionsparameters. Das Ergebnis ist immer ein Vektor mit den Nullstellen. || newton(x^2+4,4) || [-2*%i,2*%i]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stringfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || &amp;quot;0xC&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| chr || Bestimmt die Zeichen mit dem ASC-II-Code der Long-Parameter und setzt daraus einen String zusammen. || chr(0x65,105) || &amp;quot;ei&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| val || Bestimmt den ASC-II-Code des ersten Zeichens welches als String-Parameter übergeben wurde.|| val(&amp;quot;a&amp;quot;) || 97&lt;br /&gt;
|-&lt;br /&gt;
| strcat || Fügt mehrere Strings zusammen.|| strcat(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;) || &amp;quot;ab&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===trigonometrische Funktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| sin || Sinus || sin(%pi/2) || 1&lt;br /&gt;
|-&lt;br /&gt;
| cos || Cosinus || cos(%pi/2) || 0&lt;br /&gt;
|-&lt;br /&gt;
| tan || Tangens || tan(%pi/4) || 1&lt;br /&gt;
|-&lt;br /&gt;
| asin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| arcsin || Arcus-Sinus || asin(1) || %pi/2&lt;br /&gt;
|-&lt;br /&gt;
| acos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| arccos || Arcus-Cosinus || acos(1) || 0&lt;br /&gt;
|-&lt;br /&gt;
| atan || Arcus-Tangens || atan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan || Arcus-Tangens || arctan(1) || %pi/4&lt;br /&gt;
|-&lt;br /&gt;
| atan2 || Arcus-Tangens atan2(y,x)=arctan(y/x) || atan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| arctan2 || Arcus-Tangens arctan2(y,x)=arctan(y/x) || arctan2(-2,-2) || -%pi*3/4&lt;br /&gt;
|-&lt;br /&gt;
| sinh || Sinus-Hyperbolicus || sinh(1) || 1.1752012&lt;br /&gt;
|-&lt;br /&gt;
| cosh || Cosinus-Hyperbolicus || cosh(1) || 1.5430806&lt;br /&gt;
|-&lt;br /&gt;
| tanh || Tangens-Hyperbolicus || tanh(1) || 0.7615941&lt;br /&gt;
|-&lt;br /&gt;
| coth || Cotangens-Hyperbolicus || coth(1) || 1.313035&lt;br /&gt;
|-&lt;br /&gt;
| asinh || Area-Sinus-Hyperbolicus || asinh(1.1752012) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acosh || Area-Cosinus-Hyperbolicus || acosh(1.5430806) || 1&lt;br /&gt;
|-&lt;br /&gt;
| atanh || Area-Tangens-Hyperbolicus || atanh(0.7615941) || 1&lt;br /&gt;
|-&lt;br /&gt;
| acoth || Area-Cotangens-Hyperbolicus || acoth(1.313035) || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[csin]] || Erzeugt aus einer komplexen Zahl (Effektivwert) und einer Frequenz einen Sinusfunktion in der Zeit || csin(U) || sqrt(2)*cabs(U)*sin(2*pi*f*t+carg(U))&lt;br /&gt;
|-&lt;br /&gt;
| [[quadrant]] || Liefert den Quadranten eines Winkels mit einer Toleranzangabe. || quadrant(20°,5°) || 1&lt;br /&gt;
|-&lt;br /&gt;
| argnorm || Wandelt einen Winkel auf den Bereich von 0°-360° || argnorm(-50°) || 310°&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exponentialfunktionen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| pow || Potenzfunktion || pow(2,3) || 8&lt;br /&gt;
|-&lt;br /&gt;
| exp|| Exponentialfunktion || exp(1) || %e&lt;br /&gt;
|-&lt;br /&gt;
| log || natürlicher Logarythmus || log(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| ln || natürlicher Logarythmus || ln(%e) || 1&lt;br /&gt;
|-&lt;br /&gt;
| log10 || Logarythmus zur Basis 10 || log10(100) || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===komplexe Zahlen===&lt;br /&gt;
Die Funktionen zu komplexen Zahlen werden (anders als in Maxima) nur ausgewertet wenn das Ergebnis numerisch berechenbar ist, ansonsten bleibt die Funktion symbolisch erhalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| abs || Liefert den Absolutbetrag einer komplexen Zahl || abs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| cabs || Liefert den Absolutbetrag einer komplexen Zahl || cabs(3+4*%i) || 5&lt;br /&gt;
|-&lt;br /&gt;
| carg || Liefert das Argument einer komplexen Zahl || carg(4*%e^(3*%i)) || 3&lt;br /&gt;
|-&lt;br /&gt;
| realpart || Liefert den Realteil einer komplexen Zahl || realpart(3+4*%i) || 3&lt;br /&gt;
|-&lt;br /&gt;
| imagpart || Liefert den Imaginärteil einer komplexen Zahl || imagpart(3+4*%i) || 4&lt;br /&gt;
|-&lt;br /&gt;
| conjugate || Liefert die konjugiert komplexe Zahl einer komplexen Zahl || conjugate(3+4*%i) || 3-4*%i&lt;br /&gt;
|-&lt;br /&gt;
| rectform || hat in LeTTo keine Relevanz, da die Zahlendarstellung bei der Ausgabe definiert wird wie zB.: {=3arg2;karti} ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===statistische Funktionen===&lt;br /&gt;
Die Funktionen funktionieren nur ohne Einheiten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| factorial || Liefert die Fakultät einer positiven ganzen Zahl || factorial(5) || 120&lt;br /&gt;
|-&lt;br /&gt;
| binomial || Liefert den Binomialkoeffizienten von zwei positiven ganzen Zahlen || binomial(5,2) || 10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Mengen-Funktionen===&lt;br /&gt;
Mengen werden intern als Vektoren verarbeitet und sind deshalb auch direkt durch Vektoren ersetzbar. Auch alle Vektor-Funktionen sind somit auch auf Mengen anwendbar und umgekehrt.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis || ab Rev&lt;br /&gt;
|-&lt;br /&gt;
| setget || Liefert ein Element einer Menge oder einer Matrix (Menge von Mengen) || setget([12,13,14],1) &amp;lt;br&amp;gt; setget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| setset || setzt ein Element einer Menge oder einer Matrix (Menge von Mengen) || setset([12,13,14],1,35) &amp;lt;br&amp;gt; setset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| setlength || liefert die Anzahl der Elemente einer Liste, Menge oder eines Vektors || setlength([3,6,54,34,3,54]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| setinsert || fügt ein Element in eine Menge an eine gegebene Stelle ein || setinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| setremove || löscht ein Element einer Menge || setremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| setapply || wendet einen Ausdruck oder Funktion auf alle Elemente einer Menge an || setapply(y,[1,2,3],y*2) || [2,4,6] || 5965&lt;br /&gt;
|-&lt;br /&gt;
| setmedian || Liefert den Median einer Menge || setmedian([4,3,1,5,6]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setboxplot || Liefert die Werte des Boxplot einer Menge (Minimum, unteres Quartil, Median, oberes Quartil, Maximum) als Vektor verwendbar für das [[Plot#definierte_Zeichenelemente|Plot-Plugin]] || setboxplot([1,2,3,10,8,9]) || [1,2,5.5,9,10]&lt;br /&gt;
|-&lt;br /&gt;
| setsort || Sortiert die Elemente einer Menge aufsteigend || setsort([3,-3,2,0,5,2]) || [-3,0,2,2,3,5]&lt;br /&gt;
|-&lt;br /&gt;
| setsortnd || Sortiert die Elemente einer Menge aufsteigend und entfernt alle mehrfach vorkommenden Elemente || setsortnd([31,-3,2,31,0,5,2]) || [-3,0,2,5,31]&lt;br /&gt;
|-&lt;br /&gt;
| setcount || Bestimmt die Anzahl wie oft ein Element in einer Menge vorkommt oder die Anzahl der Elemente der Menge || setcount([31,-3,2,31,0,5,2],31) &amp;lt;br&amp;gt; setcount([2,5,3,6]) || 2 &amp;lt;br&amp;gt; 4&lt;br /&gt;
|-&lt;br /&gt;
| setmodus || Liefert das Element einer Menge, welches am öftesten vorkommt oder die Elemente als Menge wenn mehrere Elemente gleich oft vorkommen || setmodus([3,-3,2,0,5,2]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| setreverse || Dreht die Reihenfolge einer Menge um || setreverse([3,-3,2,0,5,2]) || [2,5,0,2,-3,3]&lt;br /&gt;
|-&lt;br /&gt;
| setnd || Löscht alle Duplikate aus der Menge || setnd([3,-3,2,0,5,2]) || [3,-3,2,0,5]&lt;br /&gt;
|-&lt;br /&gt;
| setshuffle || Mischt eine  Menge in eine zufällige Reihenfolge || setshuffle([3,-3,2,0,5,2]) || [2,0,5,-3,2,3]&lt;br /&gt;
|-&lt;br /&gt;
| setmittel || Bestimmt den Mittelwert einer Menge || setmittel([1,3,2,4]) || 2.5&lt;br /&gt;
|-&lt;br /&gt;
| setgeomittel || Bestimmt das geometrische Mittelwert einer Menge aus positiven reellen Zahlen || setgeomittel([10,20,30]) || 18.171206&lt;br /&gt;
|-&lt;br /&gt;
| setvarianz || Bestimmt die empirische Varianz einer Menge || setvarianz([3,1,2,5,4]) || ((3-3)^2+(1-3)^2+(2-3)^2+(5-3)^2+(4-3)^2)/5=2&lt;br /&gt;
|-&lt;br /&gt;
| setquadratmittel || Bestimmt den quadratischen Mittelwert einer Menge || setquadratmittel([10,20,30]) || 21.6025&lt;br /&gt;
|-&lt;br /&gt;
| setsum || Bestimmt die Summe aller Werte einer Menge || setsum([1,3,2,4]) || 10&lt;br /&gt;
|-&lt;br /&gt;
| setprod || Bestimmt das Produkt aller Werte einer Menge || setprod([1,3,2,4]) || 24&lt;br /&gt;
|-&lt;br /&gt;
| setunion || Fügt mehrere Mengen zu einer neuen Menge zusammen || setunion([1,3,2,4],[3,7]) || {1,3,2,4,3,7}&lt;br /&gt;
|-&lt;br /&gt;
| setunionnd || Fügt mehrere Mengen zu einer neuen Menge zusammen, sortiert diese und entfernt alle mehrfachen Elemente || setunionnd([1,3,2,4],[3,7]) || {1,2,3,4,7}&lt;br /&gt;
|-&lt;br /&gt;
| setcut || Bildet die Schnittmenge aus mehreren Mengen || setcut([1,3,2,4],[3,7]) || {3}&lt;br /&gt;
|-&lt;br /&gt;
| setcompare || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist  || setcompare([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcompare([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcompare([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setcomparend || vergleicht zwei Mengen miteinander, wobei die Reihenfolge egal ist und doppelte Werte als einfach behandelt werden. || setcomparend([1,3,2,4],[3,7]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,2,3]) &amp;lt;br&amp;gt; setcomparend([1,3,2],[1,3,2,3]) &amp;lt;br&amp;gt; setcomparend([1,2,3],[1,2,3])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setpartof || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge egal ist aber mehrfache Werte berücksichtigt werden  || setpartof([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartof([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartof([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartof([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; false &amp;lt;br&amp;gt; false&lt;br /&gt;
|-&lt;br /&gt;
| setpartofnd || prüft ob die erste Menge eine Teilmenge der zweite Menge ist wobei die Reihenfolge und mehrfache Werte egal sind  || setpartofnd([1,4],[1,3,7]) &amp;lt;br&amp;gt; setpartofnd([1,3],[1,2,3]) &amp;lt;br&amp;gt; setpartofnd([1,3,3],[1,3,5,7]) &amp;lt;br&amp;gt; setpartofnd([1,4,4],[1,2,3,4])  || false &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true &amp;lt;br&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| setgetmin || Liefert den kleinsten Wert einer Menge || setgetmin([1,3,-2,4]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| setgetmax || Liefert den größten Wert einer Menge || setgetmax([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setremovefirst || Entfernt den ersten Wert einer Menge || setremovefirst([1,3,-2,4]) || {3,-2,4}&lt;br /&gt;
|-&lt;br /&gt;
| setremovelast || Entfernt den letzten Wert einer Menge || setremovelast([1,3,-2,4]) || {1,3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setgetfirst || Liefert den ersten Wert einer Menge || setgetfirst([1,3,-2,4]) || 1&lt;br /&gt;
|-&lt;br /&gt;
| setgetlast || Liefert den letzten Wert einer Menge || setgetlast([1,3,-2,4]) || 4&lt;br /&gt;
|-&lt;br /&gt;
| setsub || setsub(M,x,y) Liefert eine Teilmenge von M der Elemente vom index x bis zum Index y || setsub([1,3,-2,4],1,2) || {3,-2}&lt;br /&gt;
|-&lt;br /&gt;
| setmakelist || setmakelist(f,x,start,stop) setzt in den Ausdruck f für x die Werte von start bis stop mit einer Schrittweite von 1 ein. || setmakelist(x^2,x,1,4) || [ 1,4,9,16 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,start,stop,schrittweite) setzt in den Ausdruck f für x die Werte von start bis stop mit dem Abstand schrittweite ein. || setmakelist(x^2,x,1,2,0.5) || [ 1,2.25,4 ]&lt;br /&gt;
|-&lt;br /&gt;
| || setmakelist(f,x,set) setzt die Werte des Vektors set in den Ausdruck f für x ein. || setmakelist(x^2,x,[3,1,2])  ||[ 9,1,4 ]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Typ-Funktionen===&lt;br /&gt;
Werden nur dann ausgewertet wenn der Parameter ein numerischer Wert oder eine Menge ist.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| isset || Prüft ob es sich um eine Menge handelt. || isset([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetnumeric || Prüft ob es sich um eine Menge aus reellen Zahlen handelt. || issetnumeric([12,13.4,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| issetlong || Prüft ob es sich um eine Menge aus ganzen Zahlen handelt. || issetlong([12,13,14]) || true &lt;br /&gt;
|-&lt;br /&gt;
| islong || Prüft ob es sich um eine ganze Zahl handelt. || islong(12) || true &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algebra===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis:&#039;&#039; Die Indizes eines Vektors oder einer Matrix werden in Letto ausgehend von 0 weg gezählt.  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| inv || invertiert eine quadratische Matrix oder bildet 1/x || inv(matrix([1,2],[3,4])) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| vget || liefert ein Element eines Vektors oder einer Matrix [http://www.example.com Video] || vget([12,13,14],1) &amp;lt;br&amp;gt; vget(matrix([9,2],[3,4]),0,1) || 13 &amp;lt;br&amp;gt; 2 &lt;br /&gt;
|-&lt;br /&gt;
| vset || setzt ein Element eines Vektors oder einer Matrix || vset([12,13,14],1,35) &amp;lt;br&amp;gt; vset(matrix([9,2],[3,4]),0,0,-9) || [12,35,14] &amp;lt;br&amp;gt; [[-9,2],[3,4]]&lt;br /&gt;
|-&lt;br /&gt;
| vinsert || fügt ein Element in einen Vektor an eine gegebene Stelle ein || vinsert([12,13,14],1,25) || [12,25,13,14]&lt;br /&gt;
|-&lt;br /&gt;
| vremove || löscht ein Element eines Vektors || vremove([12,13,14],1) || [12,14]&lt;br /&gt;
|-&lt;br /&gt;
| vabs || Berechnet den Betrag eines Vektors || vabs([3,4]) || 5&lt;br /&gt;
|-&lt;br /&gt;
| vin || Berechnet das innere Produkt von 2 Vektoren || vin([1,2,3],[4,5,6]) || 32&lt;br /&gt;
|-&lt;br /&gt;
| vex || Berechnet das ex-Produkt von 2 Vektoren im 3-dimensionalen Raum || vex([1,2,3],[4,5,6]) || [-3,6,-3]&lt;br /&gt;
|-&lt;br /&gt;
| mrows || liefert die Anzahl der Zeilen einer Matrix || mrows([[3,4,4],[3,6,54,34,3,54]]) || 2&lt;br /&gt;
|-&lt;br /&gt;
| mcols || liefert die Anzahl der Spalten einer Matrix || mcols([[3,4,4],[3,6,54,34,3,54]]) || 6 &lt;br /&gt;
|- &lt;br /&gt;
| mprod || Bildet das Matrixprodukt aus zwei Matrizen || mprod([[1,2],[3,4]],[[5,6],[7,8]]) || [[19,22],[43,50]]&lt;br /&gt;
|-&lt;br /&gt;
| mtrans || Bildet die transponierte Matrix || mtrans([[1,2],[3,4]]) || [[1,3],[2,4]]&lt;br /&gt;
|-&lt;br /&gt;
| minv || Bildet die inverse Matrix || minv([[1,2],[3,4]]) || [[-2,1],[3/2,-1/2]]&lt;br /&gt;
|-&lt;br /&gt;
| mdet || Bildet die Determinante einer quadratischen Matrix || mdet([[1,2],[3,4]]) || -2&lt;br /&gt;
|-&lt;br /&gt;
| vindex || vindex(v,x) liefert den Index des Elementes eines Vektors, welcher am nächsten bei x liegt || vindex([10,30,70],40) || 1 &lt;br /&gt;
|-&lt;br /&gt;
| vindexup || vindexup(v,x) liefert den Index des Elementes eines Vektors, welcher größer oder gleich x ist || vindexup([10,30,70],40) || 2 &lt;br /&gt;
|-&lt;br /&gt;
| vindexdown || vindexdown(v,x) liefert den Index des Elementes eines Vektors, welcher kleiner oder gleich x ist || vindexdown([10,30,70],60) || 1&lt;br /&gt;
|-&lt;br /&gt;
| verweis || verweis(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweis([[10,33],[20,77],[30,99]],21) || 77&lt;br /&gt;
|-&lt;br /&gt;
| verweisup || verweisup(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisup([[10,33],[20,77],[30,99]],21) || 99&lt;br /&gt;
|-&lt;br /&gt;
| verweisdown || verweisdown(M,x,n) liefert den Wert der n-ten Spalte (ohne Angabe von n die 2.Spalte) einer Matrix M wo x dem Wert in der ersten Spalte am nächsten liegt || verweisdown([[10,33],[20,77],[30,99]],27,1) || 77&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Variable===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| kill || löscht Variable aus dem Variablenspeicher || kill(x,y) &amp;lt;br&amp;gt; kill(allbut(y)) &amp;lt;br&amp;gt; kill(all) || löscht die Variablen x und y &amp;lt;br&amp;gt; löscht alle Variablen mit Ausnahme von y &amp;lt;br&amp;gt; löscht alle Variable&lt;br /&gt;
|-&lt;br /&gt;
| allbut || Liefert eine Liste aller Variablen des Parsers als Menge(Vektor) mit Ausnahme der als Parameter angegebenen Variablen || allbut(x,y) || [a,b,c]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Auswertung und Programmierung===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| ev || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden || ev(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| evruntime || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Das &#039;&#039;&#039;Einsetzen erfolgt erst bei der Ergebnisberechnung&#039;&#039;&#039;! || evruntime(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[nv]] || Auswertung eines Ausdruckes, als Parameter können Gleichungen angegeben werden, welche dann in den Ausdruck eingesetzt werden. Im Gegensatz zu ev werden bestehende Variable nur in den Gleichungen, aber nicht im Ausdruck selbst eingesetzt! || nv(x*y,y=4) || x*4&lt;br /&gt;
|-&lt;br /&gt;
| [[if]] || Bedingungsfunktion if(bedingung,wahrwert,falschwert) || if(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| [[if|wenn]] || Bedingungsfunktion wenn(bedingung,wahrwert,falschwert). Im Prinzip identisch wie if, jedoch kann if mit Maxima nicht verwendet werden. || wenn(4&amp;lt;6,10,12) || 10&lt;br /&gt;
|-&lt;br /&gt;
| plugin || Ruft die Berechnungsmethode des Plugins, welches als erster Stringparameter angegeben werden muss auf und übergibt die weiteren Parameter an die Berechnungsmethode des Plugins.  || plugin(&amp;quot;plugin1&amp;quot;,3) || führt die Berechnung des Plugins mit dem Namen &amp;quot;plugin1&amp;quot; mit dem Parameter 3 aus. &lt;br /&gt;
|-&lt;br /&gt;
| symbolic || Bei allen Variablen innerhalb von symbolic werden nur nicht-numerische Werte eingesetzt! Wird vor allem im Angabtext bei {= } verwendet || symbolic(x^2+2) || x^2+2&lt;br /&gt;
|-&lt;br /&gt;
| runtime || Bei dieser Funktion wird &#039;&#039;&#039;erst bei der Berechnung der Frageantwort, nach dem Einsetzen der Datensätze&#039;&#039;&#039; das &#039;&#039;&#039;komplette Maxima-Feld&#039;&#039;&#039; mit dem internen &#039;&#039;&#039;Parser&#039;&#039;&#039; durchgerechnet und danach der Parameter-Ausdruck berechnet. Dadurch kann man bei komplizierten Berechnungen eine sehr aufwendige symbolische Berechnung verhindern! || runtime(U) || &lt;br /&gt;
|-&lt;br /&gt;
| dataset || liefert alle Datensätze einer Datensatz-Definition in einem Vektor || dataset(x) || &lt;br /&gt;
|-&lt;br /&gt;
| parse || Wenn der Parameter ein String ist wird dieser String mit dem Parser interpretiert || parse(&amp;quot;2+3&amp;quot;) || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Optimierung der Ausdrücke===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| opt   || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden. Nur bei der Verwendung des internen Parser sinnvoll. || opt(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| ratsimp || Ausdruck wird vollständig optimiert, die Funktion wird ausgewertet und ist danach nicht mehr vorhanden (wie opt, wird jedoch auch von Maxima ausgewertet) || ratsimp(x+x) || 2*x&lt;br /&gt;
|-&lt;br /&gt;
| noopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion an sich geht aber verloren. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| nopt || Ausdruck wird nicht optimiert, bleibt also so erhalten wie angegeben. Die Funktion bleibt erhalten und wird erst bei der Lösungsberechnung oder durch opt() entfernt. || noopt(2+3) || 2+3&lt;br /&gt;
|-&lt;br /&gt;
| lopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck vollständig optimiert. || lopt(x+3)  || lopt(x+3)  &lt;br /&gt;
|-&lt;br /&gt;
| lnoopt || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nicht mehr optimiert. || lnoopt(x+3+2)  || lnoopt(x+5) &lt;br /&gt;
|-&lt;br /&gt;
| loptnumeric || Im Maximafeld bleibt die Funktion ohne Funktion erhalten, im Ergebnis {=  wird die Funktion entfernt und in der Lösung wird nach dem Einsetzen der Werte der Ausdruck nur numerisch optimiert. || loptnumeric(x+y)  || loptnumeric(x+y)&lt;br /&gt;
|-&lt;br /&gt;
| aopt || Bei Maxima und Lösung geht die Funktion verloren, nur innerhalb von noopt bleibt sie erhalten. Bei der Anzeige führt sie zur Optimierung das Ausdruckes nach Einsetzen der Datensätze. || aopt(x)  || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Anzeige und Lösungsberechnung===&lt;br /&gt;
Diese Funktionen haben entweder einen oder zwei Parameter. Der erste Parameter stellt die darzustellende Funktion dar, der zweite Parameter, welcher eine Ganzzahl sein muss, gibt an, wie die Darstellung erfolgen soll. Wird der 2.Parameter weggelassen, so wird er als 0 interpretiert.&lt;br /&gt;
* 0 Bei Berechnungen hat die Funktion keine Wirkung, bleibt aber als Funktion erhalten. Bei Lösung und Anzeige wird die Funktion ausgewertet&lt;br /&gt;
* 1 Wirkt nur bei Lösung, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
* 2 Wirkt nur bei Anzeige, bei Berechnungen bleibt die Funktion erhalten&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| viewpow || Gibt alle Wurzeln als Potenzen aus, und stellt alle Potenzen im Nenner als negativen Exponenten im Zähler dar || viewpow(sqrt(x)) || x^(1/2)&lt;br /&gt;
|-&lt;br /&gt;
| viewsqrt || Gibt Potenzen welche als Wurzel darstellbar sind auch als als Wurzeln mit der Funktion sqrt oder root aus || viewsqrt(x^(1/2)) || sqrt(x)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spezialfunktionen LeTTo ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Gesamtpunkteanzahl einer Frage || points() || 2&lt;br /&gt;
|-&lt;br /&gt;
| points || Berechnet die erreichbare Punkteanzahl einer Teilfrage. Als Parameter wird die Fragenummer als Ganzzahl angegeben. || points(0) || 1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spezialfunktionen Technik===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| color || Widerstandsfarbcode berechnen.&amp;lt;br&amp;gt;1. Parameter muss ein Double sein&amp;lt;br&amp;gt; 2.Parameter sind die Anzahl der Farbringe&amp;lt;br&amp;gt; 3.Parameter ist der Modus (0..2-St,1..3St,2..Deutsch,3..2StEng,4..3StEng,5..Englisch || color(120,3,2) || braun,rot,braun&lt;br /&gt;
|-&lt;br /&gt;
| parsecolor || Wandelt einen String mit einem Widerstandsfarbcode in einen Double-Wert || parsecolor(&amp;quot;br-rt-br&amp;quot;) || 120&lt;br /&gt;
|-&lt;br /&gt;
| ip || Wandelt eine Long-Zahl in einen String als IP-Adresse um, oder 4 Byte-Zahlen in eine Long Zahl als IP-32-bit-Adresse || ip(1534536453)&amp;lt;br&amp;gt;ip(10,20,30,40) || &amp;quot;91.119.43.5&amp;quot;&amp;lt;br&amp;gt;169090600&lt;br /&gt;
|-&lt;br /&gt;
| parseip || Wandelt einen String mit einer IP-Adresse in einen Long-Wert || parseip(&amp;quot;91.119.43.5&amp;quot;) || 1534536453&lt;br /&gt;
|-&lt;br /&gt;
| e12 || rundet einen Zahlenwert auf den nächstliegenden Wert der [[Normreihe]] E12.&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch d.h. der Quotient zwischen Normwert und zu rundendem Wert wird minimiert. || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12up || rundet einen Zahlenwert auf den nächstgrößerern Wert der [[Normreihe]] E12 || e12(670Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| e12down || rundet einen Zahlenwert auf den nächstkleineren Wert der [[Normreihe]] E12 || e12(700Ohm) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| ise12 || prüft ob der als Parameter übergebenen Wert ein Wert der [[Normreihe]] E12 ist.|| ise12(680Ohm) || true&lt;br /&gt;
|-&lt;br /&gt;
| norm || rundet einen Zahlenwert auf den nächstliegenden Wert einer gegebenen Wertereihe oder [[Normreihe]].&amp;lt;br&amp;gt;Die Rundung erfolgt geometrisch wenn es sich um eine logarithmisch aufgeteilte Normreihe handelt, oder sonst linear. || norm(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normup || rundet einen Zahlenwert auf den nächstgrößerern Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normup(730Ohm,[1,3,5,8]) || 800Ohm&lt;br /&gt;
|-&lt;br /&gt;
| normdown || rundet einen Zahlenwert auf den nächstkleineren Wert einer gegebenen Wertereihe oder [[Normreihe]]. || normdown(700Ohm,E12) || 680Ohm&lt;br /&gt;
|-&lt;br /&gt;
| isnorm || prüft ob der als Parameter übergebenen Wert ein Wert einer gegebenen Wertereihe oder [[Normreihe]] ist. || isnorm(680Ohm,E12) || true&lt;br /&gt;
|}&lt;br /&gt;
===Raumzeiger für elektrische Maschinen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: left; width: 100%;&amp;quot; &lt;br /&gt;
| Funktion || Beschreibung || Beispiel || Ergebnis &lt;br /&gt;
|-&lt;br /&gt;
| [[svphtosv]](a,b,c) || berechnet aus den Stranggrößen (a,b,c) einen komplexen Raumzeiger || svphtosv(0.5,0.5,-1) || 1arg60°&lt;br /&gt;
|-&lt;br /&gt;
| [[svsvtoph]](sv)&amp;lt;br&amp;gt;svsvtoph(sv,index) || berechnet aus einem komplexen Rauzeiger die Phasengrößen &amp;lt;br&amp;gt; berechnet aus einem komplexen Rauzeiger die Phasengrößen, index selektiert Stranggröße als Rückgabewert || svsvtoph(1arg60°)&amp;lt;br&amp;gt; svsvtoph(1arg60°,3)|| [0.5,0.5,-1] &amp;lt;br&amp;gt; -1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Ergebnisvorschau=&lt;br /&gt;
Aufruf dieses Dialoges über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button aus dem [[Toolbar]].&lt;br /&gt;
&lt;br /&gt;
Die Berechnungen aus dem Maxima-Feld bei der [[Beispiele Bearbeiten|Fragendefinition]] können auch über den [[Datei:ClipCapIt-180904-182120.PNG|25px]]-Button durchgeführt werden. Hier wird die Berechnung durchgeführt und das Lösungsfeld ausgefüllt, aber der Rechengang wird nicht angezeigt. &lt;br /&gt;
:[[Datei:ClipCapIt-180904-181415.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
Beim Fehlersuchen oder bei komplexen Berechnungen kann es aber hilfreich sein, den ganzen Maxima-Lösungsweg zu sehen, dies ist über den [[Datei:ClipCapIt-180904-181443.PNG|25px]]-Button möchlich.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechnung]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>