matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenFormale SprachenRegulärer Ausdruck
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Formale Sprachen" - Regulärer Ausdruck
Regulärer Ausdruck < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Regulärer Ausdruck: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:47 Fr 30.05.2008
Autor: jumpbayern

Aufgabe
Geben sie die entsprechende Sprache L(R) an und eine entsprechende Typ 3 Grammatik.

R := SZ(epsilon|(.Z))(epsilon|((E|e)SZ)), wobei
S := (epsilon|+|-)
Z := zz*
z := (0|1|2|3|4|5|6|7|8|9)

dabei gilt: Sigma :={e,E,+,-,.,0,1,2,3,4,5,6,7,8,9}
Beispiele für Fließkommazahlen: 0.815, +47e11, -42.42E+42, 7


Kann mir jemand helfen, bzw erklären wie ich da vorgehen muss???

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Regulärer Ausdruck: Antwort
Status: (Antwort) fertig Status 
Datum: 18:12 Sa 31.05.2008
Autor: neuling_hier

Hallo,

Um L(R) anzugeben, musst Du Dir zunächst überlegen, was die einzelnen Nichtterminalsymbole der linken Regelseiten (also z, Z, S, R) erzeugen.

Offensichtlich gilt:

  z (= "Ziffer") erzeugt eine einzelne Ziffer von 0 bis 9
  Z (= "Zahl") erzeugt dann also eine positive ganze Zahl
    (d.h. nichtleere Folge von Ziffern)
  S (dürfte für "Sign" stehen) liefert ein Vorzeichen:
        -> entweder kein Vorzeichen (= "epsilon")
        -> oder Plus ("+")
        -> oder Minus ("-")
  R setzt "alles zusammen", d.h. erzeugt folgende Zeichenreihe:
        -> Zusammensetzen von S (Vorzeichen) und Z (Zahl)
        -> optional eine weitere positive ganze Zahl
           mit Komma getrennt anhängt
        -> optional eine weitere verzeichenbehaftete Zahl
           mit E oder e getrennt.

Also grob in Worten: L(R) enthält alle Fließkommazahlen in der Form, wie sie durch die Beispiele angegeben sind:

  0.815
  +47e11
  -42.42E+42
  7
  usw. ...

Es gibt verschiedene Möglichkeiten, einen regulären Ausdruck dafür zu erstellen.

Die (wie ich finde) unfangreichere, aber sicherere Methode ist das Zeichnen eines deterministischen endlichen Automaten, aus dem Du dann die regulären Ausdrücke der Zustände in Form eines Gleichungssystems bestimmst und letzteres unter Verwendung des Resolutionslemmas auflöst.

Ich weiß aber nicht, ob Ihr das in der Vorlesung behandelt habt.

Die zweite Möglichkeit ist, den Ausdruck "per Hand" zu erstellen. Dabei fängst Du mit den "atomaren" Ausdrücken an (leider schreibst Du nicht, in welcher Form ("Syntax") reguläre Ausdrücke in Deiner Vorlesung / im Skript definiert wurden, darum verwende ich die, die ich kenne).

Ein Ausdruck für Z wäre z.B.:

  $R(Z) = (0-9)^+$    (= nichtleere Folge von Ziffern aus 0 bis 9)
  oder $R(Z) = [mm] (0-9)(0-9)^\*$ [/mm] , je nach Syntax

Für S erhälst Du:

  $R(S) = (+|-)$

Nun hast Du reguläre Ausdrücke für Z und S. Damit erhälst Du für R:

  $R(S) = (+|-)(0-9)^+[.(0-9)]$ ... usw. (der Ausdruck ist nicht ganz vollständig, weil etwas Arbeit bleiben soll :-) )

Kommst Du damit weiter?

Viele Grüße,
neuling_hier

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]