Aufgabe 1: ---------- (a) (i) 69<10> = 1*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 1000101<2> = 105<8> (3er Gruppen von rechts bilden) = 45<16> (4er Gruppen von rechts bilden) (ii) 111100101<2> = 745<8> = 1E5<16> = 1*16^2 + 14*16^1 + 5*16^0 = 485<10> (iii) 63<8> = 110011<2> = 33<16> = 3*16^1 + 3*16^0 = 51<10> (iv) DB<16> = 11011011<2> = 333<8> = 13*16^1 + 11*16^1 = 219<10> (b) 1100101<2> = 2^6 + 2^5 + 2^2 + 2^0 = 64 + 32 + 4 + 1 = 101<10> + 1001011<2> = 2^6 + 2^3 + 2^1 + 2^0 = 64 + 8 + 2 + 1 = 75<10> ------------ 10110000<2> = 2^7 + 2^5 + 2^4 = 128 + 32 + 16 = 176<10> Aufgabe 2: ---------- (a) (i) 12.54e+3 gehört zu der Sprache, denn R -> MEx -> V.NEx -> -Z.NEx -> -ZD.NEx -> -DD.NEx -> -DD.ZEx -> -DD.ZDEx -> -DD.DDEx -> -DD.DDe+Z -> -DD.DDe+D -> -1D.DDe+D -> -12.DDe+D -> -12.5De+D -> -12.54e+D -> -12.54e+3 (ii) .57E4 gehört nicht zu der Sprache, denn die Regel M -> V.N impliziert mit V -> Z / V -> +Z / V -> -Z, daß immer mindestens eine Ziffer vor dem Dezimalpunkt stehen muß! (iii) 5.E-3 gehört zu der Sprache, denn R -> MEx -> V.NEx -> Z.NEx -> D.NEx -> D.Ex -> D.E-Z -> D.E-D -> 5.E-D -> 5.E-3 (b) Ersetzungsregeln in EBNF: R -> MEx, M -> V.N, Ex -> (e|E)[+|-]Z, V -> [+|-]Z, N -> [Z], Z -> D{D}, D -> 0|1|2|3|4|5|6|7|8|9 (c) Syntaxdiagramm: Die Lösung ist in der Postscript-Datei abgedruckt! (d) Regulärer Ausdruck: (\+|-)?[0-9]+(\.)[0-9]*(e|E)(\+|-)?[0-9]+ (e) Endlicher Automat: Zustandsmenge Z = {S, E, A, z1, z2, z3, z4, z5} Startzustand A, Endzustand E, Abbruchszustand A Vokabular V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, ., e, E} Die Skizze des Automaten ist ebenfalls in der Postscript-Datei abgedruckt!