Berechnungen: Unterschied zwischen den Versionen

Aus Letto-Wiki
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 oder || 9|5 || 13
| |  || 20 || Bitweise ODER || 9|5 || 13
|+
| or || 20 || Bitweise ODER || 9 or 5 || 13
|+
| &  || 21 || Bitweise UND  || 13&10 || 8
|+
|+
| or || 20 || Bitweise oder || 9 or 5 || 13
| and || 21 || Bitweise UND  || 13 and 10 || 8
|+
|+
| || 21 || Bitweise und || 13&10 || 8
| xor || 22 || Bitweise exklusiv oder XOR || 13 xor 10 || 7
|+
|+
| and || 21 || Bitweise und  || 13 and 10 || 8
| imp || 23 || Bitweise impliziert IMP || 13 imp 10 || 8
|+
|+
| xor || 22 || Bitweise exklusiv oder || 13 xor 10 || 7
| <<  || 35 || Bitweise links schieben || 5<<2 || 20
|+
|+
| imp || 23 || Bitweise impliziert  || 13 imp 10 || 8
| >>  || 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 und Matrizen==
===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

Schema der Berechnung

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