matematykaszkolna.pl
Gramatyka asd: Mam odgadnąć gramatyki. Język : L = {a,b,aba,aabaa,aaabaaa,aaaabaaaa,.....} Zapisałem to tak,ale nie mam pojęcia czy dobrze G=<N,V,P,S> N={X,Y} V={a,b} P={X−>a,Y−>b,X−>Y,X−>XbX} S = X
4 lut 12:10
Filip: Może inaczej zapisać zbór produkcji? P = { X→XYX | a | ε | Y, Y → b} Ja bym to widział tak, poczekaj na opinie Pytającego, ponieważ nieraz mi także w tym pomagał emotka
4 lut 12:59
Filip: Wydaje mi się, że to jest to samo prawie co u ciebie, jednak inaczej zapisane (tak mnie uczyli) Tak teraz patrzę, że u mnie ε jest zupełnie zbędne Wychodzi na to, że mamy to samo (usuwając ε), jednak inaczej zapisane
4 lut 13:06
Filip: No i nie wiem jak u ciebie się oznaczało gramatykę, u mnie to było G = (V, T, P, S) W tym przypadku V = {X, Y} T = {a, b} P = {X → XYX, X → a, X → Y, Y → b } S = X
4 lut 13:14
Filip: Tak teraz patrze, to nie będzie poprawne, ze względu na to, iż przy takim zbiorze produkcji, możemy dostać przykładowy łańcuch "bba", może coś takiego? P = { Y → b, Y → XYX, X → a }
4 lut 15:01
asd: aa u mnie różnie,inaczej na wykładach inaczej na ćwiczeniach − dlatego sam już nie wiem jak mam oznaczać a da się uzyskać słowo b w Twoim zapisie skoro S = X ?
4 lut 16:15
Filip: Nie, trzeba zmienić opis: G = (V, T, P, Y) V = {X, Y} T = {a, b} P = {Y → XYX, Y → b, X → a}
4 lut 16:43
Filip: Jakbyś chciał to generować przy pomocy kodu, mogłoby to mniej więcej tak wyglądać t0 = 'a'; t1 = 'b' ti = 'a' + ti − 1 + 'a', gdzie i > 1 Przykładowo w C++ (ostrzegam nie jestem z niego dobry), tak bym to widzał std::vector<std::string> vec; vec.pushback("a"); vec.pushback("b"); for (int i = 2; i < n; i++) { std::string temp = "aa"; temp.insert(1, vec[i − 1]); vec.pushback(temp); } for (auto i : vec) std::cout << i << '\n';
4 lut 16:54
asd: na szczęście nie będę musiał chyba tego zakodzić tsk myślę, ale zerkne z ciekawości, dzięki za pomoc
4 lut 17:10