Name: 萌
    Date: 2000/02/27(Sun) 17:26
    Host: 202.231.45.193
    Title:qa_[255] タスクについてです。
    --------------------------------------------------------
    2ヶ月ほど前から,Spirit.ocxを使いVBでプログラミングに挑戦しています.プログラ
    ムの例などで,タスクがよく出ていますが,いまいちどうゆうものなのか分かりません
    .MindStorms情報局も見てみたのですが,理解力不足で,はっきりしません.
    タスクが,どういうものなのか教えて下さい.よろしくお願いします.

    Name: JinSato
    Mail: JinSato@mi-ra-i.com
    Date: 2000/02/27(Sun) 23:39
    Host: 207.236.16.161
    Title:qa_[258] Re: タスクについてです。
    --------------------------------------------------------
    お〜、既にお話は終わってしまっていますが。
    私も mac さんと同意見です。 Spirit.ocx を使って RCXのプログラムをする場合、
    パソコン側のソフトとなにか連携プレイをする場合は利点を感じますが、変数のアクセ

    方式や、Spirit.ocxの中の制約の中でのプログラムの作成を考えると、
    プログラムがとても理解しにくいものになりがちです。

    その点、NQCはC言語に似せた文法を持っていて、とってもシンプルですので、
    本質的な部分が見やすいと私は思います。


    最後に、タスクですが、

    仮に、家の中に、お手伝いさん2にんいたとします、お手伝いさんAさん、Bさん
    に、たとえば、「Aさん、お洗濯お願いします」、「Bさん、お掃除お願いします」
    と言う風に 依頼することができますよね〜。
    そうすると、お手伝いAさん、Bさんは、それぞれ同時に作業を開始してくれます
    このようなことが出来るのが、タスクです。

    もしも、お手伝いさんがいなくて、全部自分で行う場合は、
    こんな感じですね〜、「え〜っと、今日は洗濯して、お掃除しなきゃ〜」と
    言う風に、自分で一生懸命するわけです。
    で、体1つしかない自分で、この洗濯する、 お掃除すると言うのは、同時進行が
    出来ないわけです。


    という感じなんですが、NQCだったらこんな風に書きます。

    // お手伝いさんが、いてタスクにするばあい
    task Sentaku()
    {
    // 洗濯をする
    }
    task Souji()
    {
    // 掃除をする
    }

    // main というタスクは、NQCの場合はならず必要で、プログラムはここからはじまり
    ます。
    task main()
    {
    start Sentaku; // 洗濯のタスクを開始
    start Souji; // 掃除のタスクを開始
    }

    ///////////////////////////////

    という感じです。 これを Spirit.ocx で行おうとすると、結構面倒なんですよね〜
    まず、Sentaku や Souji のような固有名詞を使ってプログラムするのではなくて
    タスク番号を決める必要がありますよね。
    たとえば、洗濯は、タスク番号2 を使って、掃除はタスク番号3をつかって
    なんて、そして、そのタスクを定義してやる必要があります。

    ,,,,

    ということで、プログラムの本質的な部分が表現しやすいNQCの方が
    理解が早いと思いますよ〜。


    Host: 202.231.45.193
    Title:qa_[261] お返事ありがとうございます。
    --------------------------------------------------------
    > お〜、既にお話は終わってしまっていますが。
    > 私も mac さんと同意見です。 Spirit.ocx を使って RCXのプログラムをする場合、
    > パソコン側のソフトとなにか連携プレイをする場合は利点を感じますが、変数のアクセス
    > 方式や、Spirit.ocxの中の制約の中でのプログラムの作成を考えると、
    > プログラムがとても理解しにくいものになりがちです。
     
    はい,とっても理解しにくくてすぐ考え込んでしまいます。

    >
    > その点、NQCはC言語に似せた文法を持っていて、とってもシンプルですので、
    > 本質的な部分が見やすいと私は思います。
    >
    >
    > 最後に、タスクですが、
    >
    > 仮に、家の中に、お手伝いさん2にんいたとします、お手伝いさんAさん、Bさん
    > に、たとえば、「Aさん、お洗濯お願いします」、「Bさん、お掃除お願いします」
    > と言う風に 依頼することができますよね〜。
    > そうすると、お手伝いAさん、Bさんは、それぞれ同時に作業を開始してくれます
    > このようなことが出来るのが、タスクです。
    >
    > もしも、お手伝いさんがいなくて、全部自分で行う場合は、
    > こんな感じですね〜、「え〜っと、今日は洗濯して、お掃除しなきゃ〜」と
    > 言う風に、自分で一生懸命するわけです。
    > で、体1つしかない自分で、この洗濯する、 お掃除すると言うのは、同時進行が
    > 出来ないわけです。
    >
    >
    > という感じなんですが、NQCだったらこんな風に書きます。
    >
    > // お手伝いさんが、いてタスクにするばあい
    > task Sentaku()
    > {
    > // 洗濯をする
    > }
    > task Souji()
    > {
    > // 掃除をする
    > }
    >
    > // main というタスクは、NQCの場合はならず必要で、プログラムはここからはじまります。
    > task main()
    > {
    > start Sentaku; // 洗濯のタスクを開始
    > start Souji; // 掃除のタスクを開始
    > }
    >
    > ///////////////////////////////
    >
    > という感じです。 これを Spirit.ocx で行おうとすると、結構面倒なんですよね〜

    お〜!分かりやすい例ですね。
    よく分かりました。

    > まず、Sentaku や Souji のような固有名詞を使ってプログラムするのではなくて
    > タスク番号を決める必要がありますよね。
    > たとえば、洗濯は、タスク番号2 を使って、掃除はタスク番号3をつかって
    > なんて、そして、そのタスクを定義してやる必要があります。
    >
    > ,,,,
    >
    > ということで、プログラムの本質的な部分が表現しやすいNQCの方が
    > 理解が早いと思いますよ〜。

    NQCの方もがんばってみます!丁寧なお返事ありがとうございました。
    Name: mac
    Mail:
    URL: http://www.line.to/mac/MindStorms
    Date: 2000/02/27(Sun) 22:35
    Host: 210.161.82.78
    Title:qa_[256] 急がば回れ
    --------------------------------------------------------
    > タスクが,どういうものなのか教えて下さい.よろしくお願いします.

    2ヶ月努力されても、うまくなかったようですと、ここで、簡単に説明し、ご理解いた
    だくのは無謀ですね。

    急がば回れで、一旦sprit.ocxを離れ、NQCに挑戦して見ることをお勧めします。

    幸いにして、別のスレッドで書いたとおり、良いチュートリアルがあり、しかも日本語
    に訳されています。

    マルチタスクは、sprit.ocxに限らず、ロボット制御の必須科目ですので、NQCでも学ぶ
    事ができます。

    言語が違うと表現は変わりますが、本質に変化はないので大丈夫です。
    Name: 萌
    Date: 2000/02/27(Sun) 23:18
    Host: 202.231.45.193
    Title:qa_[257] お返事ありがとうございます
    --------------------------------------------------------
    > > タスクが,どういうものなのか教えて下さい.よろしくお願いします.
    >
    > 2ヶ月努力されても、うまくなかったようですと、ここで、簡単に説明し、ご理解いただくのは無謀ですね。
    >
    > 急がば回れで、一旦sprit.ocxを離れ、NQCに挑戦して見ることをお勧めします。
    >
    > 幸いにして、別のスレッドで書いたとおり、良いチュートリアルがあり、しかも日本語に訳されています。
    >
    > マルチタスクは、sprit.ocxに限らず、ロボット制御の必須科目ですので、NQCでも学ぶ事ができます。
    >
    > 言語が違うと表現は変わりますが、本質に変化はないので大丈夫です。
    NQCにも挑戦してみようと思います。わざわざ、ありがとうございました。
    Name: JinSato
    Mail: JinSato@mi-ra-i.com
    Date: 2000/02/28(Mon) 01:57
    Host: 207.236.16.161
    Title:qa_[260] Re: お返事ありがとうございます
    --------------------------------------------------------
    > NQCにも挑戦してみようと思います。わざわざ、ありがとうございました。
    2月28日のWatch でも紹介しました、 伊藤さんが作られた Windows CE用の
    NQCの環境があり、それが、 Windows95・98・NTでも動くものがあります。

    これを使うと、メモ帳のような基本的なエディターと、コンパイラが一体となっていて
    プログラムをコンパイルすることも簡単に出来ます。
    (DOS画面などで行わなくても良い)

    基本的な機能を持っていて、シンプルで分かりやすいと思います。


    また、RcxCCというのもあり、こちらの方は多機能なものになっています。

    ということで、まずは

    http://www.mi-ra-i.com/JinSato/MindStorms/nqc/index.html

    をみて、自分にあったソフトをものを使うと良いと思います。