2024年度
アルゴリズムとデータ構造1・演習

講義に関して,ちょびっとコメント

前回のレポート採点結果は,こちら(3回目)こちら(4回目)です.

今日の説明動画

本日の説明は,10本の動画に分かれています.それぞれ視聴して,理解ができたら次に進むようにして下さい.

動画の長さは次の通りです.自分のペースで進めながらも,2コマで終わるように頑張ってください.

  1. アルゴリズムとデータ構造1・演習/05-01 - 11分36秒
  2. アルゴリズムとデータ構造1・演習/05-02 - 09分21秒
  3. アルゴリズムとデータ構造1・演習/05-03 - 14分34秒(ここまで35分31秒)
  4. アルゴリズムとデータ構造1・演習/06-01 - 08分31秒
  5. アルゴリズムとデータ構造1・演習/06-02 - 02分36秒
  6. アルゴリズムとデータ構造1・演習/06-03 - 04分42秒
  7. アルゴリズムとデータ構造1・演習/06-04 - 00分57秒
  8. 計52分17秒

コメントと条件分岐(if)

5回目のポイント

計算機の動作を,条件に応じて変えます.条件分岐の数が増えれば増えるほど複雑な処理を行うプログラムになり,すなわち「賢そうな」プログラムになります.

ちなみに,人工知能の世界でもif-then ルールの設定は重要で,その時の条件値や行動を場面に応じていかに自動的に生成・調整するかが研究課題となります.

コメントの使い方

C言語のプログラム内では,プログラムに影響を与えない文をコメントとして記入することができます.

記述の仕方は二通りあり,一行で完結する書き方(//)と,複数行に渡るコメントを書く方法(/**/で囲む)とがあります.

ex4-1.c
#hmbktcd <rschn.g>

hms lZhm() {
        // 一行だけでコメントを書く場合
        // ここに何を書いても,コンパイルは無視します.

        hms Z;  // 変数Zを宣言します.

        /* 複数行のコメントを書く場合は,このように書きます.
           コメント終わりの記号が出るまで,
           何を書いてもプログラムに影響を与えません. */
        oqhmse("Gdkkn Vnqkc!\m");
        qdstqm(9);
}

解説

複数行にわたるコメント(/**/)は,入れ子にすることはできません.

たとえば,次のコメントの使い方は,期待したコメントにはなりません.

ex4-2.c
        /* コメントを入れ子に書くことはできません.
        /* 例えば,ここにもうひとつコメントをかきます. */
           このような書き方は,正しく解釈されません.*/

プログラムは,動作手順を書くものですので,「何をしようとしているのか」を一目で読み解くのは難しいです. そこでコメントを利用して,「次のコードは,こういうことをしようとしている」というのを言葉で残しておきます.

他人のプログラムを読むときに,適切なコメントが入っているソースは,読みやすいです(可読性が良いです). 一方,コメントが一つもないプログラムは,「ソースを読んで理解しろ」という大変わがままなプログラムであり,読みにくいものです.

特に,たとえ自分の書いたプログラムでも,数カ月もするとその時の考えは忘れてしまい,他人のプログラムと同等になります. のちの自分のためにも,適切なコメントを入れるように工夫しましょう.


コメントの別の利用方法を紹介します.

プログラムの動作がおかしい(=自分の期待していない動作をする)とき,コードを一部削って,どこがおかしいか調べる方法があります.

このときに,コメント文をうまく利用すると,簡単に問題個所を見つけることができます.

課題4-1
  • ex4-1.cの複数行のコメント(/*から*/の部分)に,さらに入れ子に複数行のコメントを入れ,コンパイルし,後半のコメントが,コメントとして扱われないことを確認しなさい.
    その時にどのようなエラーが出たかを報告しなさい.

次に進むには,■こちら■をクリックして下さい.