2026年09月30日 第2回

  1. 今回の授業を経て,
    前回の講義の理解がより深まった気がします.
    また,
    演習を通して何をしているのか,
    どういう過程でそんな出力になるのかがよくわかり,
    プログラミングがどんどん楽しくなってきています.
    この調子で次も頑張りたいです.

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

  2. 基本的な演算子の動きはよく理解できたと思う.
    ところどころ細かいところでコードを間違えるところがあったのでそういうことがないよう慣らしていきたい.

    理解できたのはよかったです.

  3. 前置インクリメントと後置インクリメントの使い分け,
    異なる型同士の演算,
    代入演算子など今回の内容はおおむね問題なく理解できたように感じます.
    ただ,
    異なる型同士の演算についてはまだint型とdouble型の二種類にしか理解が進んでいないので,
    ほかの型での組み合わせも学んでいこうと思った.

    色々と試してみると良いですね.

  4. 年齢を計算するプログラムで誕生日を迎えているか迎えていないかを判定するのにif文を使えないのは少し戸惑ったが,
    演算子で演算した結果が1か0かで出てくることを思い出し,
    なんとか完成させることができた.

    一度はやっておいた方が良いですね.

  5. C言語で型が異なる場合の演算方法について学びました.
    どの文字がどの型なのかを計算するとき,
    特に割り算ではすごく意識する必要がると思いました.
    またほかにもシフト演算など日常ではあまり慣れ親しんでいない演算子についても学びました.
    シフト演算子について調べたところコンピューターは掛け算を足し算として処理するため10倍するなどは10回分の処理が必要になるがシフト演算があると左に3個分シフトするのと1個分シフトするのを足し合わせるという3回分の処理で終わるため計算が高速化できるということが分かりました.

    シフト演算子のポイントですね.

  6. 前回の授業で習った内容を当たり前かのように使っていたので前回の内容を復習しておいたのでprintfやscanf等を使うにあたって特に止まることなく課題に取り組むことができたが,
    誕生日の課題でかなり時間を使ってしまった

    でもできましたか?

  7. 今回の課題で,
    型による違いやそれを使った演算の注意点を理解することができた.
    特に,
    今までよくわからなかった結果の型は合っているのに,
    正しく出力されなかった原因を理解することができた.

    うまく出力できた?

  8. 普段,暗算でできてしまうような計算でも,まだ慣れていないプログラミングで考えると,複雑に感じた.また,今回の講義でも前回の内容を覚えていることが必須であったから,毎回の講義で受けた内容をしっかりと頭に入れておきたい.

    まぁ最初なのでトライしてみてください.

  9. 今日は演算に関するあれこれについて学んだ.
    右シフト左シフトを使うところがいまいちわからなかったため,
    調べたところ,
    カラーコードやデータの分解など,
    データを切り分けて取り出すときに使うことがわかった.
    赤だけや,
    緑だけ取り出すときにシフトをすることで取り出すことができることがわかった.

    どのように調べましたか?また,調べた内容を1次情報などを辿って確認しましたか?

  10. 代入演算子やインクリメント,
    デクリメントに関して最初はよく理解できてない状態で動画を見進めてしまったが,
    演習課題を行うことで理解でき自分でコードを書くことができた.
    また,
    演習を行っている時全ての変数をnum1,num2と置き換えてしまっていて分かりずらくなっていたのでもっと状況に応じて変数の名前を変えて行くべきだったなと思った.

    そうですね.その通りです.どのようにつけるかは一概には言えませんが,次回触れましょう.

  11. if文でelseを使ったとき誤って else(a>9){printf("3が入力されました.
    \n");}のように書いてしまった.
    しかし(a>9)を書かずにelse{printf("3が入力されました.
    \n");}と書いても出力される結果は同じだと気づいて,
    (a>9)は消した.

    まだ,if文はやっていないと思いますが,そもそも文法が間違っているのでは?

  12. プログラミングでの=の意味が等しいではなく右辺の結果を左辺に代入という意味になるのがまだ慣れなくて勘違いすることがある.

    慣れてください.

  13. printfをpritnfと打ち間違えるのをいい加減直したい.
    タイピングを速く正確に打てるように早くなりたい.

    打ち間違え?

  14. 今回の内容では前回の反省を踏まえて過去のスライドを復習していたため,
    おおむね問題なく課題をこなすことができたが,
    課題を完成させた後に文字コードを変えようとLETUSに乗っているコマンドを試したが変えることができず,
    emacsから文字コードを変えるという情報処理演習で学んだ方法も試したが,
    文字コードを変えることができずに最終的に提出したため,
    文字コードが変更できなかった理由が疑問に思った.

    答えたいですが,これでは答えることができないですね.
    「LETUSに乗っているコマンドを試した」とありますが,
    具体的には?また,何かメッセージは出ましたか?
    情報処理演習で学んだ方法とは?

  15. 変数の型を意識することが身につきました.

    よろしいと思います.

  16. データの型が一つ一つ適切かどうか確かめることが大事.

    よろしいと思います.

  17. int型で数値を入力させた後計算する際,
    double型に変換しないと想定していた値を返してくれないというのが初歩的だがかなり重要だと思ったので今後も計算をする際には型によく注意していきたいと感じた.

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

  18. 年齢を計算するところで苦戦した.
    今回は日付が9/30で結果的に日付についての計算をしなくても正確な年齢を出せたが,
    例えば9/20の時点での日付を出すのは演算子だけでは無理な気がする.

    できると思います.

  19. 情報工学科に進学してから2進数や10進数に触れる機会が明らかに多くなったと感じた.
    教科書を買っていなかったので明日買いに行きます.

    講義に望む態度は高校生の時の方が良いですね.

  20. 今回の演算子については,
    これまで触れたことのある内容も多く,
    全体的には理解しやすかったです.
    一方で,
    int型同士の除算では,
    結果をdouble型の変数に代入しても計算自体はint型で行われるため,
    小数部分が失われることが印象に残りました.
    課題を通して,
    単に変数の型だけを見るのではなく,
    演算を行う時点でのオペランドの型を意識する必要があることを理解できました.

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

  21. int同士で計算すると結果もintになることや,
    前置と後置インクリメントの動作の違い,
    a+=bのような複合代入演算子の使い方などについて理解できました.
    特に,
    割り算の挙動がPythonとは異なるので最初は慣れませんでしたが,
    キャスト演算子を用いて適切に計算できました.
    また,
    シフト演算子の話がありましたが,
    例えばx*4 と x<<2 では処理速度などにどのような違いがあるのかが気になりました.

    多分違いはないと思います.コンパイルで自動的に良い方にしてくれると思います. 

  22. 今回の講義で,
    オペラントの型の挙動を学ぶことができた.
    情報量が失われる代入演算は意図したのか意図せず間違えたものかわからない関係でコンパイルエラーにはならないということがあり,
    コンパイルに成功しても実際にテストすることの重要性に序盤にして気づかされた.
    また,
    scanfでdoubleを用いるときは8バイトに対応した%lfを使う必要があることを新たに学んだ.
    生年月日から年齢を当てる課題では,
    条件分岐が使えない状態で習ったintの性質の応用を見出すことを狙った難問かつ良問であると思った.

    うまくできましたか?

  23. kadai9.cで,
    今日が偶然9月最終日だったのでコードを書けたが,
    if文を使わず一般の日付で正しいコードが作れるのか気になった.

    できると思います.

  24. scanfを使用する際に%lfのlの入力を忘れる,
    %dと%fを間違えて入力するなどといったミスが頻発した.
    慣れも必要ではあるが,
    出力結果を確認する前にもう一度しっかり確認する癖をつける必要があると感じた.
    前回よりもコードがエラーなどなく1回目で正しく出力されることは多くなったがタイプミスや;,}のつけ忘れが多く見られたので改善していきたい.

    コンパイルの時に-Wallしていますか?

  25. 前回の内容を一部忘れている箇所があったので復習を心掛けたい.
    そろそろ文字だけでなく記号もブランドタッチできるようになりたい.
    コードを書くときにとても時間がかかる.

    まだ2回目ですが,大丈夫ですかね.

  26. 今回はしつかり予習をしたのでスムーズに入ることができた!!!また,
    この今後の授業に対してもpassionを持って取り組みます!!

    素晴らしい.この調子で!

  27. まだまだC言語は初心者ですが,
    前回きちんと取り組めたことで今回は以前に比べてコードを書くスピードが少しですが上がった気がしました.
    一度ノートにペンでコードを書いてみると,
    頭の中が整理されて書きやすかったです.
    今回の課題で特に苦戦したところは課題9でした.
    誕生年が同じでも今年すでに誕生日を迎えたか否かで年齢が変わってくるので,
    それを計算で考慮するために論理和や論理積の演算子をうまく使いこなすところで頭が混乱しました.
    また前回に引き続き「scanf (”%lf”)」と書くところを「scanf("%f")」と間違えてしまう癖が抜けず,
    コンパイルするときにエラーになってしまいました.

    コンパイルでエラーになるのは楽ですね.わかるから.

  28. 本日の講義では,
    演算子の使い方や型変換について理解できました.
    特に,
    整数型と実数型の違いによって計算結果が変わることが印象に残りました.
    キャスト演算子についてはまだ少し迷うところがあるので,
    もう一度復習したいと思います.
    ありがとうございました.
    >

    そうしてください.

  29. 誕生日を出力するコードがむずかった.

    できましたか?

  30. 前回よりは少し簡単だったと思います.
    基本的にすべて理解することができました.
    生年月日の問題は面白かったです.
    あと,
    できたら教科書の表などはスライドに入れてくれるととても助かります.

    教科書は持っていますか?

  31. 型を意識して計算をすることができました

    よろしいと思います.

  32. ビットを反転するという効果の~を使っていた時,
    ~0は-1になって~1は-2になりました.
    なぜ11111111は-1なのですか?10000001ではなく.

    具体的なコードを見せてくれないと何とも言えないですが,
    「なぜ11111111は-1なの」は2の補数だからですね.
    コンピュータサイエンス序論ではやらないのですかね.

  33. 課題9においてスライドの3ページ目にある演算子を用いて解答するのに苦戦した.
    同ページ内にも,
    まだ理解していない演算子もあるのでさらに学んで行きたい.

    不明なところは質問してください.

  34. 誕生日を過ぎているかいないかの判定をifなどを使わずに行う方法を考えたことがなく,
    今回の講義の範囲で行えることをよく考えられてよい経験になった.

    そうですね.一度やってみると良いでしょう.

  35. 単純なあまりを出す計算以外に使い方を知らなかったので,
    課題10で%にこんな使い方があると知り驚きました.
    また,
    高校の授業の時は=を等しいだと思っていてよく理解できなかったけれど今回の授業で=は代入だと聞き,
    理解することができました.

    高校では代入と習わなかったのですか?

  36. 今まで使ってきたプログラミング言語とは違い,
    C言語では変数の型をしっかり理解して扱う必要があると感じ,
    前回学んだ内容がまだ十分に身についていないことを実感しました.
    演算子については,
    型に注意していれば特に問題なく進めることができました.

    よろしいと思います.

  37. 課題7や8でscanfの書類指定子がdouble型の%lfではなく,
    float型の%fにしてしまい,
    課題の完了に時間がかかってしまいました.
    上のように前回習ったことも習得しきれていないので,
    こまめに復習しようと思いました.

    まあ慣れですね.

  38. 先週は講義がなかったこともあり,
    今回のLesson4の内容は事前に軽くみておいたので頭に入っていたが,
    前回のLesson1~3の内容が少し抜けていた.
    そのため前回の資料や自分の書いたコードなどを参照しながら演習したので,
    思ったより時間がかかった.
    しかし,
    前回よりは慣れもあるからであろうか,
    考えてコードを書くのがスムーズになったように感じた.
    これからは前回の内容もできるだけ忘れないようにして知識を積み重ね,
    さらにスムーズにコードを書けるようにしたい.

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

  39. 今回の講義では,
    様々な種類の演算子やインクリメント,
    デクリメントなどについて理解することができた.
    前置と後置で処理される順番が異なることについて,
    スライドで示されている図に代入とインクリメントの順番が視覚的に示されていたため理解しやすかった.
    前回よりも1からコードをかく演習が多かったため,
    時間がかかってしまったが,
    その分自力で目的に沿ったコードを考えることができた.

    よろしいと思います.理解できているようですね.

  40. 全体的にうまくいったが,
    誕生日から年齢を出す仕組みを作るのに苦戦した

    素晴らしい.苦戦してもできましたかね.

  41. 今日の講義では演算子をメインに学んだが最初のほうの前置インクリメント,
    後置インクリメントの問題で詰まってしまった.
    a++のあとにaの値を変更せずに++aと書いていたためうまくいかなったことになかなか気づくことができなかった.

    でもうまく行きましたか?

  42. 課題6に取り組んで,
    暗黙の型変換が起きる場合と起きない場合をしっかり理解する必要があると感じた.
    課題7では癖で累乗^を使ってしまい,
    型のエラーを起こしてしまった.
    話が変わって,
    コンパイル・zip化・ファイル同期を自動化するスクリプトを作ったら,
    とても楽になった.

    素晴らしい.ところでファイル同期はどのようにしていますか? rsync?

  43. 課題8が結構難しかったです.

    でもできましたか?

  44. 少しC++に触れていたため,
    今回の内容のうち複合演算子については見知った内容も多かったですが,
    前置インクリメントと後置インクリメントの違いは今回で初見だったので新しく学びが得られました.
    今回の演習の中で何回も繰り返して同じミスをしていることがあったので,
    そのミスをしないことを次回の演習以降意識しつつ,
    新規の内容にも慣れていきたいです.

    そうしてください.

  45. 今回のファイルの文字コードを変換する際,
    課題11と13のみasciiからutf-8に変換できなかった.
    一つのみにnkfを実行したり,emacsからコマンドを打ったりしたけどうまくいきませんでした.

    どのように「コマンドを打った」のかがわからないので,
    答えられないです.

  46. 整数同士の割り算で小数が切り捨てられる理由と,
    キャスト演算子で防ぐ方法が理解できました.
    次回のフローチャートの講義に向けて,
    資料で予習しておきます.

    そうしてください.

  47. まだ慣れないで苦戦する場面が多かったので,
    課題を通してひとつひとつ理解し,
    覚えていきたい.

    それが大切ですね.

  48. 授業が終わったあとに課題9の答えを友達とみんなで見せあったら,
    色んなアイデアがあり,
    色んな解法があるのもプログラミングのいいところだなって思いました.

    おー,素晴らしい.

  49. 誕生日を入れて年齢を計算する課題が難しかったです

    でも,できたかな?

  50. 演算子の種類や優先順位について理解を深めることができた.

    よろしいと思います.

  51. 生年月日を入力してもらい歳を出力するコードの作成で,
    今日が9月30日で月の区切りであり,
    日を考慮せずに作成することができたが,
    if文などを使わずに日も考慮するとなると,
    より複雑で考えるのはとても楽しそうだと思った.

    if文は使わないで作ってください.

  52. 教科書を持参し忘れたため,
    隣の席の方に見せていただき少し時間がかかりましたが,
    演算子の内容自体は問題なく理解でき,
    課題もすべて完了しました.

    次回からは忘れずに.

  53. 今まで JavaScript などであまり型を意識してやってこなかったため,
    型の重要性にあらためて気付かされた.
    演算子についてはほとんど知っていたが,
    シフト演算子は初めて知った.
    シフト演算子と2での乗除は一見同じように見えるが,
    何が異なるのかしっておく必要があると思った.
    課題9について,
    if と,
    bool 型の宣言を回避して,
    論理和,
    論理積や比較演算子による論理式をキャスト演算子で int に変換して判定を行ったが,
    一行が長くなってしまった.
    他に良い方法がないか,
    試行錯誤してみようと思った.

    情報工学科なので,C言語などもできるようになっておいた方が良いと思います.
    バグも未然に防げると思います.

  54. int型とdouble型の使い方きちんと理解できた.
    整数同士では出力結果も整数になってしまうことがわかり,
    その対処法も理解できたもでこれからはそこに注意してC言語を扱いたいと思った.

    そうしてください.

  55. やるべきこと,
    書くべきコードが明確に示されていると,
    書きやすかったが,
    課題の自由度が高いと,
    進めるのに時間がかかってしまった.
    コードを考えるのが一番大変なのではないかと思った.
    べき乗をするのに^ではなく,
    pow()関数を使わなければいけないことを知った.
    2回目の講義ということもあって,
    少しc言語に慣れてきた気がする.

    その通りです.まずは流れを考える必要がありますね.次回です.

  56. 教科書を見ればよく理解できる演習内容だったので,
    スムーズに行えて良かった.

    よろしいと思います.

  57. 積を出力するプログラミングで,
    初期値が0になっていうことに気付かず,
    何度も実行エラーを出してしまった.
    最近バイトやサークルでPythonやC++,
    C#も学び始めたため,
    頭がこんがらがることがあった.
    よくノートをまとめて,
    忘れてもすぐ思い出せる状態を作る.
    シフトの概念は初めて学んだが,
    2の累乗を掛けることと同じであると認識したら簡単に理解することができた.

    うまくできたのであれば,よかったと思います.

  58. 前期の情報処理演習の講義で四則演算の演算子は知っていたが,
    論理和や論理積にも演算子が割り当てられていることに驚いた.
    また,
    累乗が^で表記できず,
    ビット排他的論理和の演算子であることに気づき,
    累乗はどのように表記するのか気になって調べてみたところ,
    <math.h>の下で使えるpow関数というものを用いて表せるということを知った.
    代入演算子は一見等式のようにみえるが,
    共通テストの情報Ⅰでプログラミングの問題が出ていたこともあり,
    あまり混乱せずにコードを書くことができた.
    シフト演算を用いて乗算,
    除算を行う方法が高校時代あまり理解できていなかったが,
    2進数で表わした値を1ビットシフトするごとに10進数で表わした値が2倍になっていくことを理解することができた.

    素晴らしい.ちゃんとできていますね.

  59. 式と演算子は,
    後ろに書く代入個数が増えて複雑になった.
    doubleとintそれぞれで小数の扱いが異なり,
    それに合わせた%~の管理が難しかった.

    でも理解できた?

  60. 初心者の自分には何も見ないでやるのは難しいが,
    調べながらやれば解けるちょうどいい難易度です.

    この調子で進めていけば,すぐにレベルが上がり,
    初心者出なくなりますね.

  61. 今回の講義では,
    演算子の種類や優先順位,
    型変換の仕組みを具体例とともに理解できました.
    特に整数同士の割り算が整数になる点や,
    キャストによる型変換の違いが実際のコードで重要だと感じました.

    そうですね.大切です.

  62. プログラミングがだんだんわかって来ました

    おー,素晴らしい.

  63. scanfの引数を書くときに&をつけ忘れていて,
    時間を浪費した.
    なぜ&をつけるのだろうか.

    なぜでしょう....理由はLesson 8で!

  64. 数値と結果で値の型が違うものには,
    上手く計算が適用出来ないということに何度もつまづきました.
    丁寧に確認しながら課題をやっていこうと思いました.

    はい,確認は大切ですね.

  65. オペランドの型変換の方法が理解できた.
    課題9の年齢を出すプログラムが無理やりな感じになってしまって改良の余地があると思った.
    もし~ならなどプログラムが使えるようになればもっと短い文で書けそうだと思った.
    今回は9月30で月末だったので誕生月を使ったor文を作ったが,
    やり方をもう少し知りたい.

    or文?

  66. はじめはシフト演算子がなぜ必要なのか疑問に思ったが,
    説明があったように2を書ける操作や2で割る操作をより高速に行うため,
    という合理的な理由で存在していることがわかって腑に落ちたし,
    ここでも機械語特有の事情(2進数)が関係していることが分かった.
    その他の結合の順番や型変換についても現状不明点がなくなるところまで理解できた.
    今後,
    より多くの変数をコードの中で用いることになると思うので,
    各変数の型を意識し,
    うっかり小さい型に数値を代入して小数値で扱いたいものの情報が失われることのないように,
    適宜コメントを書いて注意していこうと思った.

    よろしいと思います.コメントもぜひつけるようにしてください.

  67. 前置と後置インクリメントの扱いが難しく,
    より複雑なコードを書くときに慣れていないと間違えそうだと感じました.

    慣れですね,

  68. 今日の講義では,
    インクリメント演算子や複合代入演算子,
    型変形について学んだ.
    特に,
    a++と++aでは値を増やすタイミングが違うことを理解した.
    また,
    商の計算では,
    どちらもint型だと整数除算になることが分かった.

    理解できた?

  69. 演算子の使い方やインクリメントの使い方などはよく理解できたが,
    歳を計算するプログラムの課題で内部構造がなかなか考えられず苦戦した.

    でもうまくいった?

  70. printfの時の変数の出力などがpythonと少し違ったりするのでそこがあまりまだ慣れないです.

    慣れですから,続ければ問題ないでしょう.

  71. 今回から教科書が手元にある状態で演習ができました.
    教科書って割と分厚いんですね.
    今回の演習課題で一番苦戦したのはkadai9.cの生年月日から年齢を求めるコードです.
    正直なとこ,
    自分のコードは正しく動作はするのですが,
    模範解答と同じやり方なのかどうか不安です.
    条件分岐が使えれば楽だったのですが,
    本講義までに説明された内容のみを使うとなると,
    その年で誕生日が来たかどうかの処理が難しかったです.
    生年月日と本日の月日の差を小数を用いて[年]で表し,
    int型で整数にしたのですが,
    ちょっと無理やり感がありますかね,
    ,
    ,
    もし可能なら,
    模範解答が見てみたいです.

    模範解答は出していないです.不明であれば質問してください.

  72. scanfのとき,
    変数名の前に&をつけ忘れるミスや小数入力をのときdouble型で変数を設定してるが%lfではなく%fにしてしまうミスが目立ちました.
    メモにまとめて変数の型を一致させられるようにしたいです.
    また,
    前回の内容を忘れてしまっており見返さないとできないところも多くあったため,
    復習を行い次回の授業は今回よりスムーズに進められるようにします.

    慣れですかね.そのうちなくなると思いますよ.

  73. 今日は主に演算について学んだ.
    a+=b(a=a+b) など,
    変数に同じ変数を含んだ式を代入するという考え方は理解できたが慣れが必要だと感じた.
    また,
    演算の入力値のそれぞれの型に応じて出力値の型も決まる,
    という部分は理解に時間がかかったので次回も復習したい.
    また課題9の年齢を出力するコードを書く課題は,
    シンプルな演算子のみでどう実現するのかアイデアを出すのに苦戦した.

    色々とまずは考えてみて.それが大切.

  74. 等号と不等号に0,1の値があることを初めて知った.
    それを知らなかったせいで年齢を表示する問題に手こずってしまった.

    等号と不等号に0,1の値がある,というのは条件が真か偽か,ということ?

  75. 前回よりも自分で考える部分の多い課題で,
    ソースコードの書き方への理解が深まった.
    演算子の種類が多く,
    使いこなすまでに時間がかかりそうだと感じた.

    慣れなので,時間をかければ大丈夫でしょう.

  76. 演習問題を通して様々な演算を理解することができた.
    同じ型同士での演算をするときは,
    自分が出したい結果になるよう適切なキャスト演算子をつけるのを忘れないよう気を付けようと思った.

    それが大切ですね.

  77. %lfと%fをよくまちがえたので間違えないようによく復習しようと思った.
    誕生日の計算がif文が使えないので,
    うまく作るのに苦労した.

    苦労はしたけどできましたかね.

  78. 今回は,
    主に演算子を用いた演習を行ったが,
    僕は型変換のところは今後の演習でも大事であると思っている.
    特にint型どうしの計算で小数部分がカットされてしまうのが気付かないことがよくあると考えている.
    なので,
    今後int型の除算をするときに向けて,
    今回行った型変換の,
    キャスト演算子について覚えておこうと思う.

    そうですね,間違いがないようにしてください.

  79. 課題9について,
    年齢を計算すればよいと思っていましたが,
    出力結果の例(2)が19歳になっており戸惑いました.

    ん.間違っていた?