電子・情報工学科(ENIE)向の「プログラミング」の情報を掲載します。
「プログラミング」の Web ページは Firefox で確認しているので、Firefox をインストールしておくことが望ましい。
タブと空白を混ぜて使っている人が多い。どちらかに統一すること。 エディターはタブ文字が見えるようになっているもの(サクラエディタなど) を使用すると良い。
Notepad++ は、「表示」—「文字表示」— 「制御文字を表示」でタブなどを見えるようにできる。
TeraPad は、「表示」—「オプション」—「表示」 で、「TAB」と「全角空白」にチェックをつけておくとよい。
MkEditor は、「ツール」—「エディタオプション」—「表示 2」 で、「TABマーク」と「全角空白マーク」にチェックをつけておくとよい。
演習科目であるため、全回の出席を前提とする。毎週の課題(30%)、小テスト(クイズ)と中間試験 (30%)、期末試験(40%)で採点し、授業の目標達成が確認できた者に単位を認定する。
(3/23 追加)
なお、合格/不合格の判定については、単純な加算で 60点以上を合格とするが、
秀・優・良・可の判定については、割合を考慮して調整をすることがある。
演習時間(通常、金曜日)内は、原則として自分の力で解く。(TA・教員に聞くのは良い。)
(ただし、解いている問題に特有ではない C言語一般に関する質問などは許容範囲とする。)
演習終了後は、人に相談しても良い。 (ただし人の解答のコピペは絶対禁止(コピーさせた側も同罪))
たとえ演習終了後でも、問題を掲示板などに投稿して、不特定多数の人に相談することは禁止します。
(2/12 New!) 期末テスト(オンライン)の解答例を掲載しました.
(2/12 New!) 「プログラミング」の毎週の課題は 2/19(金)18:00 を締切りとします。必須課題は必ず提出してください。 また、2/5 (金)16:20 の時点で NG と採点されていた必須課題は、必ず再提出してください。 2/5(金)16:20 以降に採点された課題は再提出する必要はありません。 (間違いが残っていても、2/19(金)18:00 の時点で減点した上で OK 扱いとします。)
なお、点数が合格点に足りないときは、改めて提出を要請する場合があります。 その場合はメールなどで連絡します。
(2/10 New!) 2015年度期末テスト(ペーパー)解答例
(02/03)
オンラインテストは、教科書・プリント・ノートなど持込み可
(プリント・ルーズリーフはバインダーなどで一冊に綴じること。
バラバラのプリントは持込み不可とする。)、
ペーパーテストは、持込み不可です。
(11/18) 3201 教室に腕時計の忘れ物があったので、学務係に届けておきました。
中間テスト過去問 (ペーパー)、
中間テスト過去問 (オンライン)、
同解答例、
ペーパーテストは持込み不可で実施します。
(オンラインは持込み可)
金曜日は、教室の最後列は TA のために空けておいてください。
皆さんのノート PC や大学の PC には「Microsoft Visual Studio Express」 というコンパイラがインストールされているはずです。 インストールされていない場合は、 香川大学工学部学生向け Webサイトから、「ノートPC設定方法」というページを 見つけてインストールして下さい。 (Visual Studio のバージョンは 2012 以降にしてください。 2010以前はデフォルトの文字コードが異なるため、UTF-8 で保存されたソースコードをコンパイルできない可能性があります。)
エディタは notepad++, サクラエディタなどを推奨します。 サクラエディタの場合、「設定」−「共通設定」−「ファイル」−「ファイルの排他制御」 −「排他制御」を「しない」に変更しておくことをおすすめします。
以下では hello.c という名前のソースファイルをエディタで作成したとします。
「開発者コマンド プロンプト」で hello.c を作成したディレクトリに移動し、 以下のコマンドでコンパイラを実行します。
cl hello.c
これで、hello.exe というファイルができているはずです。
以下のコマンドで、このプログラムを実行します。
hello
もう少し詳しい、コマンドプロンプトでのコマンドなどの使用法の説明を C のプログラムの作成とコンパイルの手順というページにまとめました。
(問題訂正)Q.4 赤字の部分を追加してください
int main(void) {
int n = 30;
if (n % 2 == 0) {
printf("A");
} if (n % 3 == 0) {
printf("B");
}
putchar('\n');
return 0;
}
授業用ページのパスワード発行は このページで 行なって下さい。アカウントは s学籍番号(途中の t は小文字)です。
注意: 設定が変更されたのに、変更が反映されないときは、 いったんログアウトして、 再度アクセスを試みて下さい。
必ず各自で提出したファイルのバックアップを取っておいて下さい。 (自分のノート PC だけではなく、stfile などの大学のサーバのどこかにもバックアップしておいて下さい!!)
TIOBE index
さまざまな検索エンジンに基づく、プログラミング言語の人気ランキング
GitHut
GitHub で使われているプログラミング言語のランキング
Programming Languages
Influence Network
プログラミング言語同士がどう影響を与えあっているかをグラフにしたもの
クイズ、
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
a href="http://platy.eng.kagawa-u.ac.jp/MyReport/Session/ShowFile?lecture=2015%2fProgramming&file=TextBook%2fchap01%2flist0110.c">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 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-3
List 4-4
クイズ、
List 4-5 List 4-6 increment.c List 4-7 List 4-8 List 4-9 List 4-10 reverse.c List 4-11 List 4-12
クイズ、
List 4-13
List 4-14
List 4-15
fact.c
polygon.c
List 4-16
List 4-17
List 4-18
List 4-19
List 4-20
List 4-21
triangle.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 arrInit.c
クイズ、
List 5-10
List 5-11
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 svg.h, svg.c, List 6-17 List 6-18 List 6-19
List 8-1
List 8-2
List 8-3
List 8-4
List 8-5
List 8-6
List 8-7
comma.c
hanoi.c
(ハノイの塔を試す)
tree.c
(グラフィックス作成 (SWF版),
グラフィックス作成 (SVG 版)
)
再帰の例 1
問: 再帰の例 1 のプログラムの出力結果はどうなるか?
List 8-8 List 8-9 List 8-10 List 8-11
(← ここ以前の課題の開閉)
※
ペーパーテストは、持込み不可、
オンラインテストは、教科書・プリント・ノートなど持込み可、
です。
新・明解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.リッチー 著 石田 晴久 訳 共立出版
に書かれている事柄で、この授業で取り扱わない(主な)項目は以下のとおりです。
文字列、 ポインタ、構造体、ファイル入出力、(ここまでは2年生の「電子・情報プログラミング」で扱います。)
ビット演算子、goto 文とラベル、 関数形式マクロ、列挙体 (enum)、 共用体 (union)、ビットフィールド、分割コンパイル、 動的メモリ割当て (malloc と free)、(これらは2年以降の各授業で必要に応じて紹介します。)