プログラム実習の準備

開発環境

前置き

プログラミングI, IIでは、開発環境としてVisual Studioを、そして必然的にコンパイラはVisual C++を使ってきましたが、プログラミングIIIでは、Linux上のプログラム編集ツール(複数ある)と、コンパイラとしてgccを利用します。(昨年度まではVC++を使ってきましたが、情報処理教室の機器更新に伴い、Cで用いる簡易グラフィックライブラリがVC++では用いることができなくなったため、Linux上での演習を行うことにしました。)

II.まではグラッフィックライブラリを使わないので、Visual Studio2017で実習しても構いませんが、なれる意味で最初からLinuxで実習することを薦めます。エディタとしてVisual Studio2017を使うことは一つの選択肢です。

Linuxの立ち上げ

仮想環境上でのUbuntuの立ち上げ

プログラムエディタ、コンパイラ

Cのプログラミング実習では、統合環境ではなく

端末内では、一行に文字列として命令を打ち込み、エンターキーで実行される。出力も端末内に文字列として表示される。このような文字列でのOSとのやり取りという意味でCharactor User Interface(CUI)と呼ぶこともある。

CUIは、通常、コンピュータの核(core)の上にかぶさったシェル(shell)と呼ばれるソフトにより実現されている。Linuxの端末ソフト上でははbashというシェルが動いている。

シェルの操作になれることがまずは重要事項である。

ファイル一覧を操作するWindowsのエクスプローラと同様なソフトも存在するがファイルの操作を端末上で行うことに慣れてほしい。

KDEでは、端末としてKconsole、エディタとしてKate、エクスプローラ似のツール(ファイルマネージャ)としてPCManFMが標準的に用いられる。

以上の3つを立ち上げたスナップショット例を以下に示す。

ファイルマネージャやKateを使ったプログラムの編集は特に解説する必要は無いと思う。

端末での操作 (プログラムのコンパイルまで)

端末の操作について解説する。

各種コマンドの多くは、独立したソフト(実行可能ファイル)として備わっている。たとえば、"ls"と打つと現在いる位置(プレゼントワーキングディレクトリpwdと呼ぶ)のファイル、ディレクトリ(=フォルダ)の一覧が表示される。(lsはlistの略称である。)

次の画像は、次のことを実行したときのスナップショットである。

エディタとして、使い慣れたVisual Studio2017を使っても良いが、コンパイル、実行はubuntu上で行ってみよう。

準備

テキストのWebページからプログラムをダウンロードする

自ら手を動かしプログラムを打ち込むのも勉強になるので時間があれば、それを推奨したい。

とはいえ、テキストの著者サポートページ http://www.ma.is.saga-u.ac.jp/minamoto/book/book8/book8.html より、ソースコードやデータファイルをダウンロードして用いても良い。

(注)

日本語(かな漢字)コードに注意すること。著者ページに置かれているプログラムの漢字コードはEUCであるが、最近では、UTF-8が標準的に用いられる。

Webブラウザ上に表示されたプログラムコードを全選択し、編集中のファイルにコピー&ペーストすると、多くのエディタでは自動的にUTF-8にしてくれると思う。(端末上でコード変換する方法もいくつかあるので、興味あれば調べて試してみてほしい。)

Linux端末エミュレータ上でのシェルコマンド

Web上で「Linux 端末 コマンド」のようなキーワードで検索すると、よく利用するコマンド集や使い方のページを見つけることができる。気に入ったものを参照しながら慣れてほしい。

たとえば、

コマンドの中断のためのショートカットなども含めた操作の解説としては http://blog.livedoor.jp/hiroumauma/archives/958159.htm

コマンド一覧として http://www.k4.dion.ne.jp/~mms/unix/linux_com/

など

演習課題

第1回の実習では、以上のことを体験し、配布テキスト1の課題1-1, 1-2を行ってみる。 (まずは、テキストのホームページを閲覧し、サンプルプログラムを入手して、コンパイル実行してみよう。そのあと、課題に取り組んでほしい。)

途中まででもよいので、行ったことを画像(画面のスナップショット)を含む文書にし、PDF形式でe-Learningのページにアップすること。