プログラミング 2022


2022年度後期・水曜Ⅳ、金曜Ⅳ(–Ⅴ)コマ
担当: 香川・岡﨑
TA: 竹原・平西・藤井・大山
6201 教室(予備: 水 ----、金 6202 教室)

情報システム・セキュリティ (CSSS) コース/情報通信 (ICT) コース向の「プログラミング」の情報を掲載します。 (シラバス

現在の課題

評価

(← 評価の開閉)

演習科目であるため、全回の出席を前提とする。毎週の課題(30%)、小テスト(クイズ)と中間試験 (30%)、期末試験(40%)で採点し、授業の目標達成が確認できた者に単位を認定する。

なお、合格/不合格の判定については、単純な加算で 60 点以上を合格とするが、 秀・優・良・可の判定については、割合を考慮して調整をすることがある。

毎週の課題の採点基準

お知らせ

(新しいものほど上です。)

コンパイル・実行の方法

(← 開閉)

皆さんのノート PC や大学の PC には「Microsoft Visual Studio Community」 というコンパイラーがインストールされているはずです。 インストールされていない場合は、 香川大学創造工学部学生向け Webサイトから、「ノートPC設定方法」というページを 見つけてインストールして下さい。 (C コンパイラの情報はここにあります。 Visual Studio のダウンロードのページに直接飛んでも構いません。なお、Mac の人は gcc を使いましょう。) インストールするときに、 「C++ によるデスクトップ開発」にチェックをするのを、 忘れないようにしてください。 (Visual Studio のバージョンは 2012 以降をインストールしてください。 2010 以前はデフォルトの文字コードが異なるため、UTF-8 で保存されたソースコードをコンパイルできない可能性があります。) インストール後「ヘルプ」—「Microsoft Visual Studio のバージョン情報」で、 「インストールされている製品」に 「Visual C++ 20??」が入っていることを確認しておいてください。

エディターは notepad++, サクラエディタ などがありますが Visual Studio Code を推奨します。

配布プリント

課題

現在の課題

(管理者用) データの更新 (同・管理者側) Quiz集計 管理用インデックスインデックス10月 11月 中間 12月 01月 02月 期末)、

注意: 以下のプログラムのソースへのリンクで List 99-99 のような Bold 書体は重要な例題、 List 88-88 のような影付き書体は、真似してはいけない例題を表す。

現在の課題

過去の課題

第 01 回 10/05(ガイダンス)

hello.c

着席位置 クイズ(10/05 は試験運用です。)配布プリントに関するアンケート

(スタッフ専用) 位置確認、 クイズ確認 () アンケート確認 ()、

クイズに対するコメント

