Menu
Willkommen bei XWizard: Das Online-Informatik-Tool

Click to animate!
Keine PDFs im Cache-Modus erzeugt. Klicke auf DRAW! um PDFs zu erstellen.
Konversions-
methoden
Für Lehrende Erzeuge Aufgabe aus Skript...
X

Erzeuge ein Aufgaben-Skript aus diesem Skript. Bitte Parameter eingeben:

arg0: (String: Eine kurze Beschreibung oder einen Titel für die Aufgabe.)
arg1: (String: Eine lange Beschreibung der Aufgabe ein (HTML erlaubt).)
arg2: (String: Optional kann hier ein Lösungs-String für die Aufgabe angegeben werden.)
arg3: (String: Optionaler Belohnungscode, den der Benutzer durch das Lösen der Aufgabe verdienen kann.)
arg4: (String: Optionaler → Regulärer Ausdruck (Java) zum Einschränken der angezeigten Konversionsmethoden - Methodenname.)
arg5: (String: Optionaler → Regulärer Ausdruck (Java) zum Einschränken der angezeigten Konversionsmethoden - Skript-Klasse.)
arg6: (String: Optionaler → Regulärer Ausdruck (Java) zum Einschränken der angezeigten Konversionsmethoden - Zielklasse.)
arg7: (String: Optionaler Erklärungstext, der zusammen mit der Lösung angezeigt wird.)
arg8: (boolean: Auf true gesetzt wird die Verschlüsselung der Aufgabe - nicht des gesamten Skripts - veranlasst.)
arg9: (boolean: Auf true gesetzt wird die Verschlüsselung des gesamten Skripts veranlasst.)

Debuggen Schrittweise Script-Evaluation...
X

Erzeugt eine Animation der Expansion dieses Skripts zum Debuggen. Bitte Parameter eingeben:

arg0: (Boolean: Auf true gesetzt, werden auch die in jedem Schritt verfügbaren Preprozessoren angezeigt.)

Beispiele

Lehrbuch-Modus  

Kurzeinführung

  • Tippe ein Skript in das Textfeld und klicke auf Draw! Das Ergebnis wird im Ausgabebereich angezeigt.
  • Nutze die Beispiele ganz unten zum Einstieg.
  • Durch die Konversions-Methoden können Algorithmen auf das Skript angewendet werden.
  • Oder löse die Übungsaufgabe, falls eine angezeigt wird.

Überfordert...? Gelangweilt...? → Beteilige Dich an Diskussionen oder sage uns, was gut bzw. schlecht ist, in der → 3-Minuten-Umfrage.

Endlicher Automat

Eine Transition 'von s0 nach s1, beim Lesen des Eingabesymbols a' wird definiert als (s0, a) => s1;

Definiere den Startzustand s0, Endzustände F und das input-Wort im Deklarationsbereich.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Endlicher-Automat'...

Kellerautomat

Eine Transition 'von s0, wobei das Eingabesymbol a und das Kellersymbol k eingelesen werden, nach s1, wobei ak auf den Keller geschrieben wird' wird definiert als: (s0, a, k) => (s1, ak);

oder 'von s0 ohne die Eingabe zu lesen...' als: (s0, lambda, k) => (s1, abck);

Definiere den Startzustand s0, Endzustände F, das Kellersymbol kSymb und input-Wörter im Deklarationsbereich.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Kellerautomat'...

Turingmaschine

Eine Transition 'von s0, wobei das Eingabesymbol * gelesen wird, nach s1, wobei a auf das Band geschrieben wird und der Kopf nach links läuft,' wird definiert als: (s0, *) => (s1, a, L);

Definiere den Startzustand s0, Endzustände F, das blank-Symbol und input-Wörter im Deklarationsbereich.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Turingmaschine'...

Grammatiken können in zwei Modi betrieben werden (Gesamtbaum oder Parsebaum).

Gesamtbaum

