2024年11月06日 第8回

  1. これまで長々とコードを書かなくてはならなかったものが関数やマクロによって一気にプログラミングコードを書きやすくなったように感じる.
    ただし課題8のマクロのように望ましくない動きをしてしまう場合もあるため,
    使い分けをしっかりできるようにしたい.

    適宜考えてくれたら良いと思います.

  2. いつもよりも多めに予習してきたので今日のプログラミングの授業課題はサクサク進めることが出来た.

    素晴らしい.この調子でお願いします.

  3. 今日学んだ,
    関数を使うことでメイン関数の中がすっきりとしコードが途端に読みやすくなった気がした.
    何でもかんでも関数にするのが良いとは思わないが,
    機能ごとに関数にするといったことはミスを見つけるのにも役立ちそうだなと感じ,
    関数の便利さを実感することができた.

    その通りだと思います.この調子でお願いします.

  4. プログラムにおける関数について理解することが出来ました.
    また,
    ファイルの分割方法も理解することが出来ました.
    この授業でプログラミングに触れているうちに,
    ゲームやソフトウェアなどの複雑なコードはどれほどのファイル容量になってしまうのだろうと疑問に思っていたので,
    分割して,
    リンクさせるという方法で解決しているのかと腑に落ちました.
    この分割を効率的にやるためにも,
    フローチャートは大切なのだと感じました.

    そうですね.大きくなればなるほど,あらかじめ設計しておかないとダメですね.

  5. オプション課題3において,課題2で定義した3つの関数を関数形式マクロに置き換えながらも,それ以外の部分は変更しないで課題3と同じ出力結果を出すのはできないのではないかと思いました.なぜなら,関数形式マクロのみでprintfを実行できないと思ったからです.結局,私はmain関数も書き換えて,main関数内でprintfを実行しました.関数形式マクロのみでもprintfはできるのでしょうか?

    マクロで複数のstatement を定義できるので,できると思います.
    試してみたら,printf文を含むものはできました.

  6. 従来はif文などを繰り返し使っていたコードを,
    関数を用いることでより簡潔にわかりやすく表現することが出来て便利だと感じた.
    また関数を用いる際には関数を定義する段階と,
    関数を呼び出す段階があり,
    その手順を踏むのに慣れが必要だった.

    理解できていると思います.

  7. 今日の課題は最近で一番簡単だと思いました.課題4でvoid型指定だと勘違いして躓いたので, 問題文をよく読むことと, 型によってなにができるのかを意識して問題に取り組もうと思いました.

    そうですね.落ち着いて取り組んでもらうのが良いと思います.

  8. forやifなどのよく使う構文にかなり慣れてきました.

    よろしいと思います.

  9. 今回は関数の扱い方について学び,
    最初に関数を定義し,
    呼び出して利用するという手順を覚えることができた.
    また,
    課題5の累乗を考える際にx *= zを利用しようとしたが,
    x=1を定義し忘れていたことに気づくのに時間がかかってしまったので,
    基本もしっかりと見直したいと感じた.

    そうですね.初期化は大切ですね.

  10. 自分で新たに関数を定義する方法を知ることが出来た.
    これまでなんとなく使っていたmainも関数であることが分かった.

    理解してくれているようでよろしいと思います.

  11. 回を重ねるごとに,
    コードが長くなって何をどこで設定したのかがわかりにくくなっていたので,
    今回の関数を使うことで,
    後から見返してもわかりやすいコード作りがしやすくなったと思う.
    また,
    今まで習得してきたものと組み合わせることでより表現できるものが増えていくのを実感した.
    一方で,
    いまだにintやdouble等の型を合わせることを忘れてコンパイルエラーになることが多いので,
    今後は型の確認も忘れずに行っていきたい.

    コンパイルエラーはコンパイラが知らせてくれるのでまだマシだと思います.

  12. mainや,
    voidの意味が分かった.
    これからは,
    疑問点は直ぐに調べて解消する.

    よろしいと思います.

  13. for文の扱いが前回や前々回の課題よりも頭を整理して,
    扱うことができた.
    なので諦めずにプログラミングの演習をこれからも積み重ねていこうと思いました.
    ところでオプション課題は取り組まないと減点されてしまうのでしょうか.
    前回の課題では普通の課題で精一杯であったため教えていただけると幸いです.

    減点はされないです.

  14. 関数を多くのファイルに分けて作成することで,
    他のプロジェクトでも再利用できる利点があるが,
    その一方で,
    ファイルが膨大に増えると,
    どの関数がどの目的で使われているのかが分かりづらくなる可能性があると感じた.
    そのため,
    適切に分類し,
    コメントで整理する力が非常に重要だと感じた.
    そういった力がないと,
    関数が増えることで逆に管理が煩雑になり,
    効率的な開発が難しくなる恐れがあると感じた.

    そうですね.うまく対応しておくのが大切ですね.

  15. 今回の課題はここ2回分と比べると比較的理解しやすくやりやすい課題だと思った.
    まだランダム関数の扱いが自分では難しいのでここを重点的に復習したい.

    復習はしてください.

  16. main関数の中で計算するのと,
    ほかに関数を作って計算する違いの恩恵があまりわからない.
    教室が寒かった.

    関数化した方がメインの中がわかりやすくなり,
    また,どこでどのような処理をしているのかが分割できていることになるので,
    処理を変更したいときに便利です.
    また,同じ処理を異なるパラメータで計算したいときに, main関数の中でダラダラ書いてしまうと分かりにくくなりますね. 寒いときは言ってください.

  17. 今までやったことのある問題を関数を使って書くと綺麗にコードをまとめることができた.
    関数の課題でなくとも関数をうまく使っていけるようになりたい

    そうなってください.

  18. 関数は同じことを何回か行うのに特に便利だと思いました.
    また,
    今回の課題では前回までの内容をより効果的に用い,
    少しでも分かりやすくできないか考えながら取り組みました.

    そうですね.便利ですね.

  19. 戻り値の有無で何が異なるのか,
    ちゃんと理解できてないので,
    復習しようと思う.

    そうしてください.

  20. 関数やマクロを扱えるようになってから,
    コードの書き方の選択肢がかなり増えたように感じます.
    より効率的でわかりやすいコードを書くために,
    今後はより熟考が必要だと思いました.

    素晴らしい.

  21. 関数の引数が無時と戻り値が無時はプログラミング以外であまり見たことがなっかたので最初戸惑った.

    確かにそうですね.あまりないと思います.

  22. 今回は比較的解きやすい課題でいつもより早く終わった.
    関数の戻り値の意味があまり理解できてなかったけど,
    課題9を解くために,
    教科書を読み返したら理解できた.
    関数は便利なツールだと今回実感できた.

    その通り,便利です.

  23. 最初は戻り値を返すものと返さないものの違いが何を言っているのか詳しく理解できなかったが,
    演習をするにつれて違いを理解することができた.

    よろしいと思います.

  24. 前回の課題にて,
    魔法陣や行列を表示させるといったものがあった.
    毎回コーディングするとなると負担が大きいだろう.
    そこで,
    今回の授業を踏まえると,
    行列計算や行列の表示,
    魔法陣の生成を事前に関数で定義して,
    別のファイルに保存していくことで,
    本体の関数で目的のファイルの関数を呼び出すだけでコーディングすることができるため,
    関数はとても便利だと思った.
    一つ質問があるんですが,
    コンピュータの環境設定にて関数を定義してテンプレート化すること,
    別ファイルで関数を定義しておくことのそれぞれのメリット・デメリット等はありますでしょうか.

    そうですね.使うであろうものを関数として用意するのは良い考えだと思います.

  25. いままでvoidの意味を知らずに関数を作っていましたが,
    変数の型が空(言い方がわかりませんが)的な時に用いると分かりました.

    まぁ,空といっても良いかもしれません.

  26. 今回の課題の範囲では,
    戻り値を変数に代入しなくて良いという点で,
    int型よりvoid型の関数の方が扱いやすいように感じた.

    それは色々ですね.なんとも言えないと思います.

  27. 予習で教科書の問題を解いてみたとき引数のある関数の中にprintfをかいたり引数のない関数の中にreturnをかいてしまいそれが間違いであることに気づけなかったが,
    今回の丁寧な課題のおかげで間違いに気づくことができ,
    理解が深まった.

    「引数のある関数の中に...」とありますが,一概に間違いではないと思いますが,
    具体的にどの問題でしょうか.

  28. 関数を最初に知った時は,
    使い道を感じなかったが,
    ゲーム作りなどで何度も関数を使いまわすときにその有用性に気づけた.
    しかし今までマクロは使ったことがなく,
    今回使った感じでは,
    処理速度と型を問わない,
    という点が優れているとわかったが,
    思わぬ動作をするという点でバグの原因になりかねないので,
    あまり有用性はないのかと感じた.
    実際に使うことでさらなる利点に気づくかもしれないので,
    今後使える場面では使ってみようと思う.

    そうですね.両方使えるようになるのが大切ですね.

  29. 今回は関数について学んだ.
    関数形式マクロの注意点を課題を通じて理解できた.
    また今回の演習では関数がメインだったが,
    今まで学んだ配列やfor文,
    if文をうまく活用し課題をこなすことができた.

    よろしいと思います.

  30. 今日の演習ではc言語においての関数を練習しました.
    今まではfor, whileなどだけ使ってコード作っていましたので,
    関数を使った方が便利だと思いました.
    今日は簡単な関数だけ勉強しましたから,
    来週はもっと複雑な関数を作りたいと思います.

    関数を使うと綺麗になると思います.

  31. 関数形式マクロが期待通りに動作しない場合があることが驚きだった.
    関数形式マクロを使えば,
    処理が高速化できるけれど,
    通常の関数のように使ってしまうと思わぬ落とし穴があるという点で注意しないといけないなと感じた.
    関数形式マクロを使うと処理が順次実行されるというより,
    関数の形に展開されてそれが実行されるというイメージをよく覚えておこうと思う.

    そうですね.間違えないようにして,うまく使ってください.

  32. 今回の内容はいつも階層が1つ違う,
    新しいものだったので少し難しかったです.
    いつも繰り返しの入れ子構造を作るときはfor文を使っていたので,
    whileで入れ子構造を作るときは変数の宣言の位置に気を付けなければいけないことを今回初めて知りました.
    課題では出なかったですが,
    講義にあったファイルを分割するのは,
    どのようなときに行うのでしょうか?1つにまとめていた方がいいと思ってしまいます.

    次回触れますが,一人で開発するのであれば,まとめたものでもよいですね.
    ただ,ある定型的な関するを用意するのであれば,別ファイルですね.

  33. いままではコードを考えるより前に#include<stdio.h>int main(void){までを書いていたが,
    今回学習したことを踏まえると,
    main関数をどこに書くかについても考慮が必要であると感じた.
    また,
    これまでは何も考えずにint main(void)と書いていたが,
    これはintの戻り値を返し,
    引数を取らないmainという名前の関数であることが分かった.

    理解はしてくれているようですね.

  34. 今回はpythonでいうdefのようなものを習いました.
    一方関数形式マクロは初めて聞いたもので,
    呼び出しの際に渡す引数がどのような型でも使えるという点はいいなと思いました.
    ただどのような型でも受け取ってくれるがゆえに誤った型を指定するミスが起きそうなので注意しようと思いました.

    注意してください.

  35. time コマンドの出力結果の読み方があまり分かりませんでした.
    今回,
    全角スペースが入力されていたのが原因でエラーが出たので,
    これからは気を付けたいです.

    分からない場合は質問してください.

  36. 関数を活用することでプログラムが整理され,
    効率的に書けるようになると感じました.
    今後は,
    関数を使ってさらに複雑なプログラムを作成できるようにしたいです.

    そうですね.それが良いですね.

  37. 本日の講義では関数を呼び戻すコードを作成した.
    処理の手順が多い時ほどmain関数のほかに関数を作って呼び起こすことでまとまりのある整理されたコードができると感じた.
    また,
    関数の定義の仕方によって結果が異なることがあると知り,
    できるだけmain関数で文字をまとめたうえで定義した関数に代入することは大事だと感じた.

    まずは間違いのないものをつくることが大切ですね.

  38. 課題9のように以前やった課題と同じ出力になっても,
    違う書き方で書けることが分かった.
    正直そこまで差があるようには感じられなかったが,
    どのように書き分ければよいのか.

    これは一概には言えないですね.

  39. 本日は関数について学ぶことができました.
    特に,
    マクロで宣言する際には注意を払う必要がある点について分かりました.

    注意をしてください.

  40. 今回のコードは複雑なものが少なく最初の方に習ったことの復習も兼ねることができたので成長につながったと思います.

    素晴らしい.

  41. 今回の演習では,
    関数を用いたことによるミスが多かった.
    なので,
    より一層フローチャートを駆使して,
    ミスを減らしていきたいです.

    はい,ぜひそうしてください.

  42. 今回の課題では,
    void型関数が戻り値を返さないことを学びました.
    void型の関数では,
    普通の関数をreturnの後に返すべき値を書かなくてよく,
    理解することで便利に使いこなせそうだと思いました.

    色々と使いこなしてください.

  43. 今回は,関数について学んだ.短いコードでは関数のありがたさがわからないが,これから書いていくコードでは必ず役に立つと思うのでしっかり復習しておきたい.また,昨日学習していたコンパイルの仕組みが,マクロ関数の優先順位の部分を問題で出たのは嬉しかった.

    役立ちますよ.

  44. マクロ関数は関数を複数回使う際に非常に便利ですが,
    使う際には演算の順序に気を付ける必要があるとわかった.

    その通りです.

  45. 引数と返り値を理解することで,
    関数を使ってデータを受け渡しする仕組みが分かった.

    よろしいと思います.

  46. 今回は関数について学びましたが,
    以前からreturnは何のために書いていたのかが理解できてとても興味深かったです.
    またmain関数の内容が多くなっていたのが関数の定義を分けることでmain関数内がとてもすっきりしていてコードの見直しがしやすかったと感じたので,
    今後はできるだけ使用していきたいと思いました.

    素晴らしい.その通りですね.

  47. 今回の課題を通して特に課題のマクロは計算順序や置換の影響でバグが発生しやすいことがプログラムを通してわかった.
    実際に実践的なプログラムの中でマクロと関数のどちらを選択して使うべきか,
    具体的な基準があれば知りたいと思った.

    これは一概には言えないですね.

  48. 今回は関数を使ったプログラミングについて学びました.
    一つの処理ごとに関数を使うことで,
    コードが見やすく,
    理解しやすくなりました.
    今回の演習では使いませんでしたが,
    ファイルを分けて行うプログラミングは,
    今後仕事としてプログラミングをする場面では必須になってくることだと思いますので,
    今のうちから練習しておこうと思いました.
    また,
    マクロというものがどういうものなのか今一つ理解しきれていないので,
    そのことについても学んでいきたいと思います.

    分からない場合は質問してください.

  49. 今回の講義では,
    主に関数について学んだ.
    ソースコードを書く中で今まで繰り返し打ち込んできていたものを,
    一つの塊にまとめて短い入力量で済ませることができる関数の有用性を実感できた.
    しかし,
    楽をしようとするときは決まってミスが生じるもので,
    今回の演習でもミスの原因となりうる関数マクロが紹介されていた.
    便利なツールを濫用するのではなく,
    その意味とそれを使うのに適切な場面を見極め,
    ミスに振り回されることのないように運用していきたいと思った.

    まぁ,でもみなさんは楽をしたいよね.

  50. 課題8の()の有無による結果の違いを見て,
    これからコードを書くときに()や=の位置,
    定義する順番などに気を付けようと思いました.
    最近は資料を見ることなくコードが書けるようになってきたのでこれからも演習を積んでいきたいです.

    間違いがないようにしてくれたら良いと思います.

  51. 指定した変数がどの範囲で有効なのかを見極めて使いたいです.また,配列のように,同じ作業を何度も繰り返す作業,例えば前回では行列の和と差と積を求めるような場合で関数は使う価値があると感じました.加えて,今回の課題では分割は使いませんが(オプション課題はまだ手を付けていないためわかりません)自分で使えるところがあれば使いたいです.

    ぜひ使ってください.

  52. 本日は,
    関数の定義と呼び出しについて学びました.
    特定の関数をmain関数の外に作ることで,
    コードが全体的に見やすくなったように感じました.
    また,
    複数の場所で用いる場合などに非常に便利なので,
    積極的に使っていきたいです.
    マクロはシンプルに書ける分,
    厳密性がなく期待通りにならない場合も多々あるようなので,
    使う際には十分注意したいと思います.
    条件分岐に関して,
    今までは,
    自分にとってif文の方が理解しやすいためほとんどの場合if文を用いていました.
    しかし,
    今回のオリンピック開催年の判断では,
    値が返ってくる際にif文だと少し冗長になると思ったので,
    switch文を使いました.
    この課題を通して,
    switch文の使い方のコツがわかったので,
    これからは条件判断がある場合に,
    switch文を使う選択肢も考慮に入れていきたいと思いました.

    素晴らしい.この調子でお願いします.

  53. 今回の授業では新しいコマンドを色々組み込んでいて難しかった.
    復習して使いこなせるようにする

    コマンドというか演算子でしょうかね.

  54. 関数をあらかじめ設定しておく方法を身につけることで,
    今まで何度も繰り返し同じソースコードを書いていた手間を省けることができ,
    これからも繰り返しの作業はなるべく短いソースコードで書くことを心掛けようと思った

    よろしいと思います.

  55. 本講義では,
    関数について触れた.
    今までは小さな式でさえも何度か繰り返し使っていると面倒だと感じていたので,
    冒頭に定義を記述することで後から呼び出すことができたりと,
    使ってみると非常に便利で面白かった.
    また,
    マクロと関数どちらを用いるかによって処理時間や負荷が変わることに驚いた.
    今後は処理の負荷のことも念頭に置いて簡潔にコードを書いていきたい.

    便利ですよね.また,間違いも少なくなりますね.

  56. 関数を事前に定義することで,
    同じ内容でも見やすいコードになっていると感じた.
    関数形式のマクロを用いた積の計算が正しくならない理由が少し予想外で興味深いものだった.

    いろいろと試してみると良いでしょう.

  57. 今回は関数について習った.
    関数について理解することができ,
    また今まで何も考えずに打っていたint main(void)や,
    return 0というものがどのような役割を果たしているのかについても理解することが出来た.

    よろしいと思います.

  58. 今回の内容は特に苦戦するところなく進めることができ,
    関数の使い方について理解を深めることができました.
    自分の成長を感じてこれからも頑張っていきたいと思います.

    素晴らしい.

  59. マクロを用いる際に()で変数を囲わなかったことで計算が求めたい値と違う値が求まってしまうことに驚き,
    注意したいとおもった.

    そうですね.今後注意をしてください.

  60. 少しずつc言語でのプログラミング作業に慣れてきて,
    代入演算子と比較演算子を間違えてしまうというような初歩的なミスを犯して時間をかけてしまった.
    気を引き締め,
    無駄な時間を割かずに作業を終えれるようにしたいと考えた.

    時間をかけるのが悪いわけではないのでね.

  61. 今までよく意味を考えずに使っていた「void」が他のものに変わり,
    ようやくどういう意味であったかを知った.
    return に文字を入れたらその文字に戻るというのは理解できたが,
    return 0のときはどのような意味なのだろうと疑問に思った.
    今回は前回ほどコードが複雑にならず工夫できるところも少なかったので,
    比較的スムーズに演習を解くことができた.
    関数形式マクロをオプションで使ったが,
    とても簡単になって驚いた.

    すばらしい.

  62. 今回は前回前々回よりもかなり早くおわらせることができた.
    個人的に気になった部分は普段使っているint main(void){}内のreturn 0;を入れる理由が分からなかったことで,
    わざわざreturn 0;を入力する必要があるのか気になった.

    実行時にシェルに変数を返すことで制御できるためですね.

  63. 関数を用いることでmainの中が整い理解しやすくなった.
    複数のファイルをリンクさせて一つのファイルにするのは同じ動作をファイルに縛られずに利用でき実用性が高いと感じた.

    そうですね.うまく使ってください.

  64. 課題1が少しよくわからず停滞していましたが,
    試行錯誤の結果何とか突破できました.
    それ以外は全体的にちょうどいい難易度だったので,
    ギリギリ授業内で終わることができました.

    授業内で終わらない場合は家でやってくれたら良いと思います.

  65. 課題8において,
    関数形式マクロと関数が似て非なるものであると実感しました.

    その通りですね.

  66. 今回の課題はスムーズに進めることが出来た

    よろしいと思います.

  67. 関数は同じ動作を繰り返し行うときに使うと便利であると感じました.
    for文でもいけると思いますが,
    mainの中がごちゃごちゃになってしまうため,
    別々のところにコード作った方が見返した時に何をやっているのかが分かり易いと個人的には思います.

    別々のところ,というのが理解できていませんが,見返したときにわかりやすくするのは大切ですね.

  68. この講義を通して,
    関数や,
    関数形式マクロの有用性を理解することができました.
    関数などを用いることによって同じコードを何回も書く必要をなくせたり,
    可読性の向上が期待できたりすることがわかり,
    今後コードを書く時も活用していきたいと感じました.

    よろしいと思います.

  69. 関数を別で書くことで,
    コードをより書きやすく・見やすくすることができた.
    特に課題9のオリンピックの開催を確認するものは,
    先に関数で戻り値を設定することでswitchの分岐をシンプルにすることができた.

    素晴らしい.

  70. 戻り値の型や,
    引数の数・型に注意しないと定義した関数がうまく動かなくなってしまうので,
    特に気を付けようと思った.

    そうですね.気をつけてください.

  71. 出力をどこの関数内で行うかについての理解が足らず,
    一部課題をやり直す羽目になりました.
    今後も,
    関数の使い分けに気を付けていきたいです.

    色々とやっていけば大丈夫でしょう.

  72. 今日の課題は難しすぎずやりやすかった.
    関数を定義することでmain関数の部分が見やすくなると思った.

    その通りです.

  73. 本日行った課題の中で課題7(関数とマクロの実行速度の計測)は非常に興味深い内容だと思いました.
    理由としては,
    自分の場合は実行速度が1%程マクロのほうが早かったからです.
    自分は素人なのであまり正しくない考え方かもしれませんが,
    アプリ開発などのように大規模な実行を行う場合は動作自体が重くなってしまう事で実行に大きな時間を要してしまう事もあると思うので1%早くなるだけでもかなりの時短のように感じました.
    また,
    マクロに詳しくないので間違っているかもしれませんが,
    再帰呼び出しなどが絡む処理などではこの時間差はもっと開いていくように思えました.

    素晴らしい.調べてみたらどうでしょう.

  74. 関数の使い方を学ぶことができ,
    プログラミングの幅がとても増えたように感じた.

    その通り.広がりますね.

  75. これまで,
    コードが長く複雑になって読みにくくなってしまうことが悩みだったので,
    関数を用いてコードを読みやすくできたことに感動をおぼえました.
    関数を積極的に使っていって関数をうまくなることが,
    見やすいコードを書くうえでとても大事だとも感じました.

    大切なところですね.

  76. 演習問題を解き始めた段階では,
    関数についてイマイチ理解ができていなかったので関数を用いるのに苦労したが,
    問題を解き進めるにつれて理解することができた.
    演習問題の過程で関数の便利さを実感することはまだできなかったが,
    より複雑なコードを書いてプログラムを組む時には便利なものだろうと理解することができた.

    便利ですよね.

  77. 今回は関数を学びました.
    計算問題などを行うときのために,
    よく使うような計算はメモしておきたいと思った.
    また今までは何となくint main(void)やreturn 0を使って書いていたがその意味が分かってよかった.

    理解できてよかったと思います.

  78. 関数を使うことでmain関数内をスッキリさせることができるようになったと思う.

    素晴らしい.

  79. 今回関数の定義を覚えたことで,
    これから何度も使うコードを呼び出しによって使えるようになりコード全体がすっきりして見やすくすることができるようになった.
    授業では細かい動作を一つ一つ別のファイルで作っているが,
    これから複雑なものを作ってい行くうえで非常に有用な方法が学べてよかったと思う.

    大切なことなので使ってください.

  80. 課題は特につまずくことなくできましたが,
    スライドにあった,
    入力された二つの変数の大きさを比べる関数の定義のされかたの意味がいまいちよくわかりませんでした.

    どこが分からないでしょうか.質問に来てください.

  81. 関数を呼び出すためには時間を要することと,
    関数マクロの計算方法が理解できた.

    素晴らしい.

  82. 使える道具が増えてきて,
    難しくなってきた.
    復習したい

    復習は大切ですね.

  83. 今まで通りとは行かない内容だった.

    でもできましたか?

  84. 今回の内容は,
    主に関数の定義についてだった.
    今回は難しい内容では中ったが,
    これからこの内容を用いたもっと難しい内容を学んでいくと思うので,
    十分に復習しておくべきだと思った.

    そうですね.使えるようになってください.

  85. 今回は比較的スムーズに進めることができた.
    いつも義務的に書いていたint main(void)とreturn 0;も関数として認識すると,
    いままでと違ってみえてきた.

    そうですか.それは素晴らしい.

  86. 演習では扱わなかったが,
    複数のファイルをコンパイルして一つの実行ファイルにまとめる話が興味深かった.
    ソースコードのファイルから実行ファイルになるまでにいくつかの工程があり,
    それぞれの工程でどんなことをしているのかが気になった.
    また,
    プロトタイプ宣言やヘッダファイルの意義がよくわからなかった.
    関数の宣言だけを先に行って,
    しかもそれを別のファイルにすることにどういう目的があるのか気になった.

    ヘッダ情報がここにあるのがわかりますよね. 関数などを用意しても同じです.

  87. いろんな資料見たり,
    調べたりして,
    解くことができた.

    よろしいと思います.

  88. 関数を使ってまとまった処理を別の場所に書いておくことで,
    main関数内の処理が簡潔になり読みやすくなりました.
    また,
    今まで使いどころの薄かったswitch文が,
    課題9でようやく使うことができて良かったです.

    素晴らしい.

  89. 関数の基本を学習し,
    より簡略にコードを書く方法を学ぶことができた.
    特に演習の課題6は,
    関数とfor文を組み合わせることで手順を大きく減らすことができ面白かった.

    面白いというのは大切ですね.