Labs Guide for Algorithms and Data Structures
アルゴリズムとデータ構造実習ガイド
「アルゴリズムとデータ構造A,B」のプログラム実習方法について書かれています.
もくじ
- 教科書が難しくてわからないという人は
今回採用した教科書は文章に矛盾がなく(バグがなく)正確
に動くアルゴリズムが書かれているので採用しました.簡単
に書いてあって矛盾ばかりのウケの良い教科書もありますが,
プログラムと同様に,一つ一つ細かく固い文章を書くことで,
誤りがない本としています.同じ日本語の本です.そして皆さんは大
学生です.読む前からあきらめたりしないで下さい.
それでも他のものに頼りたいという人は,
科学技術振興機構(JST)のWebラーニングプラザ
(e-learning)へどうぞ.
「分野・映像から選ぶ」→「情報通信」→データ構造とアル
ゴリズムコース」へ進み各自で学習します.(登録不要です.
多少教科書と表現が異なるところもありますが,講義に出れなかった時など試験対策にどうぞ)
- 実習課題ができない,プログラムが苦手という人は
次の順でチャレンジしてみましょう.
習っていないプログラミングテクニックもあると思いま
すが,ちょっと調べればすぐわかることばかりです.社会に
出た時の練習として,自ら学んで習得するようにしましょう.
「漢字の書きとり練習」や「補助輪なし自転車に乗る」のと
同じように,多少苦しくてもある程度繰り返して練習しない
とプログラミングはいつまでたっても上達しません.あきら
めたらおしまいです.ぜひ頑張って下さい.
- 教科書のp.188〜「付記:Cメモ」に1年生で学ぶCプロ
グラミングの書法がまとめてあります.多くの課題はここに
書かれていること以外のことは使いません.(この教科書を選
んだ理由はCプログラミングの参考書を別途購入しなくても良
いからなのです)
- 1年生の時に配付されたCプログラミング関連の資料を
探して読みましょう.(もしなくしてしまった人はこの方法
はあきらめて下さい)
- 参考書を読む
各コンピュータ演習室や11号館3,4,5階ガーデンにプ
ログラミング関係の書籍が置いてあります.プログラミング
が苦手,覚えていないと言う人は特に次の書籍は参考になり
ます.高校生程度の予備知識なしで自学でプログラミング
を習得する人向けなので大学の教科書にはできませんが,ど
れもやさしく説明されている本です.
「Cの絵本」(アンク著,翔泳社:黄色の本) |
「アルゴリズムの絵本」(アンク著,翔泳社:ピンク色の本) |
「C言語ポインタが理解できない理由」(朝井著,技術評論社:オレンジ色の本) |
- 友達やTAに聞く
はじめはみんなわからないのですから,恥ずかしがらずに聞いて下さ
い.中学校,高等学校と違って,大学というところは勉強
のきっかけだけは作ってくれますが,細かいところまで教えて
くれません.でも聞かれれば答えてくれます.聞かないと絶対に損です.
また,わかっている人は困っている人を助けてあげてく
ださい.プログラミングは(ハサミの使い方のような)手段
の一つなので他人に隠す必要はありません.逆に教えてもらった
人はファイルをそのままパクるのではなく,それを参考に自
分でプログラミングしてみましょう(そうしないと盗作・著作権違反になります).
- デバッガを使う
プログラムを1行ずつゆっくり実行し,各変数の値を調べな
がら動作させることのできるツールです.コンパイルはでき
るけどおかしな動作をする時に使います.
- 最終手段
課題が途中であっても,がんばった成果を必ずレポートとし
て提出してください.
提出しないと不合格になってしまいます.提出さえすれば再
提出や大幅減点となるもののいつか受理され,また,試験を
頑張れば十分合格を勝ち取れます.
もちろん,がんばった成果が見られない「白紙に近いレポー
ト」や「他人のレポートのパクリ」は不合格になる可能性大
なのでそのようなことがないようにしましょう.
「アルゴリズムとデータ構造」では,プログラムの本質に注目しま
す.つまり,見栄えやカッコ良さではなく,いかにプログラムを高速に動作させ
るか,いかに少ない使用メモリ量で実行させるか等の実行時間と使用記憶量の効率に注目します.
この技術によって,携帯電話やゲーム機器等の小型の計算機であり
ながら,素晴らしい動作をさせることができるようになります.
いくらコンピュータが速くなったからと言っても実行に数億年もか
かってしまうようなプログラムは簡単に書けてしまいます.アルゴ
リズムとデータ構造の知識で効率の良いプログラムを書くことによ
り,それがたった数秒で実行できてしまうかもしれません.アルゴ
リズムとデータ構造の知識なしでは,高速なプログラムを書くことは
できないとも言えます.
また,アルゴリズムとデータ構造は,Windows,UNIXのようなオペレー
ティングシステム(OS)や,gcc,Visual Studio 2008/2010のようなコ
ンパイラが異なっていても使える共通のテクニックです.
このため,実習はどのOSにも共通に動作するC言語(ANSI C)を用いて行います.
Cを基本としてC++やC#が設計されているので,作成したCプロ
グラムはWindowsやUNIX上のコンパイラ(gccやVisual C++)でも動
作します.perlやJAVA等もC言語の知識があれば,十分に理解できま
す.
実習は,情報理工学部学生の基本知識として必要不可欠な「UNIX環境」
を中心に行います(Windows環境は使えて当たり前です).普段使っている
Windows環境と比べて慣れないかも知れませんが,UNIX環境は作成さ
れるファイルも少なく高速で快適に動作します.
Windowsは一般ユーザ向けのOSですが,インターネットのような大き
く安定したシステムを動かしているOSはUNIXです.実習を通して,
少しでもUNIXに触れるようにしてください.
どこにいてもパソコンさえあればプログラム実習ができるような環
境が用意されています.
もちろん,自分のノートPC等を大学に持ち込みネットワークに接続
することもできます(接続方法は
ネットワーク接続ガイドの「学内無線LAN」や「Level1ネッ
トワーク」の各利用方法を参照すること).
以下では,自分のノートパソコンを学外から使う方法について説明
しています.
-
大学の演習室の設備は学外から直接アクセスすることはできないの
で,学外からコンパイルや課題の提出を行いたい人は次のwebサイト
を参照して,まずVPN設定を済ませましょう.
- 上記ガイドに従って,VPN接続を済ませておきます.
- Windowsパソコンであれば,フリーソフトのTeratermをダウンロー
ドしてインストールします.
-
窓の杜のダウンロードサイト等
(他にもあちこちにダウンロードサイトがあります)からファイルをダウンロードします.
- ダウンロードしたファイルをクリックして,インストールを開
始します.
- まず日本語環境でインストールする設定します.「Japanese」
を選択して「OK」をクリックします.
- 次にセットアップウィザードが起動するので「次へ」をクリックし
ます.
- 契約書の内容を確認し,「同意する」を選択して「次へ」をクリックし
ます.
- インストール先を尋ねてきますが,必要のない限りそのまま「次へ」をクリックし
ます.
- インストールするコンポーネント先を尋ねてきますが,必要のない限りそのまま「次へ」をクリックし
ます.
- ユーザインターフェイス尋ねてきますが,「日本語」を選択し
て「次へ」をクリックします.
- ショートカットの名前を確認して「次へ」をクリックします.
- ショートカットを作成する場所を確認して「次へ」をクリックします.
- インストールの準備ができたので設定内容を確認して「インス
トール」をクリックします.これでインストールが開始されます.
- インストールが完了したら「完了」をクリックしてインストー
ルが終了します.
- Teratermのインストールが完了したら,デスクトップ上の
「UTF-8 TeraTerm Pro」をダブルクリックしてTeratermを起動しま
す.
- 次のようにTelnetで接続するように入力して「OK」をクリックし
ます.
- 「TCP/IP」を選択し,ホストを「telnet.st.chukyo-u.ac.jp」に設定
- サービスで「Telnet」を選択します.
- 「login:」と尋ねてくるので,いつものようにユーザ名とパス
ワードを入力してログインしてください.
- これで自宅や大学外でもコンピュータ演習室の中にいるの
と同じようにgccによるコンパイル,a.outの実行ができます.
ソースファイルを自宅と大学の間で転送する方法は,次の「大学内外で
ファイルを転送する方法」を見て実行してください.
(参考)UNIXでコンパイルするためのコマンド
- ls:注目しているディレクトリ(フォルダ)のファイルを一覧表示
- cd:注目しているディレクトリ(フォルダ)を変更.(cd ..でひ
とつ前(親)のディレクトリへ移動します)
- mkdir:新たにディレクトリ(フォルダ)を作成
- rm:指定したファイルの削除
- rmdir:空のディレクトリ(フォルダ)を削除
- gcc:Cのソースファイルをコンパイルしてプログラムa.outを作成
- ./a.out:プログラムa.outを実行
課題の提出方法は「ST
ドメインファイルサーバ接続方法」を参考にして下さい.
自宅からもファイルレポートを提出することができます.
「Share」という共有ドライブの中に課題提出用フォルダがあります.
自宅に大学内のファイルを持ってきたり,自宅で作ったファイルを
大学へ送ったりする方法について説明します.
- あらかじめ,上記VPN接続ガイドに従って,VPN接続を済ませておきます.
- Windowsパソコンであれば,フリーソフトのFFFTPをダウンロー
ドしてインストールします.
-
窓の杜のダウンロードサイト等
(他にもあちこちにダウンロードサイトがあります)からファイルをダウンロードします.
- ダウンロードしたファイルをクリックして,インストールを開
始します.「次へ」をクリックします.
- 説明を読んで「次へ」をクリックします.
- インストール先を確認して「次へ」をクリックします.
- 最終確認をして「次へ」をクリックします.
- インストール完了を確認して「完了」をクリックします.
- デスクトップ上にできた「FFFTP」アイコンをダブルクリックし
て起動します.
- 「新規ホスト」をクリックしてホストを接続するホストを追加
します.
- 次のようにホストの設定をして「OK」をクリックします.
- ホストの設定名:「ftp.st.chukyo-u.ac.jp」
- ホスト名(アドレス):「ftp.st.chukyo-u.ac.jp」
- ユーザ名:(各自のアカウント名)
- パスワード/パスフレーズ:あらかじめ書いておいても良いで
すが,空白にしておけば実行事に聞いてきますので安全です.
- 「ftp.st.chukyo-u.ac.jp」を選択して,「接続」をクリックす
れば,左側ウィンドウに自分のパソコン,右側ウィンドウに大学の
コンピュータ演習室のホームディレクトリが表示され,ドラッグ&
ドロップでファイルを転送できます.
自宅のPCにVisual Studioをインストールする方法ですが,インストー
ルの手間がかかったり,ファイルが大きかったりするので注意が必
要です.また,Visual Studioを使った開発環境はバージョンによっ
て次々と変わり,日本語固有のクセ等もあるので世界標準ではなく,
あまりお勧めしません.Windowsプログラミング等に
興味のある人がチャレンジするのは良いのですが,「アルゴリズムとデータ
構造」の講義の範囲ではそこまでの必要性はありません.
-
理系学部MSDNアカデミックアライアンスプログラム
にアクセスして,内容を良く読む.
- 契約書を交わす
- プロダクト(ソフトウェア)をダウンロードする
- プロダクトIDを取得する
- ダウンロードしたプロダクト(ソフトウェア)をCD/DVD-Rに書
き込み,ソフトをインストールする
注意:
- このプログラムは理系学部(情報理工学部,
情報科学部,生命システム工学部)の学生だけが利用できます.
- ダウンロードには大量のディスク領域とダウンロード時間を必
要とします. コンピュータ演習室内ではダウン
ロードしないでください.もしダウンロードする場合でもホームディ
レクトリ(Hドライブ)ではなく,Dドライブ等のテンポラリドラ
イブに保存してください.できれば,ノートPC等を持参し,
学内の無線LAN等を利用して直接ダウンロードすることをお勧めします.
- プロダクトやプロダクトIDは絶対に他人
に渡さないで下さい.
マイクロソフト社との契約に違反することになり,違反者は法的処
罰を受けます.また,このプログラムを継続できなくなり,多くの
学生に迷惑をかけます.絶対に不正行為を行なわないようにしてく
ださい.
UNIXの動いているサーバ(計算機)にASTEC-XというXサーバソフト
を使ってアクセスします.
- Windowsを起動します.(起動時にいくつかメッセージが出ることがあ
ります.「OK」,「再び通知しない」,「はい」等をクリックして下さい)
- デスクトップ上のアイコンをダブルクリックして,
ASETEX-X(Xサーバソフト)を立ち上げます.
- 以下のようなxdmcp起動画面が表示されます.
- login: につづき,アカウント名(ログイン名)を入力し,リター
ンキーを押します.(Tabキーは押さないでください)
- Password: につづき,パスワードを入力します(文字は表示さ
れません).
- 正しいアカウント名とログイン名が入力されると下のようなXウィンド
ウ画面が起動します.
- Windowsの画面に戻るには,デスクトップ画面上に小さなウィンドウ
をクリックします.
- デスクトップ上にある黒いウィンドウは,かなや漢字も使える
端末エミュレータでktermと言います.
端末エミュレータは,ユーザがUNIXの計算機の前
に座って画面を見てキーボードを操作しているのと全く同じ機能を実現
します(下記の例では,medialgoというユーザがls01という計算機
を操作しています)
- 開いているすべてのウィンドウを閉じます.ktermを終了するに
は各ウィンドウで「exit」と入力してリターンキーを押します.
- Xウィンドウのバックグラウンド(青色)にマウスを置き,右ボ
タンを押します.そのまま押し続けて「Logout」,「Really Logout」
を順に選択してボタンを離します.
UNIXが動いているサーバ(計算機)にアクセスするにはもう一つ
別の方法があります.
UNIXが動いているサーバ(計算機)にTera TermというTelnetソフト
を使ってアクセスします.
ただし,この場合はktermに相当する部分
のみでUNIXのグラフィック機能等を利用できません.でも,プログ
ラムを実習するには十分です.
- 「スタート」,「すべてのプログラム」,「Utility」,「Tera Term Pro」,「Tera
Term Pro」の順に開きます.下のようなウィンドウが現れます.
- Host欄が「Linux」になっていることを確認します.
- Service欄の「SSH」を選択し「OK」をクリックします.
(「Telnet」でも可ですが,通信が暗号化されません)
- 指示に従って,いつものログイン名(アカウント名)と
パスワードを入力します.(パスワードは表示されないので注意)
これで,ktermと同様に端末エミュレータとしてTeraTermが利用
でき,ユーザがUNIXの計算機の前に座って画面を見てキーボードを
操作しているのと同じ状態になります.
- 「logout」または,「exit」と入力してリターンキーを押しま
す.
- ウィンドウが閉じるのを確認します.
ソースファイルの作成
以下の手順でソースファイルを作成します.
UNIXのホームディレクトリ,WindowsのH:ドライ
ブは全く同じディレクトリ(フォルダ)なので,下記のどちらの方
法でもソースファイルを作成できます.
- ASTEC-Xを使ってアクセスした場合は「kterm」,Tera
Termを使ってアクセスした場合には「Tera Term」と書かれたウィ
ンドウで,「ls」コマンドを入力してリターンキーを押します.
するとカレントディレクトリ(注目しているディレク
トリ)の中のファイルを一覧表示してくれます.
algoというディレクトリを作成するために「mkdir algo」というコ
マンドを実行します.lsコマンドで作成されていることを確認し
てみましょう.
- 「cd algo」コマンドを使ってカレントディレクトリを変更
します.
- 同様にして実習用のディレクトリ(lab1,lab2...)にカレン
トディレクトリを変更します.(なければ,同様にmkdirコマンド
で作成します.)
- 本来はここでUNIXのテキストエディタを使うところですが,
使い方説明をしている時間がないので,下記を参照して「Terapad」や「メモ帳」
で作成します.この時,実習用のディレクトリ(lab1,lab2...)
の中にsource.cという名前で保存することを忘れないで下さい.
(参考)UNIXのテキストエディタについて
UNIXのテキストエディタには「emacs」,「vi」などがあります.
「emacs」や「vi」と入力すれば起動し編集を開始できます.
emacsの使い方は,検索エンジンを使って各種Webサイトを参照してください.
(参考)UNIXでコンパイルするためのコマンド
- ls:注目しているディレクトリ(フォルダ)のファイルを一覧表示
- cd:注目しているディレクトリ(フォルダ)を変更.(cd ..でひ
とつ前(親)のディレクトリへ移動します)
- mkdir:新たにディレクトリ(フォルダ)を作成
- rm:指定したファイルの削除
- rmdir:空のディレクトリ(フォルダ)を削除
- gcc:Cのソースファイルをコンパイルしてプログラムa.outを作成
- ./a.out:プログラムa.outを実行
- デスクトップ上のアイコンをダブルク
リックして,ウィンドウを開きます.開いたウィンドウの下側にネッ
トワークドライブが表示されます.
- 「`fs-stのHOMEstud'のusername(H:)」と書かれたアイコンをダブルクリックします.
下のようなウィンドウが開きます.これがユーザのホームディレク
トリです(usernameは各自のアカウント名です,以下,H:ドライブともいいます).
ホームディレクトリはWindowsとUNIXで共通で,どちらからもお
なじファイルにアクセスできます.
- 「アルゴリズムとデータ構造」用のディレクトリ(フォルダ)
「algo」を作成して,他の科目と区別します.(UNIX上で作成した場合
には既に存在しているので,この操作は不要です)
- ウィンドウ内のアイコン以外のところをマウスで指して右ク
リックします.
- 「新規作成」→「フォルダ」の順でクリックします.
- 「新しいフォルダ」というディレクトリ(フォルダ)ができ
るので,名前を「algo」(必ず半角英字)に変えます(UNIXから
アクセスできなくるので,ひらがなや漢字のファイル名は作
成しないようにします).
- 「algo」フォルダを開きます.
- 課題を区別するために,その中にさらにディレクトリ(フォルダ)を作
成して他の課題と区別します.Lab1,Lab2...と課題番号がわかるように作成
すると良いでしょう.
- 課題のフォルダを開きその中にソースファイルを作成します.ソースファ
イルの名前は適当な名前にします.ここでは「testsource.c」とします.
- 「Terapad」や「メモ帳」等のWindowsのテキストエディタ
ツールを起動し,H:ドライブ(ホームディレクトリ)の各課題ディレ
クトリ(フォルダ)の中にtestsource.cという名前で保存します.
- Visual Studio 2010を起動してファイルを作成します(UNIX環境で実行
すると言う意味で本実習ではお勧めしません.この場合testsource.cで
はなくtestsource.cppというC++ファイルが作成されます)
注意:ソースファイルにはかなや漢字を入れず全て半
角英数文字で作成することでトラブルを避けられます.
また,Windows, UNIX, Macintosh等で作成されたテキストファイル
はその中に含まれる漢字コードや改行コードが異なるので,他方の
エディタで見ると見栄えが悪くなることがあります.どれかに統一
しましょう.
下記のソースファイルは何もせず終了するプログラムです.
ソースファイルには下記の部分が最低限必要です.
mail関数の中にプログラムの動作を示すmain関数や,さまざまな関数を
追加してさまざまな動作を実現します.
(ソースファイル例)
//H112000 Chukyo Taro←印刷した時に誰のものかわかるように,学籍番号と名前を入れると良い
//Lab 1←//以下はコメントです.プログラムには全く関係ありません
#include <stdio.h>←この行を必ず入れます
//(以下にmain関数から呼ばれる関数等を記述)
int main(int argc, char* argv[])←「int main()」としても大丈夫ですが,正式はこれです.
{
//(ここににプログラムの動作を指示する関数等を記述)
return 0;←main関数が終った時に関数が返す値を指定します
}
|
これから行う方法が世界的に標準のコンパイル方法です.(Windows
上のコンパイルはどちらかと言うと非標準的です)
- UNIXが使える状態にします.
- 「kterm」または「Tera Term」ウィンドウをハイライトします.
- コンパイルコマンドgccを使ってコンパイルします.
gcc testsource.c
testsource.cは作成したソースファイル名です.
- 作成したソースファイルに文法エラー等がなければ,何も表示さ
れずコンパイルが終了します.メッセージが表示されたときはエラー
の内容を良く読んでソースファイルを修正しもう一度コンパイルし
ます.
- 作成されたファイルは「a.out」と言うファイルです.これが実
行ファイルです.「./a.out」と入力してリターンキーを入力するとプ
ログラムが実行されます(「./」はおまじないと思って下さい).
- もし作成されたプログラム名を「a.out」以外に変更したいとき
は,名前を変更するUNIXコマンドmvを使います.使い方は以下のよ
うに入力してリターンキーを押します.
mv a.out program
これで「a.out」という実行ファイルは「program」という名前に変
更され,以後,「./program」と入力するとプログラムが実行されます.
もし,コンパイルと同時に programという名前でプログラムを作成
したい時は次のようにしてコンパイルします.
gcc -o program testsource.c
注意:このようにして作成されたプログラムはWindows上では実行できま
せん.
↓a.outの実行例
(参考)UNIXでコンパイルするためのコマンド
- ls:注目しているディレクトリ(フォルダ)のファイルを一覧表示
- cd:注目しているディレクトリ(フォルダ)を変更.(cd ..でひ
とつ前(親)のディレクトリへ移動します)
- mkdir:新たにディレクトリ(フォルダ)を作成
- rm:指定したファイルの削除
- rmdir:空のディレクトリ(フォルダ)を削除
- gcc:Cのソースファイルをコンパイルしてプログラムa.outを作成
- ./a.out:プログラムa.outを実行
(講義では世界標準のgccを使い,この方法は自習や自宅のパソコン
で行うときにのみ利用してください)
作成したソースファイルをtestsource.cとします.
以前のVisual C++6.0等ではtestsource.cのアイコンを
ダブルクリックするだけでプロジェクト等を自動的に作成してくれ
ました.
Visual Studio.NETやVisual Studio 2003/2005/2008/2010ではプロジェクトは別途作成
しなければならなくなりました.以下では,すでに作成されているC
ソースファイルをもとにWindows上でコンパイルする方法について説明します.
(ここではVisual Studio 2005について説明しますが,Visual
Studio 2008/2010でも同様です)
- まず「スタート」→「すべてのプログラム」→「Programming
Languages」→「Microsoft Visulal Studio 2005」を開き,
Microsoft Visual Studio 2005を起動します.
- 「規定の環境設定」の選択画面が表示されたら「Visual C++開
発設定」を選択して「Visual Studioの開始」ボタンをクリックしま
す.(しばらく時間がかかりますが,待ちます)
- 「ファイル」メニューから「新規作成」→「プロジェクト」を
選択します.
-
プロジェクト名(ここではtestprojとします)と場所を指定し,
Visual C++のプロジェクトのテンプレートから「空のプロジェクト」
を選択します.
-
プロジェクトの場所についてワーニングが表示されますが,
「OK」を選択します.
- ソリューションエクスプローラとよばれるファイル構成図に
「ソースファイル」フォルダがあります.そこに,ソースファイル
testsource.cをドラッグ&ドロップします.
- 「ビルド」メニューから「ソリューションのビルド」を選択し
てコンパイル(ビルド)します.
- 「出力」ウィンドウにビルド結果が表示されます.正常終了な
らコンパイル成功,失敗なら,ソースファイルを修正してもう一度
やり直します.
次回からは指定した場所(H:\.NT\Visual Studio 2005\Projects)の「testproj.sln」プロジェクトファイル
を開くだけで,すぐにVisual Studio 2005の統合環境を実現する
ことができます.「source.c」をダブルクリックしただけでは,ファ
イルの閲覧しかできまません.
注意:このようにして作成されたプログラムはUNIX上で実行できま
せん.
-
作成されたプログラムを実行するには,「デバッグ」メニューから
デバッグなしで開始」を選択して実行します.
(ウィンドウが開いて実行結果が表示されます.結果を確認したらEnterキーを入力し
て終了します)
次のように,「デバッグを開始」を選択すると,プログラムの動作
(変数の変化)を1行ずつチェックしながら動作させることができ
ます.詳しくはデバッグの方法を
みて下さい.
プログラムがちょっと複雑になるとバグを探すのに必需品になりま
す.
デバッグは上記のWindows上による方法ではなく,世界標準のUNIX上
の方法をできるだけ使用してください.見た目はほとんど同じ
です.
所属するクラスによって指定された課題を指示に従ってレポートを
作成し提出します.提出期限は特に指定のない限り
課題提示日の1週間後の午前9時3
0分とします.
遅れて提出されたり,指定された様式以外のレポートは一切受理しませんので,
安全をみて(前日までには)提出するようにしてください.
提出に遅れたり,提出場所を間違ったり,明ら
かに他人のレポートを写した場合等はいかなる理由があっても,期
限内に提出されなかったものとします(診断書等を提出し特別に認
められた場合を除きます)
レポートの提出方法は次に説明する「紙レポート」または
「ファイルレポート」のいずれかです.
紙レポート
書面で報告書を作成し提出します.レポート用紙に手書きした
ものも可としますがお勧めしません.できるだけワープロ等で作成
して下さい.用紙のサイズはA4に限ります.
レポートは次の順に並べ,ホチキス(ステープラ)で上側2箇
所を止めます.
体裁が指定と異なる場合は,中身がいくら良くても
受理されません.
ホチキス斜め1箇所止めは「レポート」ではなく
一般に「参考資料」程度の場合に使用するものとみなし受理しませ
ん.ホチキス止めされていないレポートは論外です.
- 表紙:科目名(「アルゴリズムとデータ構造」),課題番号とタイ
トル,提出年月日,学籍番号・氏名が書かれたもの.(表紙は生協
等で購入する必要はありません.レポート用紙等で十分です)
- 指示にしたがって報告する事項:プログラムの場合はそ
の説明や実習の内容について自分自身でまとめたもの.
「アルゴリズムとデータ構造」の場合は,レポート用紙1枚が
すべて埋まる程度以上の記述量が適当です(手順だけではダメ.詳細な説明も書くこと).
- 表や図(グラフ):プログラムを提出する場合は,プログラムのソースファイル(testsource.c)を印刷したもの.
必ず,main関数と自分で作成した関数が含まれていること.
紙レポートの提出場所は
17号館1731/1732教室前の提出ボックス
です(学科・学年・班等により提出場所が違います.間違えないでください).
レポート表紙例(上の「−」はホチキスの位置です)
− −
アルゴリズムとデータ構造
レポート
Lab1:UNIX入門
提出年月日:2012年4月10日
学籍番号:H112000
氏名:中京 太郎
|
ソースファイルの印刷方法
- UNIX上でプログラムを印刷するには以下のコマンドが利用できます.
prn source.c
(source.cはプログラム名)
(近くのプリンタから出力されます)
- Visual Studio 2010でプログラムを印刷するには,印刷したい
ソースファイルが表示されているウィンドウをハイライトし(ウィ
ンドウをマウスでクリックしタイトルバーを前にする),「ファイル」
メニューから「印刷」を選択します.
ファイルレポート
作成したソースファイルを指定の提出先フォルダに置きます.
- まず,提出するソースファイルをコピーして複製を作り,
そのファイル名を「学籍番号.c」とします.学籍番号は半角数字と
します(例 H112000.c).
他の名前で提出した場合は,提出されなかったものとして扱います.
注意してください.また,ソースファイル内には学籍番号と名前を
書いておくようにしてください(他人と間違えられることがありま
せん).
- 次に,下記の順でウィンドウを開き,提出するファイルをドラッグ&ドロップし
て指定のフォルダに提出します.
- 「マイコンピュータ」
- 「’fsーst’のShare(S:)ドライブ」
- 「Lecture」
- 「t3」
- 「アルゴリズムとデータ構造A・B」
- 「課題提出用」
- 「課題番号」 例:lab1 (課題によって「ベーシッククラス」と「アドバンストクラス」に別れている場合もあります)
注意:
- 他の人が提出したファイルの中身は見ることができません.自
分のファイルのみアクセスできます.
- 提出したファイルの内容を変更したり,再提出するのは自由で
す.同じファイル名で上書きして変更してください.
もし上書きができない場合は,「学籍番号+a〜z.c」というファイ
ル名(例:H112000a.c)で順に提出してください.a〜zのうち,最
後のファイルを最終提出ファイルとみなし採点します.(他は採点
しません)
- 提出期限後にファイルを編集したり上書きしたりしないでくだ
さい.期限後に提出されたものとして扱われてしまいます.
- 提出期限後,採点が開始されるとファイルが移動されファイル
がなくなります.ファイルがないからと言って,さらに提出しない
でください(再提出とみなされてしまいます).
- 再提出の判定を受けた場合もいつもと同じフォルダに提出してください
(採点済のファイルはすでに移動されていますので新規に置いて下
さい).
提出上の注意:
- 紙レポートの表紙やホチキスの位置等の体裁が整っていなかっ
たり,指示通りのレポートが作成されていない場合は,再提出を命
じます(悪質な場合は,提出そのものがなかったとみなすこともあります)
- ソースファイルの最初の部分には学籍番号,氏名をコメントと
して記入してください.他の人のファイルや印刷物と間違えられる
ことを避けることができます.
もし再提出を命じられた時は次の手順に従ってレポートを修正し,
レポートを作成し直して下さい.
- 再提出かどうかを確認
-
再提出になった場合は,掲示や講義で連絡します.
- レポートの受け取り
-
紙レポートは講義中または講義後に返却します.もし講義中に受け
取れなかった場合は,17号館3階課題提出ボックス上にレポート
を置いておきますので各自受け取りに来て下さい.
ファイルレポートの場合は,レポートは返却しません.
提出前に各自コピーするなどして保存しておいてください.
- 再提出レポートの作成
-
紙レポートの場合,もとのレポートは表紙を含
めて絶対に手を加えず,もとのレポートの最後に修正したレポー
トを追加してください.
新しく追加・変更したページをもとのレポートの最後に追加してく
ださい(そうしないとどこが修正指摘箇所なのかを確認できず採点
できません).
もし,どうしてもレポートすべてを作り直したい場合でも,もとの
レポートの最後に追加してください.
ファイルレポートの場合,提出ファイルを作り直して下さい.明
らかに再提出と判断できるものだけ再提出としていますので,指摘
部分は明らかでわかるはずです.それでもどこが悪いのかわからな
い場合は,教員に問い合わせて下さい.
- 再提出レポートの提出
-
紙レポートの提出先は,通常と同じレポート受け(1731/17
32教室前のレポート提出ボックス)です.
ファイルレポートの場合は,いつもの提出場所にいつものように
「学籍番号.c」という名前で提出してください
(すでに採点済のファイルは移動されています).
レポートの再提出期限は通常のレポートと同じです(午前9時30
分までです).期限に遅れないようにできるだけ早めに提出して下さい.
次のようなときは,設定ファイルが異常になっている可能性があります.
- ASTEC-Xでログインしても何もウィンドウが開かない.
- UNIXのコマンド入力するところの文字(プロンプト)が%
- prnコマンドで適切なプリンタに印刷できない
次の操作で初期設定に戻すことができます.ただし,Mailディレクトリも初期化
されてしまうので,自分でカスタマイズした場合を除いて,必要な
ファイルは各自でバックアップしてから実行してください.
- TeraTermを使ってLinuxにログインします.
- 次のコマンドを実行してください.
/usr/local/setting/set_up
- 表示される説明を読んで適切なコマンドを実行します.通常は
/usr/local/setting/set_up -d
でOKでしょう.
これで現在の設定ファイルがバックアップされ,デフォルトの設定に戻り
ます.
- ログインし直すとデフォルトの環境になります.
ホームディレクトリ(H:ドライブ)上にある.cshrcや.login等の「.」
で始まるファイルは一般に設定ファイルです.動作がおかしくなる
人の大半は,これを削除してしまうことが原因です.これらのファ
イルは削除すると動作がおかしくなります.決して消したりゴミ箱
に捨てないで下さい.
このほかよくある原因として,ホームディレクトリ(H:ドライブ)
上にあるファイルの合計サイズが規定サイズ(2011年度からは各種
ファイルを含めて1GB)を越えるとファイルを保存できなくなること
に起因する障害が考えられます.規定サイズを越えると新規にファ
イルを保存できなくなります.ソースファイルをコンパイルした結
果,プログラムを保存できないことがあります.
規定サイズ以内になるように,不要なファイルを削除すると障害が
取り除かれることがあります.
病気や忌引等が理由(提出フォルダ間違いや,紙レポート提出箱の提出
間違い,就職活動や部・サークル活動等の個人的な理由を除く)で
レポートが提出できなかったときは,できるだけ早く教員まで相談
しにきてください.提出期限延長の対応を行います.
このとき,病気の場合は診断書,忌引の場合は回葬お礼等の証拠書
類の提出を求めますので,持参してください.用意に時間がかかる
場合は相談してください.
社会に出てから「契約を守る」=「約束を守る」ことの練習を兼ねています.
このほか,国を代表する競技会へ参加する等,公の理由による場合
は,それが決定した時点ですぐに教員に相談してください.事後の
場合には,提出期限延長の対応を行うことができない場合があります.
実習中にわからないことがある時は,まず近くの人に聞いてみましょ
う.意外と簡単に解決できることがあります.
それでも解決できないときは,以下のティーチングアシスタント
(TA)または教員に聞いて下さい.特にTAは皆さんの先輩なの
でいろいろなことを知っています.
レポート提出までいろいろなわからないことが出てくるはずです.
〆切までにレポートを提出できるよう,問題解決のために努力してください.
2004.04.11.
2012.04.06.(最終更新)
fmiso at sist.chukyo-u.ac.jp