Definiere eine Produktionsregel als: S => a, S, b; oder S => epsilon; Definiere N (Nonterminalsymbole), T (Terminalsymbole) und S (das Startsymbol) im Deklarationsbereich. Jeder Ast des Gesamtbaums zeigt für ein terminales Wort, wie es durch die Grammatik abgeleitet werden kann.

Parsebaum (kontextfreie Grammatiken)

Es kann ein Parsebaum durch Klicken auf   parse einzelnes wort   oder Hinzufügen von parse(w, o, r, d)--0 (vor dem Doppelpunkt am Beginn des Skripts) erzeugt werden. Ein Parsebaum zeigt für ein einzelnes terminales Wort an, wie es durch die Grammatik abgeleitet werden kann. Durchlaufe die Parsebäume durch Klicken auf den   durchlaufe...  -Button.

Beachte: Das leere Wort heißt epsilon, nicht lambda, in Grammatik-Skripten.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Grammatik'...

Regulärer Ausdruck

Die Skripteingabe ist ein regulärer Ausdruck, der in der üblichen Weise abgekürzt werden darf. Alle Kleinbuchstaben (a, b, c, ...) und Ziffern (0, 1, 2, ...) sind Teil des Terminalalphabets. Vereinigung ist kodiert als +, Konkatenation als . (kann weggelassen werden), die Kleene'sche Stern-Operation als *. O (der Großbuchstabe, nicht die Zahl) ist die leere Menge , O* (entsprechend) das leere Wort λ.

Beispiel: (((((a+b).b)*.c).d)+O)
oder äquivalent: ((a+b)b)*cd

Die Ausgabe wird automatisch durch einige Standard-Operationen vereinfacht. Um auch das Skript zu vereinfachen, klicke auf   vereinfache (ein bisschen)  .

→ Mehr Hilfe zu 'Regulärer-Ausdruck'...

2-3-4-Baum

Schreibe eine Sequenz von ganzen Zahlen, die durch Leerzeichen getrennt sind. +Die Reihenfolge der Zahlen von links nach rechts gibt deren Einfügereihenfolge im Baum ein.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu '2-3-4-Baum'...

Rot-Schwarz-Baum

Schreibe eine Sequenz von ganzen Zahlen, die durch Leerzeichen getrennt sind. +Die Reihenfolge der Zahlen von links nach rechts gibt deren Einfügereihenfolge im Baum ein.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Rot-Schwarz-Baum'...

Pat tree

Gib einen beliebigen Text ein, der als Basis für die Berechnung des PatTrees genommen werden soll. Leerzeichen sind erlaubt, allerdings keine Zeilenumbrüche.

Binary-Decision-Diagram

Schreibe eine Reihe von 0en und 1en in der Reihenfolge wie sie in einer Standard-Wahrheitstabelle der gewünschten Funktion auftauchen würden, um ein BDD zu definieren. Wenn die Länge nicht 2n für irgendein n ist, werden 0en am Ende aufgefüllt.

Die Benennung der Variablen kann angepasst werden, indem vorne a,b,c,... eingefügt wird.

→ Mehr Hilfe zu 'BDD'...

Huffman-Baum

Gib einen beliebigen Text ein, der als Basis für die Berechnung des Huffman-Baums genommen werden soll. Zu beachten ist, dass Leerzeichen und Zeilenumbrüche auch gezählt werden.

→ Mehr Hilfe zu 'Huffman-Code'...

Logischer Schaltkreis

Ein logischer Schaltkreis wird definiert durch eine Liste von Verbindungen:
  • von einem Gatter X zum Eingang n eines anderen Gatters Y als:
    X => Y.n;
  • oder von einem Schaltungseingang I zum Eingang n eines Gatters Y als:
    I => Y.n;
  • oder von einem Gatter X zu einem Schaltungsausgang O als:
    X => O;
Undefinierte Elemente I,O werden jeweils als Schaltungseingang oder Schaltungsausgang behandelt. Die übrigen Elemente, d.h. Gatter, werden im Deklarationsbereich definiert, bspw.:
components = A:NOT, B:XOR-nnin, C:XOR, D:AND, E:AND, F:OR;
Soll ein Gatter mehr als zwei Eingänge haben, kann eine Sequenz aus n und i (vgl. B im Beispiel) für 'normale' bzw. 'invertierte' Eingänge angegeben werden.

Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:

A => B | C;
A | B => C;
A | B => C | D;

→ Mehr Hilfe zu 'Schaltkreis'...

Zahlendarstellung

Eine Zahlendarstellung wird angegeben durch den Namen der Darstellung, gefolgt von einer Parameterliste, bspw.:
excessq[value=230, q=128, radix=2, *length=10];
complement[code=111100, complementType=2];
Gib eine Dezimalzahl (Parameter value) an, um den zugehörigen Code zu berechnen.
Gib einen code in der Syntax der entsprechenden Darstellung an, um die zugehörige Dezimalzahl zu berechnen.
Wenn verfügbar, kann durch den Parameter radix eine Zahlenbasis zwischen 2 und 36 angegeben werden.
Derzeit verfügbare Darstellungen: excessq, complement, fixedpoint, floatingpoint.

→ Mehr Hilfe zu 'Zahlen'...

Latex-Prozessor

Gib ein beliebiges vollständiges Latex-Dokument ein und klicke auf   draw!  , um es zu kompilieren. Latex ist ein komplexes und sehr mächtiges Textsatzsystem. Siehe → Wikipedia zum Einstieg.

Wenn formulaMode=true eingestellt ist (im Deklarations-Bereich), dann ist der Mathe-Modus eingeschaltet. Alles außen herum (Package-Deklarationen, \documentclass, \begin{document} usw.) fallen in diesem Fall weg.

Latex-Code kann aus allen auf Latex basierenden Skripten generiert werden, indem auf den Button   zeige generator-code   geklickt wird.

Einfacher Graphviz-DOT-Code

Dieser Skript-Typ akzeptiert reinen Graphviz-Code und generiert den entsprechenden Graphen. Der Code kann eingetippt oder aus allen auf Graphviz basierenden Skripten generiert werden, indem auf den Button   zeige generator-code   geklickt wird. Der Code muss der Syntax entsprechen, die in der Graphviz-Dokumentation beschrieben wird, siehe: → http://www.graphviz.org/Documentation.php

Beachte: Im Augenblick kann nur der Graphviz-'dot'-Prozessor genutzt werden.

Lieber Programmierer, du hast keinen deutschen Hilfetext zu deiner tollen Klasse geschrieben. Bitte füge einen zur HashMap in der Klasse 'HelpTexts' hinzu oder implementiere die 'requestHelpText' Methode deiner 'RepresentableAsPDF'-Klasse.
Dieser Skripttyp representiert einen "Moore Automaton for Robot Behavior (MARB)". Siehe → [Lukas König: Complex Behavior in Evolutionary Robotics, DeGruyter (Munich), 2015]."

Taschenrechner

Gib einen arithmetischen Term ein, etwa: (3+4)^2, mit der Bedeutung: (3+4)2, und das Ergebnis wird berechnet. Wenn x und/oder y verwendet wird, etwa: x^2+2^y, mit der Bedeutung x2+2y, wird eine Tabelle aller Ergebnisse in einem bestimmten Intervall ausgegeben. Die Intervalle können im Deklarations-Bereich festgelegt werden.

Dieser Objekttyp ist dazu da, einige Meta-Eigenschaften über den XWizard anzuzeigen. Bisher werden alle verfügbaren Objekte aufgelistet und ihre Beziehung untereinander durch Pfeile verdeutlicht. Ein Pfeil von Objekt X zu Objekt Y bedeutet dabei, dass es Konversionsmethoden gibt, die X in Y transformieren.


XWizard documentation (see also → help pages):
XWizard 3_3.0 is the web version of → Very Fast PDF Generator. © Lukas König et al., 2007-2018 | → Contact
→ Empfohlen:

Neu und sehr gut!