第 02 回 10/07(講義・演習)(1 章 「まずは慣れよう」 1-1 節「まずは表示を行う」

予習用

1 章予習用スライド(§ 1-1 に対応するページを閲読しておいてください。) ※ 閲読 — 調べながら読むこと

List 1-1 List 1-2 List 1-3 List 1-4 List 1-5 List 1-6 List 1-7

着席位置 課題 アップロード

(スタッフ専用) 位置確認提出状況チェック表(10月分)

課題に対するコメント

第 03 回 10/12(講義) (1 章 1-2 節、1-3 節2 章「演算と型」 2-1 節)(6201 教室)

予習用

1 章予習用スライド(§ 1-2, § 1-3 に対応するページを閲読しておいてください)
2 章予習用スライド(§ 2-1 に対応するページを閲読しておいてください)

List 1-8 List 1-9 List 1-10 List 1-11 List 1-12 List 1-13 List 1-14
List 2-1 List 2-2 List 2-3 List 2-4

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 ()、 サイコロ

クイズに対するコメント

第 04 回 10/14(演習)(6201 + 6202 教室)

着席位置 課題 (一部の課題は 10/12 16:10 に公開されます) アップロード

(スタッフ専用) 位置確認提出状況チェック表(10月分)

課題に対するコメント

第 05 回 10/19(講義)(2 章「演算と型」2-2 節3 章「プログラムの流れの分岐」 3-1 節の途中まで)(6201 教室)

予習用

2 章予習用スライド(§ 2-2 以降)、 3 章予習用スライド(§ 3-1 の「入れ子になった if 文」(p.54)まで)

List 2-5 List 2-6 List 2-7 List 2-8 List 2-9 List 2-10 List 2-11 List 2-12
List 3-1 List 3-2 List 3-3 List 3-4 List 3-5 List 3-6 List 3-7 List 3-8 List 3-9 List 3-10

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 (位置

クイズに対するコメント

第 06 回 10/21(演習)(6201 + 6202)

6202 教室も使用できます。

着席位置 課題 アップロード

(スタッフ専用) 位置確認提出状況チェック表(10月分)

課題に対するコメント

第 07 回 10/26(講義@6201)(3 章「プログラムの流れの分岐」つづき)

予習用

3 章予習用スライド(§ 3-1 の「評価」(教 p.55)〜「論理演算子」(教 p.65))

List 3-11 List 3-12 List 3-13 List 3-14 List 3-15 List 3-16 List 3-17     addtime.c maxswap.c     List 3-18 chap03/summary1.c

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 (位置

クイズに対するコメント

10/28 はオープンキャンパス前日のため休講です。このため、次週 (11/02, 04) は変則的になります。

第 08 回 11/02(演習!@6201+6503)

11/02 は、遠隔・対面 MIX で実施します。詳しくは DreamCampus を見てください。

6201 と 6503 が利用できます。(6202 教室は使用できません。)

着席位置 課題アップロード

(スタッフ専用) 位置確認提出状況チェック表(11 月分)

連絡

本日 (11/02)、5コマにピア・サポートが 3304 講義室で開催されます。

ピア・サポートとは、ピア・サポーターと呼ばれる上級学生 (学部4年~大学院生)が、 学習相談に訪れた学部1~3年生からの基礎的科目(英語・数学・自然科学)及び 工学専門科目についての疑問・質問に答えるという学習支援制度です。

レポートの書き方や演習科目など、学習について相談がある人は気軽にご利用ください。

【情報システム・セキュリティ、情報通信】
日時と場所:
3Q: 11月2日(水), 11月9日(水), 5コマ(16:20-17:50),  3304教室
4Q: 1月20日(金), 1月27日(金), 2月3日(金), 3コマ(13:00-14:30) , 3303教室

11/02 の課題に対するコメントは、11/09 に公開します。

課題に対するコメント

(← ここ以前の課題の開閉)

第 09 回 11/04(講義!+演習! 6201 + 6202 + 遠隔)(3 章「プログラムの流れの分岐」つづき)

最初は講義を実施するので 6201 教室に入ってください。演習になったら 6202 も使用できます。

11/04 も、遠隔・対面 MIX で実施します。詳しくは DreamCampus で通知します。

予習用

3 章予習用スライド(§ 3-2 の「switch 文」(教 p.66)〜 3 章最後まで)

List 3-19 List 3-20 List 3-21

着席位置 課題(事前問題は 10/26 16:10 に公開) アップロード

(スタッフ専用) 位置確認 提出状況チェック表(11 月分)

課題に対するコメント

第 10 回 11/09(講義@6201)(4 章「プログラムの流れの繰返し」)

予習用

4 章予習用スライド(「do 文」〜「カウントアップ」(教 pp.74–85), 「前置増分演算子と前置減分演算子」pp.88–89 ⦅「文字定数と putchar 関数」(pp. 86–87, List 4-8)は次回の範囲です。⦆

List 4-1 List 4-2 List 4-2a List 4-3 List 4-4 List 4-5 List 4-6     increment.c     List 4-7 List 4-9

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 (位置

連絡

本日 (11/09) も、5コマにピア・サポートが 3304 講義室で開催されます。詳しくは 11/02 のところを見てください。

クイズに対するコメント

第 11 回 11/11(演習@6201+6202)

着席位置 課題アップロード

(スタッフ専用) 位置確認提出状況チェック表(11月分)、

課題に対するコメント

第 12 回 11/16(講義@6201)(4 章「プログラムの流れの繰返し」つづき)

予習用

4 章予習用スライド(「文字定数と putchar 関数」(pp. 86–87)、 「整数を逆順に表示」〜「繰返し文」(pp. 90–101)⦅多重ループの手前まで⦆

List 4-8 List 4-10 List 4-11 List 4-12 List 4-13 List 4-14 List 4-15 List 4-16     reverse.c fact.c polygon.c

連絡

新型コロナが、また爆発的流行の兆しを見せています。自宅待機となっている人のため、11/16 の授業を Zoom でも配信します。 URLは DreamCampus で通知します。 なお、特別な事情のない人は、いつもどおり教室で受講してください。

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 (位置

WebCLint

クイズに対するコメント

第 13 回 11/18(演習@6201+6202)

11/18 の授業を Zoom でも配信します。 URLは DreamCampus で通知します。 新型コロナ療養中や濃厚接触で自宅待機となっている人、発熱・咳などの風邪症状が見られる人、コロナワクチン接種およびその副反応などで対面で受けられない人、など(で、比較的体調が良い人)は Zoom で受講してください。 なお、Zoom も受講できないほど体調が悪い場合は、欠席届を提出してください。

着席位置 課題アップロード (提出前に WebCLint でチェックすること。)

(スタッフ専用) 位置確認提出状況チェック表(11月分)、

課題に対するコメント

11/23 は勤労感謝の日です。

そのため、11/25(金)が講義となります。

第 14 回 11/25(講義@6201)(4 章「プログラムの流れの繰返し」つづき

予習用

4 章予習用スライド(「多重ループ」〜 ⦅教科書 pp. 102–⦆

List 4-17
List 4-18 List 4-19 List 4-20 List 4-21 List 4-22     comma.c triangle.c     List 4-18a List 4-23 diamond.c

着席位置 クイズ

(スタッフ専用) 位置確認、 クイズ成績 (位置

クイズに対するコメント

第 15 回 11/30(演習@6201+6503

6503 教室も使用できます。

着席位置 課題アップロード (提出前に WebCLint でチェックすること)、

(スタッフ専用) 位置確認提出状況チェック表(11月分)

現在の課題

第 16 回 12/02(中間テスト@6201+6202

20TXXX, 21TXXX, 22T3XX の人は 6201、22T4XX の人は 6202 に入ってください。

中間テストの範囲は 4 章までです。

昨年度と同じ形式で実施します。つまり、

着席位置 オンラインテスト問題アップロード

(スタッフ専用) 位置確認提出状況チェックdec02_1.c 用dec02_2.c 用中間メッセージ用

今後の課題

第 17 回 12/07(講義)(5 章「配列」)

予習用

5 章予習用スライド(〜「オブジェクト形式マクロ」 ⦅教科書 pp. 115 – 125, p.136 ⦆

List 5-1 List 5-2 List 5-3 List 5-4 List 5-5 List 5-6 List 5-7 List 5-8    comma2.c    List 5-9 List 5-10

(← ここ以降の予定の開閉)

教科書

以下の教科書の、おおむね第 1 〜 8 章に相当する部分を扱います。

新・明解C言語入門編 第 2 版 柴田 望洋 著 SBクリエイティブ ISBN978-4-8156-0979-5

索引と 全ソースプログラム(Shift-JIS) (UTF-8) は、 是非、ダウンロードページから入手して、 索引は印刷しておいてください。
注意: 5 章のプログラムの一部が int main(void) とすべきところを int main(aoid) になっているようです。)

ただし、7-2 節 の中の「ビット単位の論理演算」、「シフト演算」、「ビット単位の論理演算の応用」、「オーバーフローと例外」、 8-1 節「関数形式マクロ」、8-2 節「ソート」、8-3 節「列挙体」を除きます。ただし、 8-1 節の中のコンマ演算子は扱います。

この授業でやらないこと

上記の教科書や C 言語の標準的な解説書:

プログラミング言語 C 第 2 版 B.W. カーニハン, D.M. リッチー 著 石田 晴久 訳 共立出版 ISBN 978-4320026926 ※原著 The C Programming Language, 2nd Edition Brian W. Kernighan, Dennis M. Ritchie Prentice Hall ISBN 978-0131103627

に書かれている事柄で、この授業で取り扱わない(主な)項目は以下のとおりです。

文字列、 ポインター、構造体 (struct)、ファイル入出力、(ここまでは2年生の「中級プログラミング」で扱います。)

ビット演算子、goto 文とラベル、 関数形式マクロ、列挙体 (enum)、 共用体 (union)、ビットフィールド、分割コンパイル、 動的メモリー割当て (malloc と free)、(これらは2年生以降の各授業で必要に応じて紹介します。)

Koji Kagawa