Berechnungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 47: | Zeile 47: | ||
=Berechnung mit Maxima= | =Berechnung mit Maxima= | ||
* Maxima wird nur für symbolische Berechnungen bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das Maximafeld berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen. | |||
* Da zum Zeitpunkt der Maxima-Berechnung keine Datensätze 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. | |||
* 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. | |||
=Berechnung mit dem internen Parser= | =Berechnung mit dem internen Parser= | ||
* Der interne Parser kann durch Wahl der Checkbox "Parser" anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden. | |||
* 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. | |||
==Operatoren== | ==Operatoren== | ||
===Infix Operatoren=== | ===Infix Operatoren=== | ||
====arithmetische Operatoren==== | ====arithmetische Operatoren==== | ||
Zeile 79: | Zeile 83: | ||
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis | | Operator || Priorität || Beschreibung || Beispiel || Ergebnis | ||
|+ | |+ | ||
| | || 20 || Bitweise | | | || 20 || Bitweise ODER || 9|5 || 13 | ||
|+ | |||
| or || 20 || Bitweise ODER || 9 or 5 || 13 | |||
|+ | |||
| & || 21 || Bitweise UND || 13&10 || 8 | |||
|+ | |+ | ||
| | | and || 21 || Bitweise UND || 13 and 10 || 8 | ||
|+ | |+ | ||
| | | xor || 22 || Bitweise exklusiv oder XOR || 13 xor 10 || 7 | ||
|+ | |+ | ||
| | | imp || 23 || Bitweise impliziert IMP || 13 imp 10 || 8 | ||
|+ | |+ | ||
| | | << || 35 || Bitweise links schieben || 5<<2 || 20 | ||
|+ | |+ | ||
| | | >> || 35 || Bitweise rechts schieben || 8>>2 || 2 | ||
|} | |} | ||
====Vergleichsoperatoren==== | ====Vergleichsoperatoren==== | ||
Zeile 121: | Zeile 128: | ||
|+ | |+ | ||
| : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || | | : || 2 || Zuweisung an eine Variablen auf der linken Seite || x:5 || | ||
|} | |} | ||
===Prefix Operatoren=== | ===Prefix Operatoren=== | ||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| + || 45 || positives Vorzeichen || +5 || 5 | |||
|+ | |||
| - || 45 || negatives Vorzeichen || -(-5) || 5 | |||
|+ | |||
| ~ || 95 || bitweise Inversion einer 64bit-Ganzzahl || ~0x0F0F || 0xFFFFFFFFFFFFF0F0 | |||
|+ | |||
| ! || 120 || logisches NOT || !(3<4) || false | |||
|+ | |||
| ++ || 130 || Inkrement von Ganzzahlen || ++x || erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück | |||
|+ | |||
| -- || 130 || Dekrement von Ganzzahlen || --x || vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück | |||
|+ | |||
| % || 200 || Prefix für Namen, welche als Konstante definiert sind || %pi || 3.141592653589793 | |||
|} | |||
===Suffix Operatoren=== | ===Suffix Operatoren=== | ||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Operator || Priorität || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| ++ || 135 || Inkrement von Ganzzahlen || x++ || erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück | |||
|+ | |||
| -- || 135 || Dekrement von Ganzzahlen || x-- || vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück | |||
|} | |||
==Klammern== | |||
* () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet | |||
* {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet | |||
* [] eckige Klammern werden für Vektoren und Matrizen verwendet | |||
==Funktionen== | ==Funktionen== | ||
===Funktionen für Ganzzahlen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| band || bitweises AND || band(4,12) || 4 | |||
|} | |||
===Funktionen für Gleitkommazahlen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| double || Zahl ein eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren || double(3.4V) || 3.4 | |||
|} | |||
===Stringfunktionen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| dechex || Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben || dexhex(12) || "0xC" | |||
|} | |||
===trigonometrische Funktionen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| sin || Sinus || sin(%pi/2) || 1 | |||
|} | |||
===Exponentialfunktionen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| sin || Sinus || sin(%pi/2) || 1 | |||
|} | |||
==Vektoren | ===Algebra=== | ||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| matrix || erzeugt aus mehreren gleich langen Vektoren eine Matrix || matrix([1,2],[3,4]) || [[1,2],[3,4]] | |||
|} | |||
===Auswertung=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| 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 | |||
|} | |||
===Spezialfunktionen=== | |||
{| class="wikitable" style="text-align: left; width: 100%;" | |||
| Funktion || Beschreibung || Beispiel || Ergebnis | |||
|+ | |||
| e12 || rundet einen Zahlenwert in den nächstliegenden Wert der Normreihe E12 || e12(700Ohm) || 680Ohm | |||
|} |
Version vom 23. Juni 2018, 23:20 Uhr
Berechnungen werden in mehreren Bereichen der Frageerstellung verwendet und bilden die Basis für Berechnungsfrage und Mehrfachberechnungsfrage.
Grundsätzlicher Aufbau der Ergebnis-Berechnung einer berechnenden Frage
Die Berechnung und die Beurteilung einer Frage teilt sich in 3 grundsätzliche Schritte:
- Berechnnug der Lösung aus den Maxima-Feldern
- Berechnung des Ergebnisses durch Einsetzen der Datensätze
- Beurteilung der Schülereingabe durch Vergleich mit dem Ergebnis
Konstante
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.
Liste der definierten Konstanten:
Name | Wert | Beschreibung |
%i | i | komplexer Parameter als Lösung der Gleichung x^2=-1 |
%j | i | komplexer Parameter als Lösung der Gleichung x^2=-1 |
%e | 2.718281828459045 | Eulersche Zahl |
%pi | 3.141592653589793 | Kreiszahl |
%mu0 | magnetische Feldkonstante | 4*%pi*1E-7'Vs/Am' |
%m0 | magnetische Feldkonstante (alt, wird bald entfernt werden) | 4*%pi*1E-7'Vs/Am' |
%epsilon0 | elektrische Feldkonstante | 8.85418781762039E-12'As/Vm' |
%e0 | elektrische Feldkonstante (alt, wird bald entfernt werden) | 8.85418781762039E-12'As/Vm' |
%c0 | Lichtgeschwindigkeit | 299792458'm/s' |
%Qe | Elementarladung | 1.602176620898E-19As |
%g | Erdbeschleunigung | 9.81'm/s^2' |
%NA | Avogadro Konstante | 6.02214085774E23/mol |
%k | Stefan Bolzman Konstante | 1.3806485279E-23'J/K' |
%R0 | Universelle Gaskonstante | 8.314459848'J/Kmol' |
%h | planksches Wirkungsquantum | 6.6260704081E-34Js |
Berechnung mit Maxima
- Maxima wird nur für symbolische Berechnungen bei der Erstellung von Beispielen verwendet. Hierbei wird, wie schon oberhalb im Schema angegeben, zuerst die Moodle.mac geladen, dann das Maximafeld berechnet und anschließend die Maxima-Felder aller Teilfragen. Das Ergebnis der Berechnung wird dann als symbolischer Ausdruck im Lösungfeld eingetragen.
- Da zum Zeitpunkt der Maxima-Berechnung keine Datensätze 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.
- 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.
Berechnung mit dem internen Parser
- Der interne Parser kann durch Wahl der Checkbox "Parser" anstatt von Maxima für die Berechnung des Maxima-Feldes verwendet werden.
- 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.
Operatoren
Infix Operatoren
arithmetische Operatoren
Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
+ | 40 | Addition | 4+5 | 9 |
- | 40 | Subtraktion | 6-2 | 4 |
* | 50 | Multiplikation | 4*5 | 20 |
/ | 51 | Division | 20/4 | 5 |
% | 51 | Divisionsrest | 104%20 | 4 |
/ / | 60 | Parallelschaltung | x / / y | x*y/(x+y) |
^ | 90 | Potenz | 2^3 | 8 |
.*. | 200 | Operator der intern für eine fehlende bindende Multiplikation verwendet wird | 4x | 4*x |
Bitoperatoren
Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
20 | Bitweise ODER | 5 | 13 | |
or | 20 | Bitweise ODER | 9 or 5 | 13 |
& | 21 | Bitweise UND | 13&10 | 8 |
and | 21 | Bitweise UND | 13 and 10 | 8 |
xor | 22 | Bitweise exklusiv oder XOR | 13 xor 10 | 7 |
imp | 23 | Bitweise impliziert IMP | 13 imp 10 | 8 |
<< | 35 | Bitweise links schieben | 5<<2 | 20 |
>> | 35 | Bitweise rechts schieben | 8>>2 | 2 |
Vergleichsoperatoren
Operator | Priorität | Beschreibung | Beispiel |
= | 3 | Gleichungsoperator | x=y |
== | 30 | Gleichungsoperator | x==y |
!= | 30 | Ungleichungsoperator | x!=y |
< | 32 | Kleiner | x<y |
<= | 32 | Kleiner gleich | x<=y |
> | 32 | größer | x>y |
>= | 32 | größer gleich | x>=y |
Organisative Operatoren
Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
, | 0 | Listen-Trennzeichen | x,y | |
$ | 1 | Trennzeichen zwischen mehreren Berechnungen | ||
; | 1 | Trennzeichen zwischen mehreren Berechnungen | ||
: | 2 | Zuweisung an eine Variablen auf der linken Seite | x:5 |
Prefix Operatoren
Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
+ | 45 | positives Vorzeichen | +5 | 5 |
- | 45 | negatives Vorzeichen | -(-5) | 5 |
~ | 95 | bitweise Inversion einer 64bit-Ganzzahl | ~0x0F0F | 0xFFFFFFFFFFFFF0F0 |
! | 120 | logisches NOT | !(3<4) | false |
++ | 130 | Inkrement von Ganzzahlen | ++x | erhöht x um eins und gibt das Ergebnis nach der Erhöhung zurück |
-- | 130 | Dekrement von Ganzzahlen | --x | vermindert x um eins und gibt das Ergebnis nach der Verminderung zurück |
% | 200 | Prefix für Namen, welche als Konstante definiert sind | %pi | 3.141592653589793 |
Suffix Operatoren
Operator | Priorität | Beschreibung | Beispiel | Ergebnis |
++ | 135 | Inkrement von Ganzzahlen | x++ | erhöht x um eins und gibt den Variablenwert vor der Erhöhung zurück |
-- | 135 | Dekrement von Ganzzahlen | x-- | vermindert x um eins und gibt den Variablenwert vor der Verminderung zurück |
Klammern
- () runde Klammern werden für mathematische Ausdrücke zur Klammerung verwendet
- {} geschwungene Klammer werden im Angabetext für die Namen der Datensätze verwendet
- [] eckige Klammern werden für Vektoren und Matrizen verwendet
Funktionen
Funktionen für Ganzzahlen
Funktion | Beschreibung | Beispiel | Ergebnis |
band | bitweises AND | band(4,12) | 4 |
Funktionen für Gleitkommazahlen
Funktion | Beschreibung | Beispiel | Ergebnis |
double | Zahl ein eine Gleitkommazahl umwandeln, die Einheit geht dabei verloren | double(3.4V) | 3.4 |
Stringfunktionen
Funktion | Beschreibung | Beispiel | Ergebnis |
dechex | Zahl in eine Ganzzahl wandeln und als Hexadezimal-String ausgeben | dexhex(12) | "0xC" |
trigonometrische Funktionen
Funktion | Beschreibung | Beispiel | Ergebnis |
sin | Sinus | sin(%pi/2) | 1 |
Exponentialfunktionen
Funktion | Beschreibung | Beispiel | Ergebnis |
sin | Sinus | sin(%pi/2) | 1 |
Algebra
Funktion | Beschreibung | Beispiel | Ergebnis |
matrix | erzeugt aus mehreren gleich langen Vektoren eine Matrix | matrix([1,2],[3,4]) | [[1,2],[3,4]] |
Auswertung
Funktion | Beschreibung | Beispiel | Ergebnis |
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 |
Spezialfunktionen
Funktion | Beschreibung | Beispiel | Ergebnis |
e12 | rundet einen Zahlenwert in den nächstliegenden Wert der Normreihe E12 | e12(700Ohm) | 680Ohm |