電子・情報工学科(ENIE)向の「プログラミング」の情報を掲載します。 (シラバス)
このページの短縮 URL は goo.gl/w69pwx です。
(03/27) システムの都合上、 定期(中間・期末)テストの問題も「未提出」というメッセージがでますが、 再提出の必要はありません。
(03/26)
3/24 発表の成績は暫定版です。(※ 富永先生担当分の演習の成績が加算されていません。)
正式版発表までしばらくお待ちください。
(04/06) 富永先生担当分の成績を加算した正式版の成績に更新されましたので、各自 DreamCampus から確認して下さい。
(01/12) 期末テスト過去問 (ペーパー)、 期末テスト過去問 (オンライン)、 同解答例、
cl コマンドは大抵の場合、ソースファイルの文字コードが、UTF-8 や Shift_JIS で問題ないですが、たまに文字化けしたり、不具合が起こることがあります。 そういう場合は、BOM 付きの UTF-8 で保存してください。
WebCLint … C言語初学者向けの静的解析(インデンテーションのチェックなど)用ツールです。
WebCLint バグ情報:
do 〜 while 文で、「}」と同じ行に while を続けても、
「doの閉じブレースの後は改行せずにwhileを書いてください。」
というメッセージが出ることがあります。
(2018/01/22) 恐らく解決していますが、依然問題があるようなら知らせてください。
「プログラミング」の Web ページは Firefox で確認しているので、Firefox をインストールしておくことが望ましい。
(← これ以前のお知らせの開閉)
演習科目であるため、全回の出席を前提とする。毎週の課題(30%)、小テスト(クイズ)と中間試験 (30%)、期末試験(40%)で採点し、授業の目標達成が確認できた者に単位を認定する。
なお、合格/不合格の判定については、単純な加算で 60点以上を合格とするが、 秀・優・良・可の判定については、割合を考慮して調整をすることがある。
演習時間(通常、金曜日)内は、原則として自分の力で解く。(TA・教員に聞くのは良い。)
(ただし、解いている問題に特有ではない C 言語一般に関する質問などは許容範囲とする。)
なお、一部の事前に公開した課題は、演習時間開始 10分後を締切とすることがある。
演習時間終了後は、人に相談して解いても良い。 (ただし人の解答のコピペは絶対禁止(コピーさせた側も同罪))
たとえ演習終了後でも、問題を掲示板などに投稿して、不特定多数の人に相談することは禁止する。
(11/15)
オンラインテストは、教科書・プリント・ノートなど持込み可
(プリント・ルーズリーフはバインダーなどで一冊に綴じること。
バラバラのプリントは持込み不可とする。)、
ペーパーテストは、持込み不可
(11/15)
中間テスト過去問 (ペーパー)、
中間テスト過去問 (オンライン)、
同解答例、
ただし、今年度からインデンテーションに関する問題は、ペーパーに移動する予定です。
金曜日は、教室(3101)の最後列は TA のために空けておいてください。
(← 開閉)
皆さんのノート PC や大学の PC には「Microsoft Visual Studio Express」 というコンパイラがインストールされているはずです。 インストールされていない場合は、 香川大学工学部学生向け Webサイトから、「ノートPC設定方法」というページを 見つけてインストールして下さい。 (Visual Studio のバージョンは 2012 以降にしてください。 2010以前はデフォルトの文字コードが異なるため、UTF-8 で保存されたソースコードをコンパイルできない可能性があります。)
エディタは notepad++, サクラエディタなどを推奨します。 サクラエディタの場合、「設定」−「共通設定」−「ファイル」−「ファイルの排他制御」 −「排他制御」を「しない」に変更しておくことをおすすめします。
以下では hello.c という名前のソースファイルをエディタで作成したとします。
「開発者コマンド プロンプト (Developer Command Prompt)」で hello.c を作成したディレクトリに移動し、 以下のコマンドでコンパイラを実行します。
cl hello.c
これで、hello.exe というファイルができているはずです。
以下のコマンドで、このプログラムを実行します。
hello
もう少し詳しい、コマンドプロンプトでのコマンドなどの使用法の説明を C のプログラムの作成とコンパイルの手順というページにまとめました。
授業用ページのパスワード発行は このページで 行なって下さい。アカウントは s学籍番号(途中の t は小文字)です。
なお、Gmail アカウント(大学でメールを読むときに使うアカウント)でも認証出来るようになっています。
注意: 設定が変更されたのに、変更が反映されないときは、 いったんログアウトして、 再度アクセスを試みて下さい。
必ず各自で提出したファイルのバックアップを取っておいて下さい。 (自分のノート PC だけではなく、stfile などの大学のサーバのどこかにもバックアップしておいて下さい!!)
(03/27) システムの都合上、 定期(中間・期末)テストの問題も「未提出」というメッセージがでますが、 再提出の必要はありません。
(← ここ以前の課題の開閉)
TIOBE index
さまざまな検索エンジンに基づく、プログラミング言語の人気ランキング
GitHut
GitHub で使われているプログラミング言語のランキング
Programming Languages
Influence Network
プログラミング言語同士がどう影響を与えあっているかをグラフにしたもの
ログインの確認
クイズ、(10/04 は試験運用です。)
課題に対するコメント (11/09 今年度の集計を追加しました。)、
List 1-1 List 1-2 List 1-3 List 1-4 List 1-5 List 1-6 List 1-7
クイズ、
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
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
List 3-11
List 3-12
List 3-13
List 3-14
List 3-15
10/25 は時間の都合でクイズを実施しませんでした。
List 3-16
List 3-17
addtime.c
maxswap.c
List 3-18
List 3-19
List 3-20
List 4-1
List 4-2 List 4-2a List 4-3 List 4-4
11/01 は金曜の振替日ですが、ほとんど講義で、最後の方に少しだけ演習にします。
List 4-5 List 4-6 increment.c List 4-7 List 4-8 List 4-9 List 4-10 List 4-11
クイズ、
List 4-12 List 4-13 List 4-14 List 4-15 List 4-16 List 4-16a List 4-16b List 4-17 List 4-18 List 4-19 List 4-20 List 4-21
自信がないときは、 WebCLintでチェックすること。
クイズ、
reverse.c fact.c polygon.c diamond.c
クイズ、
List 5-1 List 5-2 List 5-3 List 5-4 List 5-5 List 5-6 List 5-7 List 5-8 List 5-9 List 5-10 List 5-11
中間テストの範囲は 4 章までです。
オンラインテストは、教科書・プリント・ノートなど持込み可 (プリント・ルーズリーフはバインダー・綴ひもなどで一冊に綴じること。 バラバラのプリントは持込み不可とする。) ペーパーテストは持込み不可で実施する。
クイズ、
arrInit.c
List 5-12
List 5-13
breakTest.c
クイズ、
List 6-1 List 6-2 List 6-3 List 6-4 List 6-5 List 6-6 List 6-7 List 6-8 List 6-9
クイズ、
List 6-10 List 6-11 List 6-12 cbv.c
クイズ、
List 6-13 List 6-14 List 6-15 List 6-16 List 6C-1 List 6-17 List 6-18 List 6-19
※終了後に中間テストの再挑戦試験(追試験)(ペーパー)を 実施
01/10 は時間の都合でクイズを実施しませんでした。
※終了後に中間テストの再々挑戦試験(追試験)(ペーパー)を 実施予定(対象者にはメールなどで連絡ずみ)
comma.c (cf. List 5-8)
List 8-7
hanoi.c
(ハノイの塔を試す)
tree.c
(グラフィックス作成ページ)
再帰の例 1
(問: このプログラムの出力結果はどうなるか?)
List 8-8
List 8-9
List 8-10
List 8-11
クイズ、 期末テスト過去問、 ※ 授業評価アンケート、 課題、 アップロード、
以下のコメントは 01/26(金)頃に公開します。
クイズに対するコメント、
課題に対するコメント、
※期末テストは、教室が普段とちがう場合があります。必ず掲示で確認してください。 (02/09 は 3101 のようです。)
※ オンラインテストは、教科書・プリント・ノートなど持込み可、 ペーパーテストは、持込み不可、 です。
毎週の課題の追加提出・やりなおしは 2/22(木)23:59までに提出してください。
※期末テストは、教室が普段とちがう場合があります。必ず掲示で確認してください。(02/14 は 3101 のようです。)
※ ペーパーテストは、持込み不可、 オンラインテストは、教科書・プリント・ノートなど持込み可、です。
(2/15) 期末テスト(オンライン・ペーパー)の解答例、
※ オンラインテストは、教科書・プリント・ノートなど持込み可、 です。
新・明解C言語入門編 柴田 望洋 著 SBクリエイティブ ISBN978-4-7973-7702-6
この教科書の、おおむね第 1〜8 章に相当する部分を扱います
(7-2節 の中の「ビット単位の論理演算」、「シフト演算」、「オーバーフローと例外」、
8-1 節「関数形式マクロ」、8-2 節「ソート」、8-3 節「列挙体」を除きます。ただし、
8-1 節の中のコンマ演算子は扱います)。
索引と全ソースプログラムは、 是非、ダウンロードページから入手して、 索引は印刷しておいてください。
上記の教科書や C 言語の標準的な解説書:
プログラミング言語 C 第 2 版 B.W.カーニハン D.M.リッチー 著 石田 晴久 訳 共立出版 ISBN 978-4320026926 ※原著 C Programming Language, 2nd Edition Brian W. Kernighan, Dennis M. Ritchie Prentice Hall ISBN 978-0131103627
に書かれている事柄で、この授業で取り扱わない(主な)項目は以下のとおりです。
文字列、 ポインタ、構造体、ファイル入出力、(ここまでは2年生の「電子・情報プログラミング」で扱います。)
ビット演算子、goto 文とラベル、 関数形式マクロ、列挙体 (enum)、 共用体 (union)、ビットフィールド、分割コンパイル、 動的メモリ割当て (malloc と free)、(これらは2年以降の各授業で必要に応じて紹介します。)