三重大学 工学部 情報工学科
━━━━━━━━━━━━━━━━━━━━

上級プログラミング演習 I,II

テーマ1  基礎技術

━━━━━━━━━━━━━━━━━━━━


目次

  1. 目標

  2. 演習の概要

  3. 日程 (解説,課題へのリンク)

  4. 評価方法  (レポート提出法など含む)

  5. 提出状況など
  6. 担当教員 (鈴木) 連絡先





目標

 このテ−マでは, 上級プログラミング演習の実施に必要な基礎的な技術の習得を目的とする.
 具体的には,組版ソフトウェア TeX の使用法, プログラミングの効率化のための make コマンド, デバッグのための GDB コマンド, コマンドインタプリタである tcsh の使用法およびスクリプトの作成法 の入門的な実習を行う.
 これらの技術は,上級プログラミング演習において,演習の実施, 結果の整理などで利用できるだけでなく, 情報工学実験,卒業研究などでも必要になるので, 是非,この機会に習得していただきたい.




演習の概要

 モンテカルロ法による図形の面積の計算を題材にして, グラフの描画,図の描画,プログラム開発 (自動実行,デバッグ) について実施し,最後に,TeX を利用して報告書を作成し,提出する.
 この中で,以下の 6 項目のサブテーマについて実習する. 前半の 3 回では TeX による文書作成に関連した実習を行い, 後半の 3 回では プログラミングを効率的に行うためのツールに関する実習を行う.
  1. 組版ソフトウェア TeX
  2.  組版とは,原稿の指示に従って印刷できるように凸版を組むこと, あるいは,組んだものを表す.
     TeX では, 印刷に必要な情報を命令の形で原稿の中に埋め込み, コンパイラによって印刷装置に依存しない形式のファイルを作成できる. また,それを PostScript や PDF 形式のファイルに変換できるソフトウェアも用意されている. 商用印刷にも使えるような高度な組版を実現できる.
     このサブテーマでは,TeX による簡単な文章の作成を通して, TeX による演習報告書の作成に必要な最低限の技術を習得する.

  3. グラフ描画ソフトウェア gnuplot
  4.  対話的にコマンドを入力してグラフを描画でき, 作成したものを pnm (pbm,pgm,ppm),ps (PostScript), eps (Encapsulated PostScript), png (Portable Network Graphics format) などの画像ファイルにして保存できる.
     演習や実験の報告書に添付するグラフをつくるのに役立つ. このサブテーマでは, gnuplot によるグラフの作成法と,作成した eps 画像を TeX 文書に貼り付ける方法を実習する.

  5. 2D (2 次元) ドロ−イングソフトウェア Tgif
  6.  Windows の office に含まれる図形描画ツ−ルと同じ様なもの. いろいろな図形をベクトルとして記憶しており,それらを拡大したり, 変形したり,組み合わせたりして複雑な図や絵を描くことができる.
     作成した図を ps, eps, gif, html, pdf, png, jpeg などの画像ファイルで出力できる.
     このサブテーマでは, Tgif による図の作成法と,作成した eps 画像を TeX 文書に貼り付ける方法を実習する.


  7. コンパイル管理ソフトウェア Make
  8.  ソ−スプログラムファイル群から オブジェクト形式プログラムや実行可能プログラムを作成するのを 制御し,管理することができる.
     例えば,C プログラムから実行可能プログラムを作成したり, TeX ソ−スファイルから PDF 形式ファイルを作成したりするとき, 作成手順をあらかじめ記述しておくと, ソ−スと最終成果物との依存関係や変更日時などを調べて, 必要な作業を自動的に行ってくれる.
     このサブテーマでは, C プログラム群からの実行可能プログラムの作成に make を使用する方法を実習する.

  9. デバッガ GDB
  10.  プログラムの実行を追ったり,実行を一時中断して, 変数の値を参照したり,設定したりすることで, プログラムのどこにバグがあるかを探すことができる.
     このサブテーマでは, エラーが発生するプログラムを題材にして, エラー箇所の発見に gdb を利用する方法を実習する.

  11. シェル (tcsh)
  12.  シェルは,UNIX 系 OS で使用されるコマンドインタプリタであり, ユーザと OS の間に介在してユ−ザの操作や命令を処理し, OS とやりとりをするソフトウェアである.
     シェルは,コマンドインタプリタとして働くだけでなく, ファイルに書かれた指示の系列 (シェルスクリプト) を順次解析して実行することもできる. この機能を利用すると, 複雑な操作を何度も指示しないですむという利点がある.
     このサブテーマでは, tcsh の使いかた,および, 簡単なスクリプトを題材にしてコマンドを自動実行する方法を実習する.

 なお, 限られた時間内でこれらの項目を完全に習得することは困難なので, この演習では基本的な部分の習得に重点を置く.
 今後,より有効に活用するためにも, 演習後もこれらの項目について自習し,技術の向上に努めていただきたい.




日程 (解説,課題へのリンク)

 各サブテーマについて,技術 (ソフトウェア) の解説,および, 課題のページが用意されている.
 なお,それぞれの技術の解説を補完するために, いくつかの関連するウェブページのコピーを用意したので, インターネットで探して回る前に,まず, 下記の URL を参照していただきたい.

詳細な解説へのリンク (抜粋)


実施日 サブテーマ 解説への
リンク
課題への
リンク
1 '06.04.12 TeX による文書作成
(文書の論理構造とマークアップ言語の理解)
2 '06.04.19 gnuplot によるグラフ描画
(数式入力とファイル入力によるグラフ描画,TeX への埋込み)
3 '06.04.26 Tgif による図の作成
(対話的な図の作成,TeX への埋込み)
4 '06.05.10 Make
(依存関係による自動コンパイル)
5 '06.05.17 GDB
(プログラムのデバッグ)
6 '06.05.24 シェル
(シェルの基本とスクリプトの作成)




評価方法