# Hausaufgabe 1 ## Übung 1  ### 1a i) - $s_1 = xyxyxyzzyxxxx ∈ Σ^*$ - $s_2 = zzzzyyyx ∈ Σ^*$ ii) - $s_i = \{zy, zzxyy, zzzxxyyy\} ∈ Σ^*$ iii) - $s_{ij} = \{xxyzz, xxxyzzz, xxyzzzzz, xxxyzzzzzz\} ∈ Σ^*$ ### 1b i) - Für eine Zeichenkette der Länge n gibt es genau n + 1 Präfixe, nämlich: - ε (die leere Zeichenkette) - s[0] - s[0..1] - s[0..2] - ... - s[0..n-1] (die vollständige Zeichenkette) - Da |s| = 10, ergibt das: - **Antwort: 11 Präfixe** ii) - Für eine Zeichenkette der Länge n gibt es genau n − 1 solche Teilzeichenketten (man beginnt bei Index 0 bis n−2). - Hier gilt |s| = 10, also: - **Antwort: 9 Teilzeichenketten der Länge 2** iii) - Ein Suffix ist jede Zeichenkette, die man erhält, wenn man von einem bestimmten Index i (inkl. i) bis zum Ende der Zeichenkette geht. Auch hier gilt: Die leere Zeichenkette (Suffix, das am Ende beginnt) zählt mit. - Also gibt es genau n + 1 Suffixe. - **Antwort: n + 1 Suffixe** ## Übung 2  ### 2a i) - $L_1=\{uhu⋅x⋅vw | x ∈ Σ^*\}$ ii) - $L_2=\{xx⋅u⋅yzyz⋅v∣u,v∈Σ^*\}$ iii) - $L_3=\{w∈{0,1,2}^*∣\#_1(w)=2⋅(\#_0(w)+\#_2(w))\}$ ### 2b - Anforderungen Python: - Muss mit einem Buchstaben (a–z, A–Z) oder Unterstrich (_) beginnen - Danach: beliebig viele Buchstaben, Ziffern (0–9) oder Unterstriche - Keine Schlüsselwörter erlaubt, aber das ignorieren wir in dieser formalen Beschreibung - Alphabet Σ: - > $Σ=\{a,…,z,A,…,Z,0,…,9,_\}$ - Formale Sprache $L{PyVars}$: - > $L{PyVars}=\{w∈Σ^*∣w=a_1a_2…a_n,a_1∈\{a-z,A-Z,\_\},a_i∈\{a-z,A-Z,0-9,\_\} für: {i=2…n}\}$ ⊆ $Σ^*$ ## Übung 3  ### 3a - $Σ=\{<,>,/,d,i,v\}$ - gültige Tags: `