Sc283(1) 情報科学応用演習I 資料 (Part 1) 

[作業] 演習の準備

手順

  1. ログオン時の確認
  2. Firefox の動作の確認・設定
  3. アドオン Firebug の追加
    1. Firefox で「ツール」メニューの「アドオン」を選び,「アドオン」ダイアログを開く.
    2. 「アドオン」ダイアログで「アドオンを入手」を選び,左上の入力欄に firebug と入力して Enter を入力する.
    3. 表示されたアドオンのリストから「Firebug」を選び,「Firefox に追加」をクリックする.
    4. 確認のダイアログで「今すぐインストール」をクリックする.
    5. 「Firefox を再起動すると変更が反映されます」というメッセージが出たら,「Firefox を再起動」をクリックする.
    6. Firefox が再起動し,「新しいアドオンが追加されました」というメッセージが出れば, インストールは完了しているので,「アドオン」ダイアログを閉じる.
  4. 拡張子の表示

    エクスプローラ等で拡張子が表示されない場合, 以下の手順に従って,ファイルのアイコンを表示したときに, ファイル名とともに拡張子も表示するようにしておく. (参考:ファイルと拡張子の表現 (by 出口先生), ファイルの拡張子 (Sc182(2)資料))

    1. 「マイ ドキュメント」をダブルクリックする.
    2. 1.で開いたウィンドウの「ツール」メニューの「フォルダ オプション」を選ぶ.
    3. 「表示」タブの「詳細設定」で「登録されているファイルの拡張子は表示しない」 のチェックをはずす
     
  5. WZ Editor のショートカット作成

    「WZ Editor」のショートカット(Sc182(2) の授業で作成)がデスクトップにない場合, それを作成する.
    (参考: WZ Editorのショートカットをデスクトップに置く (by 出口先生))

    1. デスクトップで右クリックし,「新規作成」-「ショートカット」を選ぶ.
    2. 「参照」ボタンを押して,「マイ コンピュータ」の中の 「C:」ドライブの 「Program Files」の中の 「Wz Editor」内にある 「WZEDITOR.EXE」(WZ Editor のプログラム本体)を探して選ぶ.
    3. 「コマンドライン」の C:\Program Files\Wz Editor\WZEDITOR.EXE を確認して[次へ]をクリックする.
    4. ショートカットの名前を適当に定めて(そのままでもよい.拡張子の .EXE を消すのもよい), [完了]をクリックする.
    5. できたショートカットのアイコンを適当に配置する. 画面左端のアイコンの列に並べるのを推奨する.
     
  6. 作業用ディレクトリ(フォルダ)の作成

    作成したプログラムのファイルなどをまとめておくために, 「マイ ドキュメント」の中に専用のフォルダ「sc283」 (全て半角文字) を作成する. (参考: 新しいフォルダの作成)


[解説] プログラミングとは

プログラミングとは,プログラムを作ること

プログラムと言語処理系

プログラム

「仕事」の手順を厳密かつ詳細に記述したもの. 一般的には,プログラム記述のための特別な人工言語(プログラミング言語と呼ばれる)を用いて記述される.

言語処理系

プログラミング言語で記述されたプログラムは, そのままではコンピュータ上で実行できない. それを実行するためのしかけが言語処理系である.

プログラミング言語で記述されたプログラムを, コンピュータが直接実行できる機械語に翻訳するプログラムを コンパイラ と呼ぶ. コンパイラを用いた場合, プログラムは最終的には実行ファイル ( .exe ファイルなど) に変換される.

コンパイラ方式説明図

プログラミング言語を直接に解釈しながら実行するプログラムは インタプリタ と呼ばれる. 翻訳を経ないでその都度解釈することから, 通訳系 と呼ばれることもある.

また,これらを組み合わせて, プログラミング言語からコンピュータの機種に依存しない中間的な言語に一旦翻訳し, それをインタプリタで実行する方式もある.(後述の Java など)

インタプリタ方式説明図 混合方式説明図

プログラミング言語

プログラミング言語にはさまざまなものがある.そのいくつかを以下に簡単に紹介する.

言語説明
C, C++ Unix という OS を記述するために開発され,広くつかわれるようになった. 後にオブジェクト指向という考え方を取り入れて拡張したものが C++ である.
Java Sun Microsystems が, ネットワーク環境で使うことを前提に開発したオブジェクト指向言語. WWW の機能拡張 (アプレット) に多く用いられていたが, 普通のアプリケーションプログラムの開発など,さまざまな用途に用いられるようになってきた. 仮想マシン(インタプリタの一種)上で動くため,コンピュータの機種には依存しない.
JavaScript Netscape 社が開発したインタプリタ方式のオブジェクト指向言語. この演習ではこれを主に用いる. 詳細は後述.
Perl 文字列やテキストの加工に適したインタプリタ方式の言語. 覚えるのは難しいが,かなり便利に使える.
Visual Basic 厳密には言語というより,言語処理系.Microsoft が開発・提供している. コンパイラ方式の言語だが,即時の実行も出来るのでインタプリタのようにも使える. Windows 上ではかなり手軽に使え,以前はこの演習でも用いていた (2002年度資料). 将来は廃止の方向と言われていたが,かなりの変更を施されつつ,新版が作られ続けている.
Lisp 記号処理に適し,人工知能分野でよく用いられている. さまざまな方言があり,その方言である Scheme や Common Lisp は, 以前,Sc289(2) 認知情報処理の授業で使用していた. (Sc289(2)の 2005年度資料2001年度資料

これら以外にも非常に多くのプログラミング言語がある.

JavaScript の特徴

プログラミングの流れ

  1. 何をさせるのかを考える (要求定義)
    どんな仕事をさせるのか・どんな機能を持たせるのかを考える.
  2. プログラムの「見映え」を考える (外部設計)
    利用者等からどんな風に見えるのかを考える.
  3. プログラムの中身を考える (内部設計)
    要求された機能や「見映え」を実現するための, プログラム内部の「シナリオ」(仕事の手順)を作る.
  4. プログラムを書く (コーディング - 狭義のプログラミング)
    「シナリオ」をプログラミング言語に翻訳する.
  5. テストしながら直す (テスト・デバッグ)
    実行してみて正しく働くかどうかをテストし,おかしいところがあれば直す.
  6. 修正・改良する (保守・改訂)
    利用開始後も不都合があれば直し,必要ならば機能を拡張する.

[タスク] 道具の確認

テキストエディタ

プログラムの記述には,テキストエディタを用いる. 授業では,Sc182(2) 情報科学演習 でホームページの作成に用いた WZ エディタを用いる.

インタプリタ

Firefox を JavaScript のインタプリタとして利用する. また,アドオンとして Firebug を追加すると,以下のような機能が使用できる.

(参考: Firebug - Web Development Evolved


[タスク] Hello world プログラム

概要

Firefox のウィンドウに Hello world. と表示するプログラムを作成する.

手順

  1. プログラムのファイル (ソースファイル) を作成する.

    WZ エディタを使用して,以下の内容のファイルを作成し, 「マイドキュメント」の sc283 の下に js01-1.html という名前で保存する.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <title>JavaScript Sample 1-1</title>
    <script type="text/javascript">
    <!--
    document.writeln("<p>Hello world.</p>");
    // -->
    </script>
    
  2. プログラムを実行する.

    上で保存したファイル js01-1.html を Firefox で開く.ファイルのアイコンをデスクトップの Firefox のアイコンにドラッグ&ドロップすればよい.

解説

やってみよう

参考資料


[解説] JavaScript の書き方

JavaScript を書く場所

(参考:とほほのJavaScriptリファレンス基本文法 のページ, タグに関する基礎知識)

一般的には,JavaScript プログラムは HTML 形式のファイル中で script タグを使用して記述される. JavaScript に対応していないブラウザでも表示に影響を与えないように, 一般的には以下のようにコメントを組み合わせた形で書かれる.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>ここはタイトル</title>
<script type="text/javascript">
<!--

ここに JavaScript プログラムを記述する.
JavaScript に対応していないブラウザでは,
ここは単なる(HTMLの)コメントとして読み飛ばされる.

// -->
</script>

この,プログラムを含んだ <script …> 〜 </script> は, ヘッダ (<head> 〜 </head>) の中に書いてもボディ (<body> 〜 </body>) の中に書いてもよい. (→ JavaScript の書き方 by とほほ)

※ 授業では,煩雑さを避けるため,一部のタグ等を省略することがある.

コメント

JavaScript のプログラム中にコードの説明やメモのためのコメント (注釈; 実行に直接影響しない任意の文字列) を入れたい場合,2種類の方法がある.

ひとつは2個の斜線 (//) を用いるもので, この文字の組合せから行末までがコメントとなる. 行頭に // がある場合は, その行の行末までの全体がコメントとなるが, 行の途中に // がある場合は, そこから行末までがコメントとなる.

コメントを入れるもうひとつの方法は,コメントを /**/ ではさむ方法である. この場合はこの /**/ の間がコメントとなる.この方法によるコメントは複数行にまたがってもよい. (→ コメント in とほほのJavaScriptリファレンス)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>Various Comments</title><!-- HTML の部分ではコメントはこの形 -->
<!--
このように
複数行に
またがってもよい.
-->
<pre><script type="text/javascript">
<!-- この行も JavaScript としてはコメントと考えてよい.
// HTMLとしては12行ほど下の // で始まる行までコメントとなる.

// ここは JavaScript の部分なので,
// コメントはこのような形
document.writeln("<p>Hello world.</p>"); // 行の途中からでも OK
document.writeln("<p>Hello world.</p>"); /* こんな形式もあり */
/*
複数行に
またがるときは
こちらの形の方が
扱いやすい?
*/
// この行も,// で始まるので (JavaScript の) コメント -->
</script></pre>
<!-- ここは HTML の部分 -->

空白の扱い

単語 (変数の名前やキーワードなど) や演算子や数値や文字列などを途中で分断しない限り, プログラム中の任意の場所に空白を入れてもよい.また,何個入れてもよい. プログラムの構造を明示して見やすくするために, 行の先頭に適当な個数の空白を入れることも多い. これをインデンテーション (字下げ・段つけ) と呼ぶ.

改行は空白と同じ扱いなので, 空白を入れても構わない場所ならどこで改行してもよい. また,改行しなくてもよい.

[課題] 手順の記述

課題番号: 1-1
課題名: 手順の記述
締切: 次週の演習の前日の次回の演習日の直前の日曜日,18:00

内容

「料理の手順」や「筆算の仕方」など,アルゴリズムとみなせるようなものの手順を 「小学生にも分かるように」事細かに箇条書きで記述する. (「する」ことを順を追って記述する. 料理のレシピの記述とは異なる)

報告

Moodle の課題ページから直接入力すること. 締切は次回の演習の前日の演習日の直前の日曜日18:00までとする.