• ベストアンサー

ステートマシンとは分かりやすく言うとどういうものなのでしょうか?

ステートマシンとは分かりやすく言うとどういうものなのでしょうか? なかなか説明のあるところが少なくて。

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

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

よくある比喩なんだけど, 自動販売機を考えるのがいいんじゃないかなぁ. 今どきだと「いくら入れたか」が表示されるので, この「表示される金額」を状態だと思ってください. すると, ユーザーがお金を入れるとそのお金に応じて金額が変化しますし, なんかの商品のボタンを押すと商品を出して金額が 0 に戻る, と. この動作はステートマシンで表現することができます.

poyo3
質問者

お礼

なるほど。何かすごい特別な機能という感じではないんですね。機能というより考えかたかな。 なんとなくイメージ付きました。回答ありがとうございます。

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

その他の回答 (2)

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.2

Finite sate machine は日本語では有限状態機械です。まずそれを検索し、説明を読んでみてください。

参考URL:
http://ja.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3
poyo3
質問者

お礼

難しいですね。遷移図でなかなかイメージがつかめない感じです。 なれないせいですね。回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ん~, あなたにとって「わかりにくい説明」と「その説明のどこがわかりにくいか」がわかればなんとかなるかも....

poyo3
質問者

お礼

ステートマシンの意味というか定義というか全体のイメージがつかめないんです。 何か具体例でもあればよいのですけど。こんな機械とか、この製品のこの機能とか。

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

関連するQ&A

  • VHDL ステートマシン

    VHDLで記述したソースに対して、指摘を受けました。 『ステートマシンの状態をTYPEで宣言しているが、論理合成をしたときに、どのステートがどの値かが不明なため、実機デバッグをする際に、モニター出力した場合、ステートが確認できない。場合によっては、合成の都度、ステートのビット割付けが変わる。 ステートはconstant文を使って、設計者が値を割付けるべきである。』 ここでお聞きしたいのは、2点です。 (1)このご指摘は正しいのでしょうか。 (2)可能であれば、変更したくない(現状のままとしたい)のですが、どういった理由付けをすれば   いいでしょうか。

  • verilog HDLを使ったステートマシン記述について

    verilog HDLについての質問です。ステートマシンについてというよりは、文法的な質問になるかもしれません。 verilogでステートマシンを記述する際に、ステート内で使うのは、だいたいがif~else文かと思うのですが、elseを使わずに、if(条件)~if(条件)~・・・というように、必ず条件が一致すれば、順番に実行するというように記述することは可能でしょうか? よろしくお願いします。

  • state について教えてください。

    どうして state は「状態」「国家」「州」「~について述べる」等の意味を持つようになったのでしょうか。語源は「立っている状態・様」かと思います。特に「~について述べる」がよくわかりません。

  • nation stateについて

    nation-state(国民国家)というのが理解できそうでできません。今の英語の文章では、単にstateと表記されることもあります。  その起源と、使い分けを教えてください。

  • state-based exchange

    state-based exchangeとは何でしょうか? http://blog.soi.com/2012/01/25/soi-peo-defines-state-based-exchange/ に説明が載っているのですが説明内容がよくわからないので教えて下さい。 (日本語訳が知りたいのではありません)

  • iptablesのstateはudpでも使える?

    iptablesの-m state --state NEWはtcpでしか使えないと思っていましたが、udpでも使えますか? ヘルプを確認してみたのですが、特に触れられていないようです。 ヘルプ: state match options: [!] --state [INVALID|ESTABLISHED|NEW|RELATED|UNTRACKED][,...] State(s) to match 発見したサイト: http://h2np.net/mynotebook/post/425

  • off state?

    PC between printer is off state.

  • swing state

    以前、大統領選のニュースで、swing stateという単語が出てきたんですが、これってどういう意味ですか?

  • statusとstateの違いがいまいちよくわかりません

    英語の質問ですので、プログラミングの経験とか全く関係ないく、state及びstatusについての質問です。 しかしながら一応背景を申しますと、プログラミングをしておりまして、表示、非表示、保留(suspended)の状態を格納する変数の名前をstateにしようかstatusにしようかで迷ってるんです。。 goo辞典などで調べてもどちらも「状態」ですし。 statusをwikipediaで調べたら、次のようになってました。 status = state, condition or situation stateをwikipediaで調べたら、何だかUnited Statesのstateが書かれているみたいでした。(長ったらしくて読んでませんが・・) http://en.wikipedia.org/wiki/State ここを見る限り、 stateとは、政治的、社会的な状態のことを意味し、 statusとは、その他の状態的なことを意味するのでしょうか。 まあり英文法について詳しくないのですが、 numberとnumerousの違いのようなものでしょうか? つまり「数」と「数の」のように、「状態」と「状態の」のような。 (辞書ではどちらも「状態」であり「状態の」といった事は書かれてませんが・・。)

  • ATtiny2313でsleep_mode()関数でパワーダウンモード機能はステートマシンでは使えない?

    C言語プログラミングでアトメル社製ATtiny2313マイコンでプログラミングをやってます。 ATtiny2313のパワーダウンモード機能を使って割り込み入力端子、INT0、INT1端子を使って、入力の組み合わせでLEDを数パターンの点滅させるステートを作り、入力がない場合は、パワーダウンモードのステートで消費電流を節約するようにし、次の割り込みを待つようなプログラムを作っています。 ただ、パワーダウンモードのステートに入って、きっかけである”sleep_mode();”関数を使うと、割り込み入力でウェイクアップさせようとしてもLEDの点灯ステートに行っていないようで、完全にマイコンが動作停止してしまいます。 この時の状態をyoutubeに動画投稿しましたので参照をお願いします。 現在このプログラムは https://sourceforge.jp/projects/midicv/svn/view/trunk/LED_FLASHER/?root=midicv このサイトで”Download GNU tarball”をクリックでダウンロードできるようになっております。 この問題の原因がわかるかたいらっしゃいましたら是非ご教授よろしくお願い致します。 ちなみに、このプログラムファイル”LED_FLASHER.c”の224行目のsleep_mode();関数をコメントアウトすると、このステートマシンはちゃんと動作できていることを確認しております。こちらも動画で掲載しております。