[[2005/D7]]

このページは、学習ノートの例です。
ですのでここに掲載されているプログラムには間違いがあったり、場合によってはわざと間違いが埋め込まれている可能性がありますので注意してください。

目次
#contents

* 最初のプログラム [#y60960cd]

 // 最初のプログラム
 //
 //    作成者:せいじ、すとっぷ
 //    作成日:2005-10-14
 
 task main()
 {
     OnFwd(OUT_A);     //  Aのモータを正回転
     OnFwd(OUT_C);     //  Cのモータを正回転
     Wait(300);        //  プログラムの実行を3秒待つ
     Off(OUT_A+OUT_C); //  AとCのモータを止める
 }

-はじめてのプログラムです。ちゃんと動きました。 -- [[せいじ]] &new{2005-10-25 (火) 16:39:11};
-このように作成者と作成日時(変更日時)もプログラムの中にコメント文として書いておきましょう。 -- [[松本 (担当教員)]] &new{2005-10-25 (火) 16:40:04};

#comment


* 正方形に沿って動くロボット [#s8c1a5e2]

** とりあえず作ったプログラム: [#jef06e5e]

 // 正方形に沿って動くロボット
 //
 //    作成者:せいじ、すとっぷ
 //    作成日:2005-10-21
 
 task main()
 {
     OnFwd(OUT_A+OUT_C);  //  AとCのモータを正回転
     Wait(300);           //  3秒前進
 
     OnRev(OUT_C);        //  Cのモータを逆回転して右に旋回
     Wait(100);           //  1秒間旋回
 
     OnFwd(OUT_C); Wait(300);  // Cのモータを正回転して再び3秒間前進
     OnRev(OUT_C); Wait(100);  // 1秒間右に旋回
     OnFwd(OUT_C); Wait(300);  // 3秒間前進
     OnRev(OUT_C); Wait(100);  // 1秒間右に旋回
     OnFwd(OUT_C); Wait(300);  // 3秒間前進
     Off(OUT_A+OUT_C);
 }

-実はAのモータは最初から最後まで正回転のままでいい。 -- [[せいじ]] &new{2005-10-25 (火) 16:40:42};

#comment

** repeat を使って書き直したプログラム: [#b69ef232]

 // 正方形に沿って動くロボット (2)
 //  10/21に作ったプログラムを repeat を使って書き直した
 //
 //    作成者:せいじ、すとっぷ
 //    作成日:2005-10-22
 //    変更日:2005-10-23
 
 task main()
 {
     OnFwd(OUT_A);
     repeat(4){
         OnFwd(OUT_C); Wait(300); // 3秒間前進
         OnRev(OUT_C); Wait(100); // 1秒間旋回
     }
     Off(OUT_A+OUT_C);
 }

-不要な命令を極力少なくしました。 -- [[せいじ]] &new{2005-10-25 (火) 16:46:20};

#comment

** 定数を定義して書き直したプログラム [#k0662e7f]


 // 正方形に沿って動くロボット (3)
 //  10/23に作ったプログラムを #define を使って書き直した
 //
 //    作成者:せいじ、すとっぷ
 //    作成日:2005-10-22
 //    変更日:2005-10-23
 
 #define RUN_TIME 300
 #define TURN_TIME 100
 
 task main()
 {
     OnFwd(OUT_A);
     repeat(4){
         OnFwd(OUT_C); Wait(RUN_TIME); // 3秒間前進
         OnRev(OUT_C); Wait(TURN_TIME); // 1秒間旋回
     }
     Off(OUT_A+OUT_C);
 }
-repeat を使う前にこれ(定数)を使っていれば、もっとありがたさが認識できたかも。 -- [[せいじ]] &new{2005-10-25 (火) 16:51:00};

#comment

* 渦巻を書くプログラム [#fb0443b6]

 // 渦巻を書くロボット (1)
 //
 //    作成者:まいける
 //    作成日:2005-10-28
 
 int base_time;
 int plus_time;
 int plus_int;
 
 task main()
 {
     base_time = 120;
     plus_time = 0;
     plus_int = 40;
 
 repeat(120){
     OnFwd(OUT_A+OUT_C); Wait(base_time+plus_time);
     OnRev(OUT_C); Wait(turn_time);
     plus_time = plus_time + plus_int;
            }
 }
-プログラムの中にコメントつけるの忘れてました。今度つけます。 -- [[まいける]] &new{2005-10-28 (金) 17:36:41};
-変数の宣言と同時に変数を初期化しました (以下のプログラム) -- [[せいじ]] &new{2005-10-31 (月) 10:29:48};
-変数の宣言と同時に変数を初期化しておきましょう -- [[せいじ]] &new{2005-10-31 (月) 10:29:48};
-plus_time を少しずつ増やす命令は、+= を使うと少し短く書けますね。 -- [[せいじ]] &new{2005-10-31 (月) 10:31:18};

#comment

 // 渦巻を書くロボット (1)
 //
 //    作成者:まいける
 //    作成日:2005-10-28
 //    修正日:2005-10-31 (せいじ)
 
 int base_time = 120;
 int plus_time = 0;
 int plus_int = 40;
 
 task main()
 {
     repeat(120){
         OnFwd(OUT_A+OUT_C); Wait(base_time+plus_time);
         OnRev(OUT_C); Wait(turn_time);
         plus_time += plus_int;
    }
 }
-ずいぶんすっきりしたと思いますが、どうでしょう? -- [[せいじ]] &new{2005-10-31 (月) 11:07:32};
-base_time と plus_int は、変数よりも定数として使ったほうがいいか… -- [[せいじ]] &new{2005-10-31 (月) 11:09:49};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS