とらりもんHOME  Index  Search  Changes  Login

とらりもん - プログラミングの流れ Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

筑波大学農林工学系 奈佐原(西田)顕郎

<[[C言語入門]]に戻る>

!プログラミングの流れ
 C言語を使ったプログラミングでは、まず人間が、考えながら「{{fontc(ソースコード,red)}}」というものを計算機に打ち込む。ソースコードは、プログラムの設計図と言われることが多いが、むしろ「人間に理解可能な形態のプログラムそのもの」である。
 ソースコードは「テキストファイル」である。テキストファイルとは、文字コードのみで構成される、最もシンプルな文書ファイルの形態である。以下にC言語のソースコードの例を示す(眺めるだけでよい)。

{{attach_view(source.png)}}

図 ソースコードの例 (昼の長さを計算するプログラムの一部)

 ソースコードが完成すると、それを計算機によって「{{fontc(コンパイル,red)}}」する。コンパイルとは、ソースコードを、計算機がそのまま実行することが可能な言語(機械語) に翻訳することである。コンパイルによって、実行可能なファイルが生成される。そのようなファイルのことを、「{{fontc(バイナリーコード,red)}}」と呼ぶ。

 コンパイルが済めば、プログラムは実行可能である。しかし、できたてのプログラムは誤りを多く含むのが普通なので、バイナリーコードを実行するとすぐにエラーが出て停止したり、期待したのと違う結果が出たりする。そのたびに、ソースコードを検査・修正し、コンパイルし、また実行・・・ということを繰り返して、誤り(「{{fontc(バグ,red)}}」という)を修正していく。この作業を「{{fontc(デバッグ,red)}}」という。図式的に書けば、以下のようになる:

{{attach_view(program.png)}}

図 プログラミングの流れ。赤字は人(「考える」)、青字は機械がすること(「コンパイル」「実行」)である。

!プログラミングに必要なもの
 プログラミングには、(計算機はもちろんとして)以下のものが必要である:

# OS ... 計算機の基本ソフトである。Windows, Linux, MacOSなどが、パソコンでは一般的だが、大規模な数値計算でよく用いられるのはUnixである。LinuxやMacOSXはUnixの一種である。Windowsの上でも、[[Cygwin|http://www.cygwin.com/]]という、疑似的なUnix環境を構築するフリーソフトがある。この実習ではLinuxを用いる。
# テキストエディター ... テキストファイルを作成するのに使うアプリケーションソフト。プログラミングでは、ソースコードをテキストエディターで作成・編集する。 Windowsでは「メモ帳」や「ワードパッド」「秀丸」「TextPad」などが代表的である。LinuxやUnixではviやEmacs (mule) が代表的である。この実習ではviを用いる。
# コンパイラー ... コンパイル、すなわちソースコードをバイナリーコードに変換するためのアプリケーションソフトである。C言語にもいろいろなコンパイラーがあるが、この実習ではgccというコンパイラーを使う。gccはオープンソースであり, 広く使われている。
# デバッガー ... デバッグを支援するアプリケーションソフトである。この実習では使わない。
# 人間の頭と集中力 ... プログラミングにおいて最も重要なものである。もちろん、この実習でも用いる。

{{attach_view(linux.png)}}

図 C言語プログラミング中のLinux画面の例。右のウィンドウではviエディターでC言語のソースコードを編集中である。

'''問題0-1''': 以下の言葉の意味と, 相互の関係を説明せよ。
* ソースコード
* コンパイル
* バイナリコード
* バグ
* デバッグ
(ブラウザの「戻る」ボタンで戻ってください。)