Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.

Ähnliche Präsentationen


Präsentation zum Thema: "Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist."—  Präsentation transkript:

1 Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.

2 Ein falscher Satz.

3 Inhalt Was Möglichkeit, eine Programmiersprache mit Regeln zu beschreiben Lernziel einfache Sprache mit Regeln beschreiben Programme einer Sprache erzeugen erkennen, ob Programme korrekt sind

4 Ablauf Ablauf der Stunde: Vortrag25 min Übungen 60 min Abschluss 5 min

5 Gliederung des Vortrags 1. Terminologie: Symbol, Alphabet, Wort, Sprache 2. Definition einer Sprache 3. Regelbasierte Definition einer Sprache 4. Extended Backus Naur Form 5. Beispiel

6 1. Terminologie Symbol Eine Sprache besteht aus einer Menge von Symbolen. Beispiele: », ¤, ¿ 15, -, +, 45, %, = if, then, begin, a, >

7 1. Terminologie (2) Alphabet Ein Alphabet ist die Menge aller Symbole, die zu einer Sprache gehören. Beispiele: Alphabet1 = {¤, ¿,, &} Alphabet2 = {0,1,2,3,...+,-,=,...} Alphabet3 = {if, then, begin, a, >,...}

8 1. Terminologie (3) Wort Ein Wort ist ein Element der Sprache und besteht aus einem oder mehreren Symbolen des Alphabets. Beispiele: ¤ & ¿ » # * + ¿ 15 * 3 = 45 if a > b then c := a + b

9 1. Terminologie (4) Sprache Eine Sprache besteht aus einer Menge von Worten. Wenn M die Menge aller möglichen Worte w ist, die man auf Basis eines gegebenen Alphabets bilden kann, dann ist jede Teilmenge von M eine Sprache.

10 abc cba aac aab bbb baa aba aaa aca cab bca bacacb bbc ccc bbc cac abb cca babbba bcc cbb cbc acc bcbcaa

11 2. Definition einer Sprache Eine Sprache kann definiert werden durch: Aufzählung aller Worte der Sprache (Bsp. Duden) Regeln, wie man alle Worte der Sprache bilden kann Regeln, wie man entscheidet, ob ein Wort zu einer Sprache gehört

12 3. Regeln zur Bildung von Worten Welche Symbole gibt es? Welche Symbole können hintereinander auftreten? Wo? Welche Symbole können optional auftreten? Wo? Welche Symbole können alternativ zueinander auftreten? Wo?

13 4. Extended Backus Naur Form (EBNF) Methode, um Regeln zu definieren, die eine Programmiersprache beschreiben benannt nach J. Backus und P. Naur vier Elemente: Produktion Terminalsymbol Nichtterminalsymbol Metazeichen

14 4. Elemente der EBNF (1) Produktion ist eine Regel Eine Gleichung besteht aus zwei mathematischen Ausdrücken rechts und links von einem Gleichheitszeichen. Gleichung ::= math_Ausdruck ' = ' math_Ausdruck

15 4. Elemente der EBNF (2) Terminalsymbol ist ein Symbol wird in Hochkommata geschrieben ' ' Term_Symbol ::= 'if' | 'then' | 'begin' Nichtterminalsymbol es gibt für jedes Nichtterminalsymbol eine Produktion, wie es gebildet wird Addition ::= math_ausdruck '+' math_ausdruck

16 4. Elemente der EBNF (3) Metazeichen beschreiben Beziehungen zwischen Nichtterminal- und Terminalsymbolen ::= Definition: trennt die linke und die rechte Seite einer Produktion A ::= ¤ & Gleichheitszeichen ::= ' = '

17 4. Elemente der EBNF (4) Metazeichen (Fortsetzung) | Alternative: | ¤ bedeutet, dass an dieser Stelle entweder oder ¤ steht Rechenzeichen ::= '+' | '-' | '*' | '/' [] Option: [] bedeutet, dass optional ist ganze_zahl ::= ['+'|'-'] natürliche_zahl

18 4. Elemente der EBNF (5) Metazeichen (Fortsetzung) {} Iteration: ¤ {&} bedeutet, dass & beliebig oft stehen kann: ¤, ¤ &, ¤ & &, ¤ & & & zahl ::= ziffer {ziffer} () Gruppierung: zur logischen Gruppierung von Teilausdrücken regel1 ::= ['-'] zahl | ziffer regel2 ::= ['-'] (zahl | ziffer)

19 4. Elemente der EBNF (6) Metazeichen (Fortsetzung)... Bereich: '0'... '9' bedeutet, dass alle Zeichen zw. 0 und 9 vorkommen können ziffer ::= '0'... '9' buchstabe ::= 'a'... 'z' | 'A'... 'Z'

20 5. Beispiel Ziel: Definition von ganzen Zahlen und Ziel: Kommazahlen basierend auf EBNF Zahlen bestehen aus Ziffern und einem oder keinem Komma vor dem Komma steht entweder eine Null oder eine Ziffernfolge, die nicht mit einer Null anfängt hinter dem Komma können beliebig viele Nullen hintereinander stehen vor einer Zahl kann ein Vorzeichen stehen

21 5. Beispiel (2) Ziffer ::= '0'...'9' ZifferOhneNull ::= '1'... '9' Komma ::= ',' ganzZahl ::= Ziffer | ZifferOhneNull {Ziffer} nachKommaZahl::= Ziffer {Ziffer} kommaZahl ::= ganzZahl Komma nachKommaZahl zahl ::= ['+'|'-'] (kommaZahl | ganzZahl)

22 Dieser Fehler enthält einfach einen gravierenden Algorithmus, welcher nicht zu finden ist. Dieser Algorithmus enthält einen gravierenden Fehler, welcher nicht einfach zu finden ist.


Herunterladen ppt "Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist."

Ähnliche Präsentationen


Google-Anzeigen