Frage

Ich habe eine Frage von einem Test in einer Programmiersprachen-Klasse, die mich verwirren.

Geben Sie eine kontextfreie Grammatik folgende Sprache zu erzeugen

L = {a i b j c k | 0 <= i <= j <= i + k}

Ich bin völlig mit dieser Schreibweise nicht vertraut. Ich kann nicht scheinen, nichts in dem Buch oder meine Notizen über sie zu finden, und ich habe keine Ahnung, wie Google für die Antwort auf die Abfrage.

Wenn Sie es erkennen, was ist es genannt, und was bedeutet es?

War es hilfreich?

Lösung

a ^ i bedeutet nur eine wiederholte ich mal. So a ^ 2 = aa, b ^ 10 = bbbbbbbbbb usw.

Andere Tipps

Oft

  • {} bedeutet "den Satz von"
  • | bedeutet "so dass"

Ich habe keine Ahnung, was a, b, c sind. i j und sind nicht-negative Zahlen, größer oder gleich Null ist. Üblicherweise werden diese Buchstaben für ganze Zahlen vorbehalten. Die Tatsache, dass

i <= i + k

bedeutet, dass k auch nicht-negativ ist.

Wenn a, b und c reelle Zahlen sind, so scheint es mir, dass L nur die Menge der reellen Zahlen. Allerdings scheint es wie eine sehr gekünstelt und aufwendige Art und Weise es zu spezifizieren. Das wäre so etwas wie Dr. Evil Komplott sein Austin Powers zu töten.

Sie haben also „die Menge des einer an den Strom i mal b an den Strom j Zeit c an die Macht j, so daß i, j und k positiven und j größer oder gleich i ...“ und so weiter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top