• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンパイラの問題(急ぎです))

コンパイラの問題の解答例と解説

このQ&Aのポイント
  • アルファベット{0,1}上の記号列のうち、0から始まり1が0回以上続くもの全体からなる言語の正則表現は01^*(0|1)^*です。
  • アルファベット{a,b,c}上の記号列のうち、1個以上のaと1個以上のbを含むもの全体からなる言語の正則表現は(a|b|c)a^+b^+(a|b|c)です。
  • アルファベット{0,1}上の記号列のうち、0と1が交互に出現するもの全体からなる言語の正則表現は0(01)^*(1|010(01)^*)です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

1: 「アルファベット{0,1}上の記号列のうち、0から始まり1が0回以上続くもの全体からなる言語」って, どういう意味なんでしょうね. 01101010 は OK なの? 2: ちゃんとチェックしましたか? 3: 「0 と 1 が交互に出現する」というものを適当に書けば (目がちらついて痛いかもしれんけど) 想像できるんじゃないかね.

lgkvh
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 正則行列の証明問題

    問題は「Aがm次正則行列、Dがn次正則行列ならばに二のm×n行列Cに対し次の行列X,Y,Zは正則であることを示せ。またX^-1,Y^-1,Z^-1を求めよ。 X= |A B| |0 D| Y= |A 0| |C D| Z= |B A| |D 0| 」 です。 証明は逆行列を求めて正則行列でないB、Cの逆行列が関与していないことを示すだけでいいですか? 解答がないんで確かめようがなくて困ってます。 よろしくおねがいします。

  • コンパイラーの不具合?

    AIX(5.3)の環境でプログラムソースをコンパイルし実行したところ、 コンパイラーのバージョンの違いによる、挙動の違いを発見しました。 これは、コンパイラーの不具合なのでしょうか? コンパイラーのバージョンは、vacpp 6.0とvacpp 9.0です。 サンプルソースコードと実行結果は以下の通りです <sample.c> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h> int aaa( char * a, char *b,char *c,... ) { va_list arglist; char *temp; printf("1.a=%x\n",&a); printf("2.b=%x\n",&b); printf("----------------------\n"); va_start( arglist, a ); printf( "3.%x=%x=%s\n",arglist,*(char **)arglist,*(char **)arglist); for( ; (temp = va_arg( arglist, char * )) != 0; ){ printf( "%x=%x=%s\n", arglist, temp, temp ); } va_end( arglist ); printf("----------------------\n"); va_start( arglist, b ); printf( "3.%x=%x=%s\n",arglist,*(char **)arglist,*(char **)arglist); for( ; (temp = va_arg( arglist, char * )) != 0; ){ printf( "%x=%x=%s\n", arglist, temp, temp ); } va_end( arglist ); printf("----------------------\n"); va_start( arglist, c ); printf( "3.%x=%x=%s\n",arglist,*(char **)arglist,*(char **)arglist); for( ; (temp = va_arg( arglist, char * )) != 0; ){ printf( "%x=%x=%s\n", arglist, temp, temp ); } va_end( arglist ); return 0; } int main(void) { aaa("1","A","B","C","D",0); return 0; } <コンパイルコマンド> xlC -o sample sample.cpp <バージョン6.00実行結果=正しい結果> 1.a=2ff22568 2.b=2ff2256c ---------------------- 3.2ff2256c=10002460=A 2ff22570=10002460=A 2ff22574=10002462=B 2ff22578=10002464=C 2ff2257c=10002466=D ---------------------- 3.2ff22570=10002462=B 2ff22574=10002462=B 2ff22578=10002464=C 2ff2257c=10002466=D ---------------------- 3.2ff22574=10002464=C 2ff22578=10002464=C 2ff2257c=10002466=D <バージョン9.00実行結果=正しい結果> 1.a=2ff22a48 2.b=2ff22a4c ---------------------- 3.2ff22a4c=10000a30=A ←おかしい 2ff22a54=10000a32=B 2ff22a58=10000a34=C 2ff22a5c=10000a36=D ---------------------- 3.2ff22a50=10000a32=B ←ただしい 2ff22a54=10000a32=B 2ff22a58=10000a34=C 2ff22a5c=10000a36=D ---------------------- 3.2ff22a54=10000a34=C ←おかしい 2ff22a5c=10000a36=D

  • 集合 補集合 閉包

    集合 補集合 閉包 補集合は、全体集合をUとすると全体集合からある集合Aを取り除いた部分の集合をAの補集合 と呼びます。記号では、Aバー,A^cなどで表されます。 閉包も同様にAバー,A^cの記号で表されますが、補集合と閉包は関係があるのでしょうか? また、閉包については理解が乏しいので、解説(図解)していただけると有難いです。 ご回答、よろしくお願い致します。

  • 【至急お願いします!】集合の問題です

    (a b) (-b' a') (a,bはCに属する:a',b'はa,bの共役複素数)の形の二次行列全部の集合をAとする。X,YがAに属する2つの行列ならば、X+Y,XーY,XYもAに属することを示せ。 またX=(a b) (-b' a') が零行列でなければXは正則行列で、その逆行列も正則行列である事を示せ。 と言う問題なのですがどのような方針で解いたら良いかすらわかりません! 出来るだけ詳しく教えていただけないでしょうか?

  • 情報科学の問題について

    大学で情報科学の授業を選択しなければならなく、そこでレポート課題を出されてしまいました。 今まで情報科学など全くもって触れてこなかった私は授業を聞いていてもチンプンカンプンでした… 教授に話を聞こうと思ったのですが、教授がレポート提出まで海外に行ってしまうらしく、ここに助けを求めさせて頂きます泣 正直何が分かっていないのか分からない程のレベルなので、どのような質問をすればいいのかも怪しいです… レポート課題は5つの設問があります。 1.終端記号集合 VN = {S, A, B}、終端記号集合 VT = {a, b, c} とする。文法 G の生成規則 P が次の ようになっているとする: S → a b c, S → a A b c, A b → b A, A c → B b c c, b B → B b, a B → a a A, a B → a a. この文脈依存文法 G が生成する言語 L(G) はどのようなものかを導出して一般形を定めなさい。 2.アルファベット A = {a, b} 上の言語 L が、同じ個数の a, b を含む全ての長さの語を含むとする: L = { w | 文字列 w 内の a と b の個数が等しい } 言語 L を生成する文法 G を定めなさい。 他の3つは図がついているものです。 とりあえずこの2つについて、どなたか返答して頂けると大変有り難いです。 宜しくお願い致します。

  • 行列の問題です。

    行列の問題です。 A,B:n×n行列 x:n×1行列 任意のxに対して、 (A+B)xとxの内積が0以上ならA+Bは正則と言えるのですか? よろしくお願いします。

  • ビット列の計算問題で不明な記号があります。

    情報科学系で、ビット列の掲載で悩んでいます。 「○」の中に「+」が入っている記号の意味がわかりません。教科書にも載っていませんでした。 次の●部分が”「○」の中に「+」が入っている記号”です。この意味が分かる方がいらっしゃいましたら教えていただけると助かります。 ---------------------------------------------------------------------------------- (1)ビット列A=111010,ビット列B=010110,ビット列C=011011に対し、(A●B)・Cの結果は(f)となる。 (2)ビット列A=110110,ビット列B=010111,ビット列C=010011に対し(A・B)●Cの結果は(e)になる ---------------------------------------------------------------------------------- 以上です。 よろしくお願いいたします。

  • PIC用のフリーCコンパイラはありますか?

    PICでプログラムを組みたくて、本屋で 「C言語によるPICプログラミング入門」 を買ってきました。 さて早速取り組もうと思ったのですが、いきなりCコンパイラは有料(高価)であるとのこと・・・T-T そこでフリーのCコンパイラについてご存知の方がいらっしゃいましたら紹介して頂けないでしょうか? 以上よろしくお願いします。

  • 初心者向けのコンパイラでお勧めなのはありますか?

    現在、独学でC言語の勉強をしています。まだ「printf」や「scanf」程度の段階です。 現在使用しているコンパイラは「Dev-C++ beta 9 release」というものですが、英語表記で使いづらいかな?と思うときがあります。 日本語表記で、これ以上に初心者が学習しやすいコンパイラがあれば教えてください。 よろしくお願いします。

  • [数学] 記号の組み合わせについての質問です。

    組み合わせについての質問です。皆さん一緒に考えてください。お願いします。 A B C D E 以上の4つの記号の1つ以上の組み合わせは A B C D A B C A B D A C D B C D A B A C A D B C B D C D A B C D の15通りで、15の記号列の記号が(順を問わず)連続して存在する「一列の最も少ない記号列」は B D A B C D C A になると思います。 これをA B C D E F G H Iの9つの記号で行うと、一列の最も少ない記号列はどのような並びの記号列になるでしょうか?