6/1 課題(グループ)解答例 



  1. 暗証番号「abac」が入力されたときに解錠する(終状態になる)電子錠. 「abac」が全部入力されて始めて解錠する,途中で間違えるとやり直しが効かない,「abac」の後に何か入力しても二度は解錠しない(練習済み).
    入力 終了状態
    無し -> No
    a -> No
    ab -> No
    aba -> No
    abac -> Yes
    abaca -> No
    aabac -> No
    abacabac -> No
    

  2. 暗証番号「abac」が入力されたときに解錠する(終状態になる)電子錠.ただし,途中間違った暗証番号を押しても後から「abac」と入力すれば解錠するものとする.また一度解錠した後は何を入力し続けても解錠状態となる
    入力 -> 終了状態
    aba -> No
    abaababbac ->  No
    abac ->  Yes
    ababac ->  Yes
    abacbc ->  Yes
    abababac ->  Yes
    

  3. 暗証番号「abac」が入力されたときに解錠する(終状態になる)電子錠.ただし,途中間違った暗証番号を押しても後から「abac」と入力すれば解錠するものとする.また「abac」と入力された後,何か入力されたら施錠する(終状態でなくなる)ものとする.そのあと,更に「abac」と入力すると,再び解錠する.
    入力 -> 終了状態
    aba ->  No
    abaababbac ->  No
    abac ->  Yes
    ababac ->  Yes
    abacbc ->  No
    aaabac ->  Yes
    abababac ->  Yes
    abacabcabac ->  Yes
    

  4. 暗証番号「aba」または「acaca」が入力されたときに解錠する(終状態になる)電子錠.途中で間違えるとやり直しが効かない.一度解錠したら,それ以降はずっと解錠し続ける.
    入力 -> 終了状態
    ab  ->  No
    acac  ->  No
    aba  ->  Yes
    acaca  ->  Yes
    ababa  ->  Yes
    bbacaca  ->  No
    aaaba ->  No
    baacaca ->  No
    babaca  ->  No
    bacacacc  ->  No
    

  5. 暗証番号「aba」または「acaca」が入力されたときに解錠する(終状態になる)電子錠.ただし,途中間違った暗証番号を押しても後からどちらかの暗証番号を入力すれば解錠するものとする.また一度解錠した後は何を入力し続けても解錠状態となる
    入力 -> 終了状態
    ab  ->  No
    acac  ->  No
    aba  ->  Yes
    acaca  ->  Yes
    ababa  ->  Yes
    bbacaca  ->  Yes
    aaaba ->  Yes
    baacaca ->  Yes
    baacbca ->  No
    abaca  ->  Yes
    acacacc  ->  Yes
    

  6. 入力の中のaの文字の数が偶数なら終状態(Final State)になるもの
    入力 -> 終了状態
    無し  ->  Yes
    a  ->  No
    ab  ->  No
    abac  ->  Yes
    babac  ->  Yes
    baaac  ->  No
    bababbaac  ->  Yes
    

  7. 入力の中のbの文字の数が3の倍数なら終状態になるもの
    入力 -> 終了状態
    無し  ->  Yes
    a  ->  Yes
    ab  ->  No
    abbac  ->  No
    bababc  ->  Yes
    babbaabc  ->  No
    babbbbaabc  ->  Yes
    bababbbaabbac  ->  No
    

  8. 入力の中のcの文字の数が偶数か3の倍数なら終状態になるもの.
    入力 -> 終了状態
    無し  ->  Yes
    a  ->  Yes
    ab  ->  Yes
    abbac  ->  No
    acbbac  ->  Yes
    caaccb  ->  Yes
    cacaccb  ->  Yes
    cacacccb  ->  No
    cacacabbcccb  ->  Yes
    ccacacabbcccb  ->  No
    

  9. ab, aab, abb, aaab, aabb, abbb, ... のようにaがn(n>0)個並んだ後にbがm(m>0)個並ぶなら終状態になるもの
    入力 -> 終了状態
    a -> No
    b -> No
    aa -> No
    bb -> No
    ab -> Yes
    aaab -> Yes
    abbb -> Yes
    ba -> No
    aaba -> No
    aaaaaaaba -> No
    aaaaaaabbbbbbbb -> Yes
    

  10. bを空白文字,aをアルファベットだと考える.単語はアルファベットが1文字以上連続したもので,単語と単語の間は1つ以上の空白文字で区切られている.単語数が奇数の時に最終状態となるもの.
    ヒント: 入力の最初と最後に空白文字が来ることがあるので,空白文字の連続を数えるのではう まくいかない.
    入力 -> 終了状態
    bbbaaaaabbb -> Yes
    aaaabbbaaaa -> No
    abaaaabbaaab -> Yes
    aaaabbaaaaabbbaaabbbaaaabbaaa -> Yes
    

  11. 自転車の追い抜き競技同時に出発して,チームAがスタート地点を通過したらa, チームBがスタート地点を通過したらbを入力する.スタート地点で1週以上差がついたら最終状態になる.一度最終状態になったらそれ以降は最終状態を続ける
    入力 -> 終了状態
    a -> No
    aa -> Yes
    ababa -> No
    babaa -> No
    abbaaa -> Yes
    abbaaab -> Yes
    ababbaabba -> No
    

  12. 150円投入するとジュースを出す自動販売機を模倣するオートマトン.ただし,「a」を100円玉の投入,「b」を50円玉の投入,「c」を購入ボタン,「d」取消・返却ボタンとして,ジュースを出すとタイミングが終状態となり,残額は返却ボタンを押すまで自動販売機にたまるものとする.ただし自販機にお金がたまるのは200円までと仮定してよい.お金が150円未満の時に購入ボタンを押しても何も起きないものとする.
    入力 -> 終了状態 (注)
    abc -> Yes (100円・50円・購入)
    abca -> No (100円・50円・購入・100円)
    abcac -> No (100円・50円・購入・100円・購入)
    bbbc -> Yes (50円・50円・50円・購入)
    bac -> Yes (50円・100円・購入)
    aac -> Yes (100円・100円・購入)
    aacac -> Yes (100円・100円・購入・100円・購入)
    ac -> No (100円・購入)
    acbc -> Yes (100円・購入・50円・購入)
    aacac -> Yes (100円・100円・購入・100円・購入)
    adbc -> No (100円・返却・50円・購入)
    adbcac -> Yes (100円・返却・50円・購入・100円・購入)
    

  13. 「ab」を「文字キー」、「c」を「ロックキー」だとする。次のような電子錠。最初は解除状態(=終了状態)だとする。解除状態のときは、ロックキーが押される直前に押された2つの文字キーをパスワードとして覚えてロック状態になる。ロック状態のときは、パスワードが正しく押されるまで解除状態にならない。
    入力 -> 終了状態 (注)
    abcab -> Yes (abでロックabで解除)
    abcabbbcab -> No (その後bbでロックabで解除できない)
    abcabbbcabb -> Yes (がabbの後2文字でロック解除)
    

    なお,締め切り直後に以下のような回答を提出したグループがあった.テストには通るが,これは不正解である.