Objekt: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
* [[Zeichen]]
* [[Zeichen]]
* [[Zeichenkette]]
* [[Zeichenkette]]
* [[Ausdruck]]
* [[Vektor]]
* [[Vektor]]
* [[Matrix]]
* [[Matrix]]
* [[List]]
* [[List]]


Nicht dazu gehört z.B. der Ausruck '3+1'. Dieser Ausdruck besteht aus der Funktion + mit den Parametern 3 und 1. Die Parameter sind in diesem Fall jeweils zwei Objekte des Typs [[Ganzzahl]].
Nicht dazu gehört z.B. die Funktion '3+1'. Die Parameter sind in diesem Fall jeweils zwei Objekte des Typs [[Ganzzahl]].


Mithilfe von sogenannten Konstruktoren könne diese Objekte erzeugt werden. Beispielsweise ein [[Vektor]] hat den Konstruktor vector().
Mithilfe von sogenannten Konstruktoren könne diese Objekte erzeugt werden. Beispielsweise ein [[Vektor]] hat den Konstruktor vector().
Zeile 21: Zeile 22:
==Typen==
==Typen==


In den jeweiligen oben genannten Typen lässt sich nachlesen, wie diese erstellt werden.
In den jeweiligen oben genannten Typen lässt sich nachlesen, wie diese erstellt werden. Außerdem lässt sich dort nachlesen, welchen Bereich diese jeweils abdecken.


In der folgenden Tabelle wird veranschaulicht, welche Typen sich ersetzen können. D.h. zum Beispiel die Funktion [[Concat]] erwartet als Parameter [[Zeichenketten]]. Es ist aber auch möglich [[Ganzzahl]]en einzugeben, da diese automatisch in [[Zeichenkette]]n übersetz werden. Die Tabelle ist wiefolgt zu lesen: Objekt Z kann durch Objekt S ersetzt werden. (Z = Zeile, S = Spalte)
In der folgenden Tabelle wird veranschaulicht, welche Typen sich ersetzen können. D.h. zum Beispiel die Funktion [[Concat]] erwartet als Parameter [[Zeichenkette]]n. Es ist aber auch möglich [[Ganzzahl]]en einzugeben, da diese automatisch in [[Zeichenkette]]n übersetz werden. Die Tabelle ist wiefolgt zu lesen: Objekt Z kann durch Objekt S ersetzt werden. (Z = Zeile, S = Spalte).


{|
{|
|                     || [[Ganzzahl]] || [[Gleitkommazahl]] || [[Zeichen]] ||[[Zeichenkette]] || [[Vektor]] || [[Matrix]] || [[List]]
|                   || [[Ganzzahl]] || [[Gleitkommazahl]] || [[Zeichen]] ||[[Zeichenkette]] || [[Ausdruck]] || [[Vektor]] || [[Matrix]] || [[List]]
|-
|-
| [[Ganzzahl]]       || ja   || nein || nein || nein || nein || nein || nein
| [[Ganzzahl]]       || ja           || nein               || nein        || nein           || nein         || nein       || nein       || nein
|-
|-
| [[Gleitkommazahl]] || ja   || ja   || nein || nein || nein || nein || nein
| [[Gleitkommazahl]] || ja           || ja                 || nein       || nein           || nein         || nein       || nein      || nein
|-
|-
| [[Zeichen]]         || ja   || ja   || ja   || nein || nein || nein || nein  
| [[Zeichen]]       || ja           || ja                 || ja         || nein           || nein        || nein       || nein       || nein
|-
|-
| [[Zeichenkette]]   || ja   || ja   || ja   || ja   || nein || nein || nein
| [[Zeichenkette]]   || ja           || ja                 || ja         || ja             || nein        || nein       || nein       || nein
|-
|-
| [[Vektor]]         || nein || nein || nein || nein || ja   || nein || nein
| [[Ausdruck]]       || ja          || ja                || ja          || nein           || ja           || nein      || nein       || nein
|-
|-
| [[Matrix]]         || nein || nein || nein || nein || nein || ja   || nein
| [[Vektor]]         || nein         || nein               || nein       || nein           || nein         || ja         || nein      || nein
|-
|-
| [[List]]           || ja   || ja   || ja   || ja   || ja   || ja   || ja   
| [[Matrix]]        || nein        || nein              || nein        || nein            || nein        || nein      || ja        || nein
|-
| [[List]]           || ja          || ja                 || ja         || ja             || ja           || ja         || ja         || ja   
|}
|}
[[Kategorie:Konstruktoren]]

Aktuelle Version vom 23. Oktober 2017, 20:05 Uhr

Beschreibung

Ein Objekt dient als Oberklasse aller sogenannten Terminale. Terminale nennen wir alles, was sich nicht weiter reduzieren lässt. Hierzu gehören:

Nicht dazu gehört z.B. die Funktion '3+1'. Die Parameter sind in diesem Fall jeweils zwei Objekte des Typs Ganzzahl.

Mithilfe von sogenannten Konstruktoren könne diese Objekte erzeugt werden. Beispielsweise ein Vektor hat den Konstruktor vector().

Diese Objekte können in den Variablen [var=***] gespeichert werden. Alle Terminale werden zum Beispiel in einem Task, einem Advice oder einem Feedback durch ihre jeweilige LaTeX Repräsentation dargestellt. Gleichzeitig können diese Variablen in jeder folgenden Anweisung für den Evaluator wiederverwendet werden. Eine einmal erstellte Matrix lässt sich so zum Beispiel in eine Liste packen.

  <option name="matrixA" value="matrix(matrixrow(1,2),matrixrow(3,4)" />
  <option name="Liste1" value="list([var=matrixA],2,3,4)" />

Typen

In den jeweiligen oben genannten Typen lässt sich nachlesen, wie diese erstellt werden. Außerdem lässt sich dort nachlesen, welchen Bereich diese jeweils abdecken.

In der folgenden Tabelle wird veranschaulicht, welche Typen sich ersetzen können. D.h. zum Beispiel die Funktion Concat erwartet als Parameter Zeichenketten. Es ist aber auch möglich Ganzzahlen einzugeben, da diese automatisch in Zeichenketten übersetz werden. Die Tabelle ist wiefolgt zu lesen: Objekt Z kann durch Objekt S ersetzt werden. (Z = Zeile, S = Spalte).

Ganzzahl Gleitkommazahl Zeichen Zeichenkette Ausdruck Vektor Matrix List
Ganzzahl ja nein nein nein nein nein nein nein
Gleitkommazahl ja ja nein nein nein nein nein nein
Zeichen ja ja ja nein nein nein nein nein
Zeichenkette ja ja ja ja nein nein nein nein
Ausdruck ja ja ja nein ja nein nein nein
Vektor nein nein nein nein nein ja nein nein
Matrix nein nein nein nein nein nein ja nein
List ja ja ja ja ja ja ja ja