電算機応用 (2)

2012年度から東京大学文学部で私(寺尾敦)が担当している, 「電算機応用 (2)」についての情報をまとめたページです.

1. シラバス

公開されているシラバスを転載します.

1.1. 授業概要

C言語の基礎を習得し, 基本的なプログラムを読み書きできるようになることが, この授業の目標である. プログラミング経験がないことを前提としている. C言語は長い歴史を持ち, 非常によく普及したプログラミング言語である. 汎用性が高く, 数多くのプログラマがこの言語を用いて日々の仕事をしている. プログラミングの初心者にとっては習得が難しい言語であると言われることもあるが, 近年は初心者向けの良著も多く出版されており, 最初に学ぶプログラミング言語としても適切である. この授業でもそういった良著のひとつを教科書に選んだ. 授業ではなるべく多くの時間を実習に費やす.

1.2. 授業計画

A1 ターム

内容
第1回 ガイダンス,プログラミング環境の用意
第2回 テキスト第1章:まずは慣れよう
第3回 テキスト第2章:演算と型
第4回 テキスト第3章:プログラムの流れの分岐
第5回 テキスト第4章:プログラムの流れの繰返し
第6回 テキスト第5章:配列
第7回 テキスト第6章:関数

A2 ターム

内容
第8回 テキスト第7章:基本型
第9回 テキスト第8章:いろいろなプログラムを作ってみよう
第10回 テキスト第9章:文字列の基本
第11回 テキスト第10章:ポインタ
第12回 テキスト第11章:文字列とポインタ
第13回 テキスト第12章:構造体

1.3. 授業の方法

実習が中心となる. 教科書を読み,例として示されているプログラムを実行しながら, C言語プログラミングの概念と方法を学ぶ. 学習が順調に進んで,教科書で飽き足らなくなった人は, 参考書として挙げてある書籍にもチャレンジするとよい.

1.4. 成績評価方法

筆記形式の期末試験を行い, その結果に基づいて成績評価を行う. 試験問題は「基本情報技術者試験」で出題されている C言語プログラミングの問題を参考に作成する.

1.5. 教科書

柴田望洋『新・明解C言語 入門編』(ソフトバンククリエイティブ)

1.6. 参考書

教科書の演習問題の解答はすべて以下の書籍に掲載されている. 教科書には解答は掲載されていないので,必要であればこの書籍を参照すること.

  • 柴田望洋『新・解きながら学ぶC言語』(ソフトバンククリエイティブ)

以下の参考書は教科書と同じ著者によるもので, 教科書をマスターした人が次の段階で取り組むのに適している.

  • 柴田望洋『新・明解C言語 中級編』(ソフトバンククリエイティブ)
  • 柴田望洋『新・明解C言語 実践編』(ソフトバンククリエイティブ)

1.7. 履修上の注意

1回の授業で1章分の学習を行う.授業時間内だけでは, 1章分の学習は終わらないだろう.授業時間以外にも, テキストを読んでプログラミングの練習をする時間をとってほしい.

1.8. その他

C言語は「基本情報技術者試験」で選択できるプログラミング言語のひとつである. 例年,4月の第3日曜日に試験が実施されるので(秋にも受験機会がある), 春休みに試験勉強をして,チャレンジしてほしい.

2. プログラミング環境の準備

演習室の Mac では,Mac OS および Windows の両方が使えます. この授業では Mac OS の環境で実習を行うことにします. 演習室の Mac にインストールされている Mac OS は, OS X Version 10.9.5 (Mavericks) です.

授業を始めるにあたって,授業用ディレクトリ(フォルダ)の作成と, 授業用ディレクトリへのパスの設定をしておきます. 以下のリンク先に手順を示してあります.

3. プログラムの作成と実行

テキストでも説明されているように, C言語のプログラムを書いてから実行するまでには, 以下の手順を踏みます.

  1. ソースプログラムを書く.

  2. ソースプログラムをコンパイルして, 実行プログラムを作る.

  3. 実行プログラムを実行する.

ソースプログラムの作成には Emacs というエディタを使います. ソースプログラムのコンパイルと,実行プログラムの実行は, ターミナルから行います. 以下のリンク先で,これらの方法を説明します.

Cプログラムの作成と実行

4. ファイルの整理

授業用ディレクトリの下にソースファイルと実行ファイルを保存していくと, このディレクトリはやがてファイルだらけになってしまいますね. テキストの1章分を学習するごとに整理するとよいでしょう. 以下のリンク先で,この方法を説明します.

ファイルの整理

5. 教科書の補足説明

教科書『新・明解 C言語 入門編』での記述を補足します. 補足説明のウェブページを章ごとに作成しています.

6. Emacs コマンド

この授業では, ソースプログラムの作成に Emacs を使います. Emacs にはたくさんのコマンドが用意されています. 基本的でよく使うコマンドは, ショートカットキーで実行できます. この授業でよく用いるコマンド(ショートカット)を以下にまとめておきます. ここに示しているのは最小限のコマンドです. Emacs のコマンドのもっと詳しい一覧や解説は, ウェブで容易に見つけられます.

C-x は,コントロール [Ctrl] キーを押しながら, [x] キーを押すという操作を意味します. M-x は,エスケープ [Esc] キーを押して指を離し, 続いて [x] キーを押すという操作を意味します.

最重要コマンド

キー入力動作
C-g 途中まで入力しているコマンドを中断
C-x u 直前の操作の取り消し(Undo)

ファイル操作

キー入力動作
C-x C-f ファイルを開く(新規ファイルの作成も同じ)
C-x C-v 別のファイルを開く(開くファイルを間違えたときに)
C-x C-s ファイルを上書き保存
C-x C-w ファイル名を指定(変更)して保存
C-c C-c Emacs の終了

文書編集

キー入力動作
C-f カーソルを次の文字に移動(forward)
C-b カーソルを前の文字に移動(backward)
C-n カーソルを次の行に移動(next)
C-p カーソルを前の行に移動(previous)
C-a カーソルを行の先頭に移動
C-e カーソルを行の末尾に移動
M-x goto-line カーソルを指定の行に移動(行番号の入力を求められる)
C-d カーソルのある文字を削除
C-Space 範囲指定の開始位置をマーク(この後で終了位置にカーソルを移動)
M-w 範囲指定をコピー
C-w 範囲指定を切り取り
C-y コピーあるいは切り取りした範囲を張り付け
C-c C-q インデントのやり直し