テキスト - 東海大学 理学部 数学科

情報処理演習テキスト
担当:杉田公生
i
目 次
第 1 章 はじめに
1.1
1.2
1.3
コンピュータ・リテラシー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コンピュータの概要
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 計算機の歴史 . . . . .
1.2.2 計算機の種類と用途 .
1.2.3 計算機の仕組み . . . .
東海大学のシステム . . . . .
1.3.1 ログイン,ログアウト
1.3.2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
4
5
入力操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
第 2 章 ワードプロセッサ
2.1
2.2
9
9
2.1.2 マルチウィンドウ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JFEP:日本語フロントエンドプロセッサ . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 文字とコードの話 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
10
辞書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
11
操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ワードプロセッサ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
2.3.2
2.3.3
2.3.4
2.4
2.5
文書構造と文書スタイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
起動と基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
特有の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ファイルの形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
組み版ソフト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
課題 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 3 章 表計算
3.1
3.2
はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
使用法と用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1
3.2.2
3.3
9
Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
2.2.3
2.3
1
1
2
用語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
計算式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
式の入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
15
16
17
17
19
21
21
21
21
22
23
23
ii
3.4
3.3.2
関数ウイザードを使う . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.3.3
3.3.4
組み込み関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
時間の扱い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
27
簡易データベース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 並び替え (ソート) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.2 検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
28
29
集計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
3.4.3
3.4.4
3.5
抽出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
グラフ表示
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
利用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
グラフの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
31
3.6
3.5.3 罫線,表示の異常、印刷 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ワードプロセッサーとのデータの交換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
32
3.7
課題 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.5.1
3.5.2
第 4 章 インターネット入門
4.1
Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 インターネットの特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 インターネットの簡単な歴史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
43
43
サービスの種類と歴史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
利用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
44
インターネット上の社会的障害問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 インターネットという特殊空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 ウイルス,ワーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45
45
4.2.3
4.2.4
spam メール、迷惑メール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
各種の詐欺 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
46
4.2.5
4.2.6
4.2.7
個人情報保護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
47
48
4.1.3
4.1.4
4.2
4.3
著作権保護とコピーソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . .
その他の注意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
電子メール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
48
4.3.2 仕組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 利用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
49
51
特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1
4.4
43
4.4.1
4.4.2
仕組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
4.4.3
4.4.4
4.4.5
HTML 文書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HTML の規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
基本的なタグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
54
54
4.4.6
色々なタグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
iii
HTML 文書の作り方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
学外から自分のファイルにアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
62
4.4.7
4.5
4.6
課題 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 5 章 Computer Algebra 入門
5.1
はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
5.3
基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
内部定義済みの定数,関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
5.3.2
5.3.3
5.4
括弧の使い方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.4 その他の記号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
関数の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
67
関数の定義法と代入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
名無し関数等 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
68
69
5.4.4 既存の関数の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
微分積分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 微分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
70
70
積分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
直接入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71
方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 解法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
72
73
ベクトルと演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2
5.5.3
5.6
5.7
5.7.1
5.7.2
5.8
初等関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
代入の影響 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
73
5.7.3 行列の演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.4 行列式,固有値,固有ベクトル . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
平面グラフのプロット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
73
75
標準表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
75
5.8.1
5.8.2
5.8.3
5.8.4
5.8.5
5.9
63
64
65
65
66
5.4.1
5.4.2
5.4.3
5.5
演算・定数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
パラメータ表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
極座標表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
陰関数のグラフ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
表示のオプション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
空間図形のプロット
5.9.1
75
76
76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 変数の関数のプロット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
77
表示のオプション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9.2
5.9.3
5.9.4
パラメータによる曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
78
79
5.9.5
円筒座標系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
空間の曲線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
極座標系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
5.10 プロット雑録 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10.1 3 種類の 3D プロット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
80
5.10.2 画像を重ねる . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10.3 アニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11 例題プログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
80
81
5.12 課題 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
5.9.6
第 6 章 BASIC入門
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
85
85
6.2.1 起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
試してみよう . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
86
6.4
プログラムの命令文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 基本命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 プログラム制御命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
88
89
6.5
グラッフィクス命令
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
色々な準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
描画命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
93
94
6.6
6.7
グラッフィクス・パッケ−ジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
98
6.8
課題 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.1
6.2
6.3
はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
起動,終了
6.5.1
6.5.2
他のグラフ例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
第1章
1.1
はじめに
コンピュータ・リテラシー
今日の社会ではコンピュータを利用することは最早常識となっていて特殊な能力でも何でもない。確かに
コンピュータは、始めは、名前のように計算をするために開発され,より早く,より大量のデータを扱う
ために研究,開発されてきた。しかし,World Wide Web が登場して,Internet が商用に解放されてから
は,コンピュータは情報システムとして従来にない機能を社会にもたらし,社会の変化をも促進する戦略
的な道具となってきたのである。計算機の教育をする人々は,この様な社会の変化に対し多くの人がコン
ピュータの利用を快適に行う能力を身につけてもらうために,コンピュータ・リテラシーという考えを用
意した。リテラシー (literacy) とは読み書きのできる能力をいう。コンピュータ・リテラシーとは,従来の
コンピュータ教育のようにプログラムを作成したり,計算機の原理を理解したりすることをいうのでなく,
計算機を活用して日常的な情報処理を効率良く行う能力をいう。情報処理の具体的な内容は,World Wide
Web (WWW) などを使って必要な情報を世界中から収集する,表計算プログラム(スプレッドシート)を
使って会計情報を整理する, 簡易データベースを使って住所や名簿などの管理をする,ワードプロセッサー
を使って文書を作成する,プレゼンテーションプログラムを使ってプレゼンテーション(他人の前に自分
が公表したい情報を提示すること)をする,同じく WWW に公開する,電子メールを使って国際的に情
報の交換,場合によっては企業活動を行う,などの活動をいう。即ち,広い意味では社会的な活動にコン
ピュータの助けを借りることである。情報源としては,世界中の行政機関,教育機関,研究所,企業,個人
が WWW のホームページと呼ばれる形で公開している情報の他に,東海大学に限らず沢山の大学,公立図
書館,研究所,出版社で図書や文献の検索ができるようになっているものを利用できる。
この様な能力は世界的に共通な必要な能力であることが認識されるようになった。特に、近年になりグ
ローバリゼーションという言葉と共に情報を世界から独自に取得できるかどうかで生活のレベルが変わる
という時代になってくると、ICT(Information and Communication Technology) という言葉が社会活動の
重要なキーワードになってきた。このような状況を考慮して高等学校の課程に「情報」という科目が設け
られることになった。東海大学では,それを補うものとして全学をあげてコンピュータ・リテラシーの教
育に取り組んでいるが,この講義では更に数学科としての特徴を考えて独自のコンピュータ・リテラシー
の講義を構成した。教員になる人のために高等学校数学にある BASIC のプログラム作ることや、新しい
数学の方法である Computer Algebra の入門のための数式処理プログラムの演習を取入れた。また, 高等
学校までの数学教育で, 図形について学習する機会が減っているように思われる。学習対象のイメージを
持つことは解析学や幾何学の学習で重要な事であるが,最近, この方面で強力な支援プログラムが普及し
てきたので, その使用方法も追加した。最近のコンピュータ・リテラシーの必須要素である WWW も取
入れたが,情報収集に活用し,何か問題を解決することは他の時間で行う。この講義と演習を参考にして,
各自が目的に応じてこれらを活用してくれることを希望する,そのための技術的な援助はいつでもできる。
第 1 章 はじめに
2
次の世代のパーソナルコンピュータは現在のような形ではなく,日常生活で使用される色々な器具に組
み込まれれるといわれている。これを「ユビキタスコンピューティング」(ubiquitous computing) と言う。
ユビキタスとは, “いつでも, どこでも,遍在する” と言う意味である。少なくともこの演習を通してコ
ンピュータ嫌いだけは無くして欲しいし,将来自分の仕事にどの位使えそうか考える機会にして貰いたい
と思う。
コンピュータの概要
1.2
1.2.1
計算機の歴史
古来から人々は計算には苦労していたようである。色々の工夫がなされたが,16 世紀になって科学技術
が発達して来て,人間の活動が活発になってくると,複雑な計算が増えてきた。計算を早く行う工夫として
Napier の対数や,Pascal の歯車式計算機などが発明された。実は計算の早さや簡便さの点では算盤に勝る
ものはないと考える。しかし,これらの発明工夫のいずれにしても計算を制御するのは人間であり,計算を
自動的に正確にしてくれる機械が永い間人類の夢であった。自動計算機の初めは Boole 代数 (1854) を応用
してもので,1936 年頃特許が公示されている。しかし,これは現在のコンピュータの先祖ではない。これ
らのコンピュータは計算式が変わる度に回路を変更しなければならなかった。
現在のすべてのコンピュータの元祖は「プログラム内蔵式コンピュータ」または「ノイマン型コンピュータ」
と呼ばれるが,von Neumann が Turing の発表した「万能チューリングマシン (universal Turing machine)」
(1936) という理論上のマシンにヒントを得て構想したものであり、1940 年代の後半に EDSAC,EDVAC
という名前で実現したものが初代である。チューリングマシンは本来 Gödel の導入した「アルゴリズム」を
実現する仮想機械であった。Gödel の理論は,Hilbert の「ヒルベルトのプログラム」(1917) に答えるもの
であり,Hilbert の理論は Cantor が提唱した「集合論」(1895) より発生した問題がきっかけになっている。
それは Cantor が集合という考えを数学に導入したとき B.Russel が Cantor の提唱した集合論に重大な問
題が含まれていることを発見した。これを 「Russel のパラドックス」というが、この問題が数学の論理の
正しさを疑う問題にまで発展した。これを検証する目的で提唱されたのがヒルベルトのプログラムである。
「数学の証明が正しいことを数学的に証明しよう」という問題であるから、この問題の難しさが理解できよ
う。また,これに至る理論は計算機の限界も証明している。「計算機はアルゴリズムを実行する機械」であ
り,アルゴリズムとは「有限の記号と有限の長さで記述された手続きであり,それを有限回実行した後,問
題の正否の解答がなされなければならない」ものである。従って,計算機には極限値の計算もできないし,
乱数も作れない。勿論,
「適当」なこともできない。これを計算機の嫌いな人は「融通が利かない」という。
1.2.2
計算機の種類と用途
コンピュータシステム周辺に用いられる用語や概念について簡単にまとめておく。
大型機: 現在大型機の用途は 2 種類に大きく分けられ,1 つは大容量を活かしたデータベースのサーバー
(銀行や保険会社の帳簿類,役所の住民情報,特許庁の特許情報等),もう 1 つは,高速計算機能を活
かした,シミュレーション (宇宙船や車の設計),数値予報 (天気予報),画像作成等に使用される。企
業や組織の情報センターの役目を担うので,ホストコンピュータとかメインフレームとか呼ばれる。
1.2. コンピュータの概要
3
値段は数千万円から数千億円まで,輸出しているのはアメリカと日本だけである。
スーパーコンピュータ: 普通のコンピュータの上のスーパーという意味ではなく,並列演算機能を持ってい
て高速計算をするコンピューターを意味している。 最近,“地球シミュレータ” という世界で最も早
い (2004 年) スーパーコンピュータが日本で開発され,今まで何年という時間を要していた計算が短
時間でできるようになった。グラフィックス機能も充実していて,これを使用して,宇宙形成や天候
変動のシミュレーションが実用時間内でグラフィカルに提示できるようになった。
中型機: ミニコンピュータともワークステーションとも呼ばれる。大型コンピューターの歴史のなかで,素
子として IC が使われるようになった第 3 世代に,小型でも高性能のコンピューターが作られるよう
になって登場した。これらは従来の大きなコンピュータに比較して,ミニコンピューターと呼ばれた。
主な用途が,研究開発用であるために,ワークステーションとも呼ばれている。現在ではコンピュー
タネットワークの電子メール,Web,ファイルサーバ等に広く利用されている。
値段は二百万円位から数億円位まで。
小型機: ルーツは色々で,専用の CPU から成長したものもあるが,現在一番使われているものは,1 チップ
電卓がルーツである。ミニコンピューターより小さいので,始めは micro–computer 縮めて,mi-com
と呼ばれていたが, my-com (マイコン) と名前が変化して,さらに,IBM が自社のラインへ組み込
む際に,personal computer 略して,PC と呼んだ。日本ではこれをパソコンと称している。
値段は 10 万円位から 20 万円位で,それ以上のものは意味がない。単独で個人用から,事務処理位ま
で使われ,更に,ネットワークとつないで端末用にと色々な場所で使用されている。使用者が多いと
いうことは改良も早いという利点があり、適用範囲が広まっている。
PC の種類
デスクトップ形: CPU ,ディスク装置,ディスプレー,キーボード等が別々になっているもの。本体が大
きなケースに入っているために拡張性がある。主に机の上において使用されるのでこの名前がある。
ノート形: 構成部品が一つのケースにまとめられている。最初の開発時に,持ち運べるという意味でノート
型にしたことからこの名前がある。前者との違いは,CPU の速度 (早いものは発熱量が大きい),拡
張性,重量等であるが,最近は両者の違いはデザイン以外には少なくなってきた。
パームトップ形: 手の平にのるという意味で,入力装置がペン入力等,極力軽くなるように工夫してある。
同じ機能のもので PDA(Personal Digital Access) と呼ばれるものがある。こちらには携帯電話とい
う強敵がいる。
1.2.3
計算機の仕組み
計算機 = ハードウ ェ ア + ソフトウ ェ ア
第 1 章 はじめに
4
ハードウェア
ハードウェアは次のような要素から構成されている。
• 入力装置 (キーボード,マウス,スキャナー,音声入力装置等)
• 記憶 (主記憶装置 (RAM,ROM),補助記憶装置 (ハードディスク, CD/DVD-ROM) 等)
• 演算装置
• 制御装置
• 出力装置 (ディスプレー,印刷機,音声装置)
• 通信装置 (モジュラー,LAN カード)
通信装置を除く 5 つの装置を 5 大要素と呼ぶこともあるが,現在のコンピュータから通信装置を除くこと
は考えられない。
演算装置と制御装置は通常は一体となって機能していて,CPU(Central Processing Unit) と呼ばれる。計
算機の能力を決める中心要素である。
記憶装置には計算の実行の際に使用される主記憶装置とデータやファイルを保存するための補助記憶装
置がある。主記憶装置は高速であるが電源が切れると内容も消える。補助記憶装置は磁気を利用したもの
が主で、速度は遅いが電源が切れても内容を記憶しているので、ファイルの保存に使用される。
ソフトウェア
ソフトウェアは更に次のように分類される。
ソフトウ ェ ア = 基本ソフトウ ェ ア + 応用ソフトウ ェ ア + ミドルウ ェ ア
基本ソフトウェア: コンピュータの働きを管理するプログラム群で,コンピュータの性格や使い易さを決定
付ける。通常の使用者には分からない所で仕事をしている 。基本ソフトウェアの元の言葉 Operating
System を縮めて OS とも呼ばれる。
応用ソフトウェア: 通常の使用者が仕事をする時に使うワードプロセッサー,スプレッドシート,メールプ
ログラム,Web ブラウザーなどのプログラム群である。
ミドルウェア: GUI のように,計算機を使う際に使用者が直接コンピュータと体面する部分をインター
フェースという。この部分は本来の定義から考えれば,OS に入らないのであるが,計算機を使用す
る上で必要不可欠という意味で,基本でもなし,応用でもなし,中間 (middle) のプログラムと呼ば
れる。
1.3
東海大学のシステム
東海大学の情報システムの特徴を説明し,東海大学の中でコンピュータを利用する際の注意を述べてお
く。以下にあげる特徴は入学時のメディア講習会で説明したものと同じである。
• 使用者はネットワーク上に個別のフォルダーを与えられていること (Z:ドライブと呼ばれ、自宅など
学外からもアクセス可能である)
1.3. 東海大学のシステム
5
• 利用許可証を発行して貰う必要があること
• 全学的にネットワーク化されていること
• 十分なプログラムが用意されていること
• 全学的に共通の環境になっていること
• 電子メールシステムに Web メールシステムを使用しているので,世界中から自由に利用できること
最初の 2 つの特徴は個別ログインともいわれ,単にコンピュータの電源を入れたけでは使用できない,必
ずログインという操作をしなければならないことを意味している。それに続く特徴は,ログイン操作があ
ることで個人のデータが全学的に統一的に管理され,どの機械を使っていても作成したデータは同じ所に
保存されていることを意味している。従って,以前のように作成中のプログラムやデータをディスケットに
保存して持ち歩く必要がない。更に,最近はそのサーバーも公開されたので自宅からでも大学で作成した
ものを自宅へ転送したり,自宅で作成したものを大学のサーバーへ転送したりができるようになった。共通
環境という意味は,どの部屋のどの機械を使用しても機械の違いを意識する必要が無いことを意味し,演
習と違う部屋でも同じことができることを実現している。
1.3.1
ログイン,ログアウト
それでは実際の使い方を詳しく見てみよう。電源が入ってないときは電源を入れよう。暫くして「ログイ
ン」(ログオン) を促す画面が現れるであろう。この機械を直前に使用していた人が電源をシャットダウンせ
ずに単に「ログアウト」しただけならば,既に「ログイン」の画面が出ているから,ここまでの時間が大幅
に節約できる。
ログイン
ログイン (ログオン) のときに必要なことが個別ログイン名(アカウント名ともいう)の入力と
パスワードの確認で,各自のアカウント名とパスワードは学期始めに総合情報センターが行うメディア講
習会で配布される。このアカウントは電子メールのアドレスにも使われている。東海大学では入学者時全
員にアカウントとパスワードが貰えるから,入学時から電子メールが使用可能である。メディア講習会の繰
り返しになるが,このアカウント名とパスワードは例え親友といえど教えてはいけない。銀行の口座と同じ
つもりで取り扱うようにしよう。
ログアウト
最後にコンピュータから離れるには,いきなり電源を切るとコンピュータは故障して最悪の場
合は破損してしまう。逆に,そのまま立ち去ることはコンピュータにとっては同じ人が継続使用しているこ
とを意味し,次の人は自分の固有のファイルが使用できないし,反対にあなたのファイルが他人に読まれて
しまうことになる。そのために 「ログアウト」(ログオフ) という操作が必要である。
ログアウトの際にはパスワード等は要らないが,次の 2 つの選択があるので状況により使い分けよう。
シャットダウン ログアウト後自動的に電源を切る。
ログアウト その人の使用を終了する。次の人が引き続いて使用するために電源を切らない。
第 1 章 はじめに
6
1.3.2
入力操作
GUI ログイン後,コンピュータに仕事をして貰うためには,コンピュータに指示を与えなければならな
い。パソコンのようなコンピュータでは画面の絵の情報を中心にしてプログラムの起動や操作をする。この
ような方法を GUI(Graphical User Interface) という。GUI の普及でコンピュータの使用が特別の知識な
しでもできるようになり,画面も彩りが豊かに表現力が増した。画像の操作,編集も容易になった。
デスクトップ
コンピュータを起動し,ログインができた時に表示される画面を「デスクトップ」という。
コンピュータの画面上が机の上と同じと考えるという命名である。
デスクトップに現れているものについて説明する。まず,注意して見ると矢印が見える。この矢印を「ポ
インター」といい,GUI では重要な要素である。ポインターを操作する道具はキーボードでなく,
「マウス」
(mouse) を使う。名前はその形から来ている。もっとも尻尾が目の所にあるが。次に,デスクトップの下に
灰色の横棒が横幅一杯にあるが,これを「タスクバー」という。タスクバーの「スタート」と書いてある所
をクリックして,順次プログラムをメニューにより選べるようになっている。また,幾つかの絵の記号があ
るがこれを「アイコン」という。アイコンを使って次に説明する方法でプログラムを直接起動できる。
キーボード
現在のコンピュータでは基本的にはキーボードとマウスを使う。音声による方法も研究されて
いて将来は実用になるであろう。キーボードは文書やプログラムの作成の他に,コマンド入力画面を使って
実行命令 (コマンド) 文を入力する場合も使う。この方式は旧式ではあるが確実な方法である。ただし,演
習に使用する機械では,このコマンド入力画面を呼出すのにも次に説明する操作が必要である。
マウスの操作は慣れても面倒なときがある。その場合にキーボードからポインターの操作と等価な操作
を使ってみよう。これをショートカットという。多くのショートカットはメニューに表示されている。例え
ば「Alt+F」と書いてあれば, GRPH または Alt キーを押したまま F のキーを押すことを意味する。
「CTRL+x」と書いてある場合は, CTRL (コントロール) キーを押したまま x キーを押すことを意味
する。
マウスの操作
マウスを移動させるとそれに連れてデスクトップ上のポインターが移動するが,アプリケー
ションによってはポインターは I の形になったり十字型になったりする。マウスを動かしてポインターを
移動させるだけではコンピュータは何もしない。ポイントした対象を作動させるには,さらに,マウスのボ
タンを操作する。ボタン操作は次の種類がある。
シングルクリック マウスの左ボタンを 1 度押してすぐ離すことをシングルクリックという。 シングルク
リックは操作対象を選択したことを計算機に知らせる操作である。メニューの選択に良く使用する。
マウスの右ボタンはアプリケーションにより働きが違う。また,最近のマウスには真ん中にスクロー
ルボタンという第 3 のボタンがついているものが多い。スクロールボタンは,ウィンドウ上の表示を
上下に移動 (スクロール) させるときに使う。
ダブルクリック マウスの左ボタンを素早く 2 度押すことをダブルクリックという。ダブルクリックをアイ
コンの上で行うと,アイコンに関連付られたプログラムが起動される。例えば,
「インターネットエッ
クスプローラー」と書いてあるアイコンをダブルクリックすると,このプログラムが起動される。ま
1.3. 東海大学のシステム
7
た,ワードプロセッサーの原稿のアイコン上でダブルクリックすると,ワードプロセッサーが起動さ
れてその原稿を表示してくれる。これを関連付けると呼んでいる。
ドラッグ 操作対象の上で左ボタンを押したままマウスを移動させる操作をドラッグという。アイコンやプ
ログラムの枠をドラッグするとそれらがマウスの移動に連れて移動する。即ち,移動のときにドラッ
グを使う。ゲームなどではこのドラッグが大活躍をする。その他にワードプロセッサーで文字種類の
変更をする際に,変更の対象部分を選ぶときや,文章の一部を移動する際に移動部分を選ぶときなど
ドラッグを使用する。移動の場合は更に選択した部分をドラッグすることになる。
このテキストでは「スタート」→「プログラム」→「アップリケーション」→「Word」という表現を表現
を良く使用するが,これはこの順にメニューをシングルクリックして行き,最後に Word というプログラ
ムを起動することを表している。
また、ファイルのフォルダーを移動させるときに、移動するファイルのアイコンの上で左ボタンを押し
たまま、ドラッグしてフォルダーを移動して、移動先で放すという操作をするが、これを「ドラッグ・アン
ド・ドロップ」という
9
第2章
2.1
ワードプロセッサ
Editor
初めに,ワードプロセッサーの基になっているエディターについて説明する。エディターの機能はそのま
まワードプロセッサーに受け継がれている。エディターはプログラム,文書,図形,等のデータを入力して
計算機の内部データ (コード) に変換して保存したり,ディスクに保存されているデータを提示・印刷した
りするソフトウェアである。人間と計算機が情報を交換するための基本的なソフトウェアである。現在のエ
ディタはこれらの基本的な機能の他に以下に説明する幾つかの機能がついているものが多い。
2.1.1
基本操作
「ファイル操作 (F)」
作成 編集を始めるには次のいずれかの方法で開始ファイルを選択する。
• 新規作成の場合は「ファイル (F)」→「新規作成 (N)」を選ぶ。
• 既存の文書を編集する場合は「ファイル (F)」→「開く (O)」を選ぶ。
保存 編集後に編集済みのものを次のいずれかの方法でディスクに収納して終了する。
• 新しい文書の保存や既存の文書を書き換えないで新しく保存する場合は「ファイル (F)」→
「名前を付けて保存 (A)」を選ぶ。
• 既存の文書を変更して保存するときは「ファイル (F)」→「上書き保存 (S)」を選ぶ。文書
作成中は安全のため時々上書き保存するとよい。
注意 東海大学のシステムはログアウトすると個人用のフォルダー以外の所にあるものは,プログ
ラム,ワードプロセッサーの原稿などを問わず全て消去されるようになっている。したがって,
個人で作成したものはディスケットやスティックメモリに保存するか、ネットワークサーバー (Z:
ドライブ) に保存するかしよう。
印刷 印刷は「ファイル (F)」→「印刷 (P)」を選ぶと印刷機に関する情報を入力するサブウィンドウ
が開く。東海大学のシステムでは印刷の際はネットワークプリンターが複数台選択できるように
なっていて,プリンターを選択しないと “null” プリンター,即ち,何もなしの状態になり印刷
ができない。プリンターを選んで印刷しよう。
終了 エディタを終了するには「ファイル (F)」→「終了 (X)」を選ぶ。
「編集操作 (E)」 「切り取り」,
「移動」,
「コピー」が編集の基本操作である。
第2章
10
ワードプロセッサ
切り取り :範囲指定をドラッグ→「編集 (E)」→「切り取り (T)」または「削除 (E)」
移動 :範囲指定をドラッグ→「編集 (E)」→「切り取り (T)」→移動場所へカーソルを移動→「編集
(E)」→「貼り付け (P)」
これを “カット・アンド・ペースト” という。
コピー :範囲指定をドラッグ→「編集 (E)」→「コピー (C)」→コピー場所へカーソルを移動→「編
集 (E)」→「貼り付け (P)」
これを “コピー・アンド・ペースト” という。“コピー” という言葉が紛らわしいので注意。
「検索 (S) と置換 (R)」 サブウィンドウの「検索文字列」の欄に検索する文字列を入れ,置換の場合は更に
「置換文字列」の欄に置換する文字列を入れ,
「検索」や「全置換」を選ぶ。置換の場合,
「全置換」を
選ぶと断りなしに文書全体で置換がおきるので注意。詳細はエディタにより異なる。
2.1.2
マルチウィンドウ
編集画面が分割されて,各々の画面に同じ文書または異なる文書を表示する機能をいう。
両方のウィンドウの文書を比較したり,お互いのウィンドウ間でコピーや移動ができるので編集の効率を
上げることができる。
マルチウィンドウを使うときは「オプション」か「画面」のサブメニューに「画面の分割」という項目が
あるのでそれを選択する。
2.2
JFEP:日本語フロントエンドプロセッサ
キーボード上の文字・記号以外のものはキーボードから直接入力できない。(キーの上に仮名が記してあ
るが使わない方がよい) 漢字,平仮名,片仮名,ハングル,等英語以外の文字を入力するにはソフトウェ
アの助けを借りる。このソフトウェアはキーボードとエディタの仲介をするのでフロントエンド・プロセッ
サ (FEP) と呼ばれる。日本語の場合 ATOK という FEP が有名であり,他の FEP でもキー操作は ATOK
と同じにしたものが多い。DOS/V の場合 (MS–IME) も ATOK と同じキー操作に設定できるので FEP の
種類に気を使う必要はない。
2.2.1
文字とコードの話
スクリーンの上でキーボードから直接入力された文字の大きさと漢字の大きさを比べてみると直ぐ気が
つくことが文字幅の違いである。キーボードから入力された文字の大きさを半角といい,平仮名,漢字等の
大きさを全角という。
カタカナと英数字に関してはキーボードから直接入力できる半角と変換で得られる全角の 2 種類がある。
半角のカタカナは将来廃止されることが決まっているし,電子メールや色々のソフトウェアで使用してはい
けない (原因不明のトラブルを起こす) ので,キーボードからカタカナを直接入力しないようにしよう。一
方,英数字の全角は日本語と一緒に使うときは問題がないが,電子メール等で外国と通信したり,原稿を交
換する場合は通用しない。このような場合は勿論 FEP を使用せずに直接入力すればよい。
2.2. JFEP:日本語フロントエンドプロセッサ
11
計算機の中では文字類は記号化された数字 (コード) で表されている。キーボードから入力された文字等
は 2 進 7 桁 (7 ビット) で表されているが,全角文字は 2 進 16 桁 (16 ビットまたは 2 バイト) で表されてい
る。7 ビットコード系を ASCII(American Standard for Communication and Information Industry) とい
う。日本語のコード系は JIS に定められているが,歴史的な経緯から色々なコード系が外国の主導で導入
されて混在していることが問題である。例えば,パソコンでは SJIS, ワークステーションでは EUC,ネッ
トワークでは JIS などがある。文字コードは国際化の最後の障壁といわれているが,最近の国際的な統一
規格として UTF が使われようになった。コードが統一されることは処理上は便利なことであるが,国語の
ように異字体を調べる必要があるときは統一字体は問題がある。
2.2.2
辞書
日本語 FEP は漢字に変換するときは内蔵の辞書を参照している。従って,日本語 FEP の能力は内蔵の
辞書の大きさや文字検索の機能に左右される。また,辞書はユーザが内蔵辞書にない単語や文書を登録して
利用できるようになっている。特に固有名詞に関しては内蔵辞書だけでは大いに不足を感ずるはずである。
辞書には学習機能がついていて同じ読みの文字でも出現頻度の高いものが次の変換の第一候補になり漢
字変換が効率的にできることになっている。例えば購入したばかりの辞書の場合,
「とうかい」の入力する
と「当会」が始めに現れる。これは標準的な状況では「東海」より「当会」の方が出現頻度が高いというこ
とを表しているにすぎない。一度「東海」を選べば 2 度目からは「東海」になる。
ここでは辞書登録に関する説明は JFEP の種類により相当に異なるので省略した。DOS/V 環境では画
面のどこかに MSIME のサブウィンドウが表示されているので,その辞書のアイコンをクリックする。詳
しくは HELP を見て欲しい。
2.2.3
操作
変換のモード
効率的に漢字変換ができるようにするために JFEP の開発者は様々な研究をした。現在では「連文節変
換」という方式が一番普及しているが,歴史的なものも含めて幾つかの方式について説明する。
単漢字変換 これには 2 通りの方式がある。
• 漢字 1 つに 2 ないし 3 文字の読みを割り当てて 2 または 3 ストロークで 1 つの漢字を入力してい
く方式で,入力は早いが各漢字の独特の読みを別に憶えなくてはならないのでプロ専用である。
• 漢字の入力をするとき始めに漢字入力キーを押してから読みを入力して変換キーを押すという方
式で,キー操作の回数が少し増えるが入力文字の漢字,平仮名,カタカナ,ローマ字,等の区別
が入力前に確定するので意外に快適に使える。
連文節変換 入力された文字列をソフトウェアの文法解析力を借りて文節単位に分割し逐次変換する方式で
ある。初歩者から特別な練習無しに使えるので一番良く利用されているが,動詞活用の最後または接
尾語の「てにおは」まで入力して変換する等の工夫をしないと変換に失敗してストレスが増すことに
なる。例えば,
「私のだ」を入力するつもりで「わたし」
「のだ」という入力をすると,
「私」
「野田」と
いうような結果になって再入力をしなければならず大変効率が落ちる。
第2章
12
ワードプロセッサ
全自動変換 文章の読みを入力していくとプログラムが文章の区切りを適当に判断して自動的に漢字,平仮
名,カタカナ,ローマ字,等に変換していく方式で変換キーの操作が要らないから最も理想的な方式
である。但し,標準的な文章の時はかなり優秀な変換をするが,間違った変換をしたとき正しい変換
に直すのに相当に余計な労力が必要であることも現実の状況である。使用してみて各自で判断して欲
しい。
候補と候補一覧
以下の説明は連文節変換を主にして説明する。
文の読みを入力して変換キー (スペースバー) を押すと 1 文節分変換が行われる。変換されたものが目的
の字ならば確定すればよい。変換が違ったときは正しい字が出るまでスペースバーを押す。通常 3 回以上ス
ペースバーを押すと変換候補が 9 個ずつ一覧表になって出てくる。目的の文字があればその番号を入力す
ると確定する。次の候補一覧表を表示したいときは, Shift キーを押したままスペースバーを押す。
確定と部分確定
入力された文が 1 文節の場合は変換された文節は地の色と異なる 1 つの色で表示されるが,変換が正し
いとき場合は,次の入力を続ける, Enter キーを押す,番号を入力する,等のいずれかの操作で地の色と
同じ色に変わる。これを確定といい一度確定するとその部分は変換ができなくなる。
入力されたものが 2 文節以上のときは変換キーを押すと始めの文節が変換され残りの部分と異なる色分
けになる。変換が正しいときはこの部分を確定するために部分確定という操作をすると次の文節が変換さ
れる。部分確定には次のどちらか方式が使われる。
• ATOK の場合: ↓ キーを押す。
• MSIME の場合: Shift キーを押したまま ↓ キーを押す。
変換文節の伸縮
長い文を入力すると,JFEP は文節を適当に判断して分割をするが,常に目的の文節になるとは限らな
い。文節の長さを変更するには文節の伸縮をする。文節の伸縮には次のどちらかの方法を使う。
• ATOK の場合: ← キーまたは → キーを使う。
• MSIME の場合: Shift キーを押したまま → キーまたは ← キーを押す。
手書き入力
最近の MSIME という日本語 FEP には「手書き入力」という機能がついている。MSIME の
サブウィンドウから手書き入力を選んで,入力パッドにマウスで目的の漢字や記号を書けば,それに一番近
い候補一覧を表示してくれる。
2.3. ワードプロセッサ
13
ワードプロセッサ
2.3
機能から言えばドキュメント・プロセッサ (document processor) と呼ばれておかしくないのであるが,文
書を清書するソフトウェアはワードプロセッサ (word processor) と呼ばれている。
現在ではワードプロセッサと呼ばれているソフトウェアは印刷されるスタイルと同じものを目で直接見
ながら文章を入力していく方式が主な方式で,この方式を操作の通り WYSIWYG(What You See Is What
You Get:ワイジワイグと発音する) 方式と呼んでいる。
文書の清書の方式は WYSIWYG 方式の他に後述する TEX のように文書の構造とフォント等のスタイル
の指定綴り (コマンド) を文書中に埋め込んだ文書を通常のエディタで作成して後でソフトウェアで処理し
て文書を作る組み版 (一括処理) 方式がある。一括処理方式の方が WYSIWYG 方式より歴史的には古い方
式であるが,現在のように電子通信で文書を送ることが日常化してきた状況では WYSIWYG 方式では再
現される環境が制限されるので組み版方式の方が有利な面も出てきた。Internet で著名になった HTML 文
書も組み版方式で文書を作成・処理している。
一方,ワードプロセッサの機能を強化して画像も取り込んでカラー印刷までしてしまおうというソフト
ウェアもあり,そのようなソフトウェアで文書を作ることをデスクトップ・パブリッシング (DTP) と呼ん
でいる。この方面では Page Maker というソフトウェアが有名である。
一括処理方式のソフトウェアは 1970 年代の始めに使われていたが,CRT 表示装置を使った最初のワー
ドプロセッサは 1972 年に発表された。日本語のワードプロセッサは 1973 年に汎用の大型コンピュータで
実用化され,1977 年にシャープから試作機が,1978 年に東芝から市販機が発売された。価格は 約 600 万
円だったそうです。
文書構造と文書スタイル
2.3.1
文書は文書構造と文書スタイルの 2 つの要素の組み合わせで成り立っていて,良い文書を作成するには
どちらも疎かにはできない。文書の中で表現の形が変わっても不変なものを文書構造という。一方,使用す
る文字の形や大きさ,文書の表現形式に関するものを文書のスタイルという。
文書構造
ここでは文書構造に関する言葉と要素について説明する。
文
文書構造の最小単位は文である。文は単語 1 つでもよいし,主部と述部が揃った完全な文章,更に複
合文でもよい。文の組み合わせ方により更に複雑な文章が作られる。その構造の代表的なものはパラグラ
フまたは段落,引用部分,リスト,表,等がある。
パラグラフ (段落)
パラグラフ (段落) は文の一塊をいい,これで 1 まとまりの文章を作っている。パラグ
ラフは通常 1 ないし 2 文字文頭が下げられて始まる。これをインデント (字下り) という。
引用
他の文からの引用や諺等を表すには通常の文と区別する必要がある。引用部分全体を引用符で囲む
以外に全体にインデントした形式にしたり罫線で囲ったりする。
第2章
14
命題
ワードプロセッサ
論文や教科書にはその論文の主要な陳述を通常の文とは分離して書かれる。
リスト (箇条書き)
簡潔な文を並べて見やすいように先頭に目印を付けて 1 つの内容を表す文構造をリス
トまたは箇条書きという。1 つ 1 つのまとまった文を項目という。リストは先頭の目印の付け方で次の 3
つの種類に分かれる。
マーク付き 1 つの項目毎に先頭に「・」や「☆」のようにマークを付けたリストである。ある
テーマに関する要素を羅列するのに用いられる。先頭のマークは色々のものが考えられる。
番号付き 1 つの項目の先頭に順序を付けたリストである。マニュアルや操作手順のように番号
順に項目を並べるときに用いられる。先頭の番号は通常の数字,ローマ数字,アルファベッ
ト順,イロハ順,等色々な形式が考えられる。
見出し付き このリストのように項目の見出しを太字で印刷して,その内容を書く形式である。
見出しの幅の取り方で色々な形式のものがある。
表
単語等簡潔な文を縦横に並べてそれらの関係を表したものである。項目各々を置く場所をセル (胞) と
いうが,セル間を明示するために罫線を引くことが多い。関係は 2 つ以上の縦または横の項目に跨ること
があると複雑な表になる。
もっと複雑な項目の関係を表すにはグラフを使用することになる。しかし,ワードプロセッサの範囲を超
えているので省略。
固有の文書構造
以上のものを組み合わせて 1 節, 1 章,1 部などと大きな構造を取って一つの文書がで
きるのであるが,通常の文書の他にも論文,教科書,法律文書,規則文書,説明書,仕様書,等文書によっ
て特有の文書構造を持っている。一番簡単なメモ文書でもリスト構造に似た構造を持っている。ワードプロ
セッサで文書を作る際にもこのような構造を意識して作るようにすれば,分かり易い文書が書けるように
なるので心がけよう。
文書スタイル
文書のスタイルには次のように決定すべきパラメータがある。他の同種類の文書を参考にしてスタイル
の工夫をしてみたらどうであろう。
• 文書の場所毎に使用するフォントの指定。
• 1 行の文字数,1 ページの行数,1 ページの左右上下の空白量 (マージン),頁番号の印刷位置,頁上下
の飾り,等頁のデザイン。
• パラグラフの字下がり,引用,命題,リスト,節や章の先頭等の部分の行間の取り方や表示形式,等
文書構造を表すデザイン。
• 表の場合は,行や列の数,罫線を引く場所と種類,行や列の間隔。
2.3. ワードプロセッサ
フォント
15
ワードプロセッサでは書体や大きさ (フォント) をシステム内蔵のものに任意に変更できる。フォ
ントの設定は文書全体でもできるし,一文字単位ででもできる。フォントの主な書体の種類は次のようなも
のである。
• 立体または roman:通常の文字体
• 太字体または bold または gothic:通常の文字と比較して 太い文字 をいう。日本語の場合は強調す
る所でよく使用されるが,多用すると醜い文書になるので注意しよう。
• 斜体または italic:ローマ字の場合はやや崩し字で斜めになったフォントである。英文では強調する場
所でよく使用される。日本語では全部のシステムで使える訳でないし,あまり見やすいものではない。
• slanted :通常の文字体を斜めにした形をしている。ローマ字専用である。英文では強調部分でイタ
リックに変わって使用されるようになってきた。
• Small Cap:ローマ字専用。
• sans serif :ローマ字専用であるが日本語では丸ゴシックというフォントがそれに近い。
• アンダーライン付き:太字が使えない場合や太字に変わって使用される。 これも多用すると醜くなる。
行揃え
通常の文書は字下がりを別にして左側を揃えて整形される。
文書のタイトルや書き出しなどでは
第 12 回 同窓会総会
記
のようなスタイルを取ることが多い。このようなスタイルを中央揃いという。
また,文書の出だしで
第3章
プログラム
データ構造+アルゴリズム=プログラム(ヴィルト)
プログラムは数学の定理のように
作成されて証明される
ものでなければならない。(ホーア)
のようなスタイルを取るものがある。このスタイルを右揃えという。
2.3.2
起動と基本操作
起動はタスクバーの「スタート」→「アプリケーション」→「ワードプロセッサ」の順にメニューを選択
する 。終了 は「ファイル」メニューにより行う。
ワードプロセッサの基本的な働きはエディタと同じである。エディタの節を参照して欲しい。日本語の入
力に関しては日本語フロントエンド・プロセッサの節を参照して欲しい。
第2章
16
ワードプロセッサ
特有の機能
2.3.3
整形
改行
WYSIWYG 型のワードプロセッサではエディタと違って入力を続けていくと自動的に改行される。
この機能をワードラップという。改行のタイミング (1 行の文字数) は標準値以外に別途設定できる。
改行位置は正常な文章を作る場合は大切な問題で,行の先頭に句読点や括弧閉じが来たり,リストの目印
が行末に来たりしてはいけない。これらを避けることは「禁則処理」という。
また,英語のワードプロセッサから発達したものは,英文を入力すると 1 行の両端を揃えて単語間の空
白を自動的に調整する機能が付いている。また,長い単語の場合はシラブルでハイフンを付けて自動的に
切って改行する機能をもつものもある。
強制的に改行するとパラグラフの終了と判断してインデント (字下り) するものがある。
インデント
改ページ
改ページも設定に従って自動的に行われる。強制的に改ページする時はメニューにより行う。1
頁の行数も標準値以外に別途設定できる。
揃え (align)
通常は左揃えに設定されているが,一度中央揃えや右揃えしたものを左揃えに戻したい時は
範囲をポインタで選択してメニューバーの左揃えのボタンをクリックすればよい。
中央揃え,右揃えをしたいときは同じく範囲をポインタのドラッグで指定してメニューバーの中央揃え,
右揃えのアイコンをクリックすればよい。
リストの作成
一度作成したリストスタイルの変更は相当に面倒になるので作成の前に十分考慮してから始める。
リストを作るときは,リストを始める時点でメニューバーからリストのスタイルを選んでそのアイコン
を押して文章の入力をすればよい。改行をすると自動的に次のリストの頭が出てくる。
番号付きリストで番号を変更するとき,リストの先頭のマークを変更するときは文書設定で行う。
リスト構造を終えて通常入力にするには押されているメニューのアイコンを押す。
その他に,見出しや番号を付けたリストを手動で作って,その範囲を選択して「書式」のメニューから
「リスト」を選ぶと,自動的にリストの字下げをしてくれる機能のあるワードプロセッサーもある。
フォントの選択
フォントの選択はワードプロセッサのウィンドウ上部のメニューからできるし,
「書式」というメニュー
から設定もできる。文書全体の設定は文書作成の前に行う方が良い。部分的な変更は文章の入力を終えて
からが良い。
部分的な変更は変更したい部分をポインタで選択してフォント指定のメニューから目的のフォントを選ぶ。
2.4. 組み版ソフト
17
作表
現在のワードプロセッサで表を作成する作業は効率が大変悪いし、一度作成した表を希望通りに変更す
ることは殆ど不可能といってよい。したがって、考えながら表を作成するには表計算プログラムを使用して
作成し,それを取り込む方法を推奨する。
画像の作成
文書中に簡単な画像を作成する時は, 画像作成のメニューを選ぶ。説明図位は作図できるが、本格的な図
は「ペイントプログラム」で作成し,それを取り込む方法を推奨する。
他のファイルの取り込み
作表や作図には, スプレッドシートや作図用の優れたプログラムが多数存在する。挿絵用の画像のライブ
ラリもあるので, それを利用して見て楽しい文書を作成することもできる。また, ディジタルカメラで取っ
た画像や写真をスキャナーで取り込んだ画像を使用することも容易にできる。但し, 画像のファイル形式は
多種あり, このような利用法を考える時は, 標準的な JPEG(Joint Picture Expert Group) という形式を利
用した方が良い。スプレッドシートで作成した表やグラフを張り込んで報告書や提案書を作成することも
容易である。
スペルチェッカ
Word 等英文が背景のエディタやワードプロセッサは英文のスペルチェッカを備えている。更に英語の文
法をチェックするものもある。英文を作成するときは必ず使用するべきである。
2.3.4
ファイルの形式
ワードプロセッサのファイルはそのソフトウェア独自のバイナリ形式をしているので,他のワードプロ
セッサとの間で互換性がないし,エディタでも読めない。他のワードプロセッサとファイルを交換しなけれ
ばならないときは,保存するときに「テキストと改行のみ保存」または「リッチテキスト形式 (RTF)」と
いうオプションを選んで保存する。
2.4
組み版ソフト
WYSIWYG 型のワードプロセッサと異なり,文書構造やフォントの切り替えコマンドを文字列にして文
書中に埋め込み一括処理で文書を整形するソフトウェアをいう。TEX,LATEX が有名で,数式を含んだ論文,
テクニカル・ペーパー,教科書等の文書を作成するのには世界中で使用されている殆ど唯一のソフトウェア
である。このテキストも LATEX で作成している。
第2章
18
ワードプロセッサ
LATEX で数式を表示したものと元になったソースの例を示す。\, ^, _ などが沢山あって見難いかも知
れないが、これらはコントロール記号であることを考慮すれば対応が分かるであろう。
∫
M
lim
M →∞
0
x2
1
π
dx =
+1
2
\[\lim_{M\to \infty}\int^M_0\frac{1}{x^2+1}\, dx=\frac{\pi}{2}\]
2.5. 課題 1
2.5
19
課題 1
次の (1)(2) の 2 つの文を作成しなさい。
(1) 次の文と同じものを作成しなさい。(改行位置や文頭の字下がりは考慮しなくてよい。)
(a) 東海大学理学部数学科 1 年
学生証番号:
名前:
住所:〒
(b) 猫の子仔猫この子の仔猫。
(c) 庭には二羽鶏が,中庭に鰐がいる。
(d) 貴社の記者が当寺で喜捨をして汽車で帰社した。
(e) 日中は強風のためキャンプを中止すると発表した。
(f) 石屋の小父さん歯医者へ行った。病院の奥さん美容院へ行った。
(g) エディタのメニューから「ファイル」→「保存」を選んでソフトウェアをディスケットにセーブ
した。
大きな字
(h) このワードプロセッサでは文字飾りに,
(26pt)
ク),italic ,アンダーライン,取り消しライン
=======,等が使える。
小さな字
(8pt),太い字(ゴシッ
(注:アンダーライン,取り消しラインはメニューの中から好みのものを試してみよう)
(i) 宿題ができなくて憂鬱になったので,いつもの“ 檸檬 ”という喫茶店にいった。そこは薔薇の花
に囲まれているが,店内は蜘蛛の巣が張っていて髑髏が飾ってあり,蝙蝠が天井からぶら下がっ
ている。
(j) Winchester Mystery House (in San Jose, California) has 160 rooms, 13 bathrooms and 40
staircases, and is so complex that even the owner and servants needed maps to find their way.
(2) 次のテーマの中から 1 つのテーマを選び,あなたの意見を 1 頁以上にまとめなさい。作文のキーワー
ドを文頭に 1 つ以上記入しなさい。
• あなたは社会や人類の将来にどのような貢献ができるか。
• あなたの考える理想の中学校 (高等学校) はどのようなものであるか。
• 介護体験の感想や良い介護の意見を述べてください。
• あなたの好きな料理の料理法 (レシピ) を詳しく書きなさい。
• 犬小屋,巣箱,等の作り方を詳しく書きなさい。
• 海外旅行の仕方を計画段階から順に詳しく書きなさい。
• あなたの 10 年後を予想して下さい。
• その他,ペットの話,創作童話,等自由課題。
21
第3章
3.1
表計算
はじめに
表計算プログラムまたはスプレッドシート (spread sheet) と呼ばれるプログラムは,名前が表すように調
査に良く用いられる集計表のようにデータを表の形式に整理したものを元にして,統計計算等データ処理
計算をしたり,その結果を発表するために色々な形式のグラフにしたりするためのプログラムである。この
プログラムの歴史は意外に古く 1981 年にアップル社の AppleII で実現した VISICALC が最初のものであ
る。このようなプログラムは当時の大型機では実現不可能なもので,パーソナルコンピュータの独壇場であ
り,実はパーソナルコンピュータ普及の牽引役だったのである。現在でも事務用のソフトウエアの中では群
を抜いて実用性が高い。更に,事務用だけでなく組み込み関数の充実によって実験のデータ処理計算などは
このプログラムだけでできるようになっている。この演習では基本的な例題だけを取り上げることにする。
現在良く利用されているプログラムの名前は Excel, Lotus1–2–3,Multiplan,VISICALC 等である。こ
れらのプログラムは対応するワードプロセッサーやプレゼンテーションプログラム等ともデータを共有す
ることができる機能を持っているものがあるので,この機能を使って表計算プログラムでの計算結果やグラ
フに表したものをワードプロセッサーに貼り付けて報告書にしたり,プレゼンテーション用ソフトウエアに
移して発表用の資料を作成したりもできる。
3.2
3.2.1
使用法と用語
用語
表計算プログラムの説明に使用される用語について説明する。
ワークシートとブック
プログラムを起動すると現れる画面をワークシートという。これは一枚の集計表と
考えれば良い。複数のワークシートをまとめたものをブックという。同じブック内のワークシートのデータ
は互いに参照できるので,他のワークシートの数値を使って計算することもできる。例えば,組織や会社の
色々なデータを一つのブックにまとめておけば,データの更新の際の一貫性の管理などに気を使うことなく
できるなどの活用ができる。ワークシートの番号はウインドウの一番下にタグで示されている。
セル
ワークシートは格子状に整然と分割されているが,区割りされた一つ一つの区画をセルという。セル
の中で太線で囲まれているものをアクティブなセルといい,アクティブなセルに対してのみ数値,文字,数
式が入力できる。あるセルをアクティブにするには次のいずれかのことをする。
• 十字型のポインターを目的のセルに当てクリックする。
第3章
22
表計算
• アクティブなセルを矢印キーで移動する。
表全体は縦の列に A,B,C,のように記号がついており通常は属性を表す。横の行に 1,2,3,のように
番号がついて通常はデータのレコード番号を表す。セルの数値を参照する際にはそのセルの列、行番号によ
る座標 (アドレス) を使うが,その指定の形式は A3,B2 の様に列記号が先,行番号が後になる。数学の行
列の番号づけとは逆順なので注意しよう。
3.2.2
基本操作
ワークシートのデータの入力・訂正をしたり,式を入力する方法を説明する。
入力,訂正,数式バー
セルに入力できるものは,文字,数字,日付,時間,式である。データを入力する
には次のどちらかの方法を使う。
• セルに直接入力する。
• メニューの下にある数式バーをクリックしてデータを入力して入力キーを押す。
入力後訂正するには,アクティブなセルの内容が数式バーに表示されるので,そこでその内容を訂正し,入
力キーを押す。
文字列は左詰め,数字や日付け等は右詰めに表示される。このことで,例えば,数字を入力したはずな
の,右詰にならないで左詰になるときは,全角で数字を入力してしまったことが分かる。 数字の入力値と表示の関係は次のようになる。
入力値
表示
123456
123,456
123,456
8.7654
-4.537
0 3/7
8.7654
-4.537
3/7
3 5/9
13.46e5
3 5/9
1.346e6
3/4
1.2%
1.234%
$35.98
¥214980
-¥9752
123456
3 月 4 日
1.20%
1.23%
$35.98
¥214,980
¥-9,752(赤字で表示)
ここで注意を要することは,
• 分数のつもりで入力したものが日付け表示に変わることである。分数を入力するには帯分数の形式で
入力しなければならない。1 以下の分数の場合は先頭に 0 をつける。
3.3. 計算式
23
• 表示はセルの大きさの制限から入力されたものと異なることがある。ただし,表示桁数に関係なく内
部では入力された精度を保っているので心配はいらない。
• 数値% と入力したものは,内部では 100 分比で保存されている。例えば,37% は内部で 0.37 と保存
されている。
日付けや時間の入力方法と表示方法に関しては様々な方法があり,時分秒の計算の場合は単位の変換を自動
的にしてくれる。次に幾つかの例をあげる。
入力
表示
4/15
2000/5/5
6/4/2000
4 月 15 日
2000/5/5
H12.10.10
H12.10.10
12:50:47
4:37 PM
12:50:47
4:37 PM
99/12/31 23:59
00/1/1 0:01
99/12/31 23:59
2000/1/1 0:01
6/4/00
時間は 24 時間制で 12 時間制を使う時は後ろに AM PM を付ける。入力の形式を間違えると時間ではなく
文字列として認識されてしまい,時間計算ができなくなる。
計算式
3.3
表計算プログラムの最大の特徴は入力されたデータに対して色々な計算処理がプログラムを書かずに組
み込み関数だけでできることである。ここでは入力データによる計算・統計処理について説明する。
計算式は計算バーにキーボードで式を入力する方法と,メニューから関数ウイザードを使う 2 つの方法
がある。関数ウイザードは表示画面と関連づけられているので,合計,平均値,偏差値,など複数の値を
使って計算するような場合は,その範囲をドラッグするだけで良いという便利な点がある。
3.3.1
式の入力
アクティブなセルに直接または計算バーに “=”(等号) から入力を始めると式の入力になる。“=” の後は通
常の数式を考えれば良いが,幾つかの注意点を説明する。
• 数値定数 : 数値はその値そのものを入力する。入力値が分数なら分数のまま計算される。
• 変数 : 表計算プログラムでは変数とは,セルアドレスを意味する。セルの値を使って計算するときに
そのセルのアドレスを使う。
例えば,C 列の値を足したものをセル C10 に入力するにはセル C10 をクリックして
=C1+C2+C3+C4+C5+C6+C7+C8+C9
第3章
24
表計算
のように直接または計算バーに入力する。このように式を定義しておくと C1 から C9 までのセルの
値を変更すると C10 の計算結果は自動的に再計算される。このことは表計算プログラムの利用上重要
な機能で,例えば,総額が決められている場合に予算を立てる場合など有効に働く。高等学校までの
「情報」の授業では、これを” シミュレーション” と呼んでいるようである。
• 時間の計算 : h:mm:ss(時:分:秒) の形式で入力された時間の計算は通常の数字と同じにように計算で
き,単位の換算も自動的にしてくれる。ただし,年月日や AM,PM の付いたものは直接計算できない。
一度数字に変換する必要がある。
式のコピーとセルの参照
表計算プログラムは繰り返し計算が多い場合にも実力が発揮される。例えば,同
じ計算式を第 1,2,3,4,5 行と繰り返す場合である。このような場合にセルのコピーによって計算式の
コピーをすることができる。コピーの仕方は次のように行う。
• 編集機能を使う場合:
(1) コピーするセルを選び,
「編集」→「コピー」によりコピーバッファにコピーする。
(2) コピーするセルをアクティブにし,
「編集」→「貼り付け」を実行する。
(3) 同じ式を他のセルにコピーするときは,
「編集」→「貼り付け」を繰り返す。
• 画面上の操作で行う場合:
(1) コピーするセルの右下に小さい四角がある。ポインターをこの場所に当てると,ポインターが小
さい黒十字に変わる。
(2) この小さい黒十字をドラッグすると式がコピーされて自動的に計算が実行されて、結果がコピー
されるセルに表示される。連続して式をコピーする場合に便利であるが,セルを飛び越す場合は
この方法は使えない。
式をコピーする際に,セル変数等は次のような影響を受ける。
• 数値定数 : 数値定数はその値がコピーされる。
• 相対参照 : セルアドレスを C5 のような形式で表すと,セルのコピーによりセルアドレスが自動的に
変更される。例えば,上記の例で C10 のセル (の式) を E10 にコピーすると E10 には
=E1+E2+E3+E4+E5+E6+E7+E8+E9
の式が代入される。これを相対参照という。
• 絶対参照 : 相対参照では式をコピーすると参照するセルアドレスが自動的に変わるために具合の悪い
ことが起きることがある。次の例を考えよう。
3.3. 計算式
25
A
B
1
理学部
400
2
工学部
1200
3
情報学部
1150
4
文学部
800
5
法学部
500
6
合計
C
このデータを利用して各学部の全体に対する構成比を計算したい。
(1) セル B6 において =SUM(B1:B5) により合計を算出する。
(2) 構成比を計算するためにセル C1 において =B1/B6 を入力して計算する。
(3) セル C2 にセル C1 をコピーするとセル C2 の計算式は相対参照の結果 =B2/B7 に変化する。
(4) セル B7 に数値が無ければエラーになり間違ったことが分かるが,何かの数値が入っていれば間
違いに気がつかない。
このようなことが起きないようにするには,式のコピーをする際にアドレス B1 は変わって欲しいが
アドレス B6 は変わって欲しくない。式のコピーの際に参照アドレスが変わらないようにするために
使われるアドレス方式が絶対参照である。
絶対参照するには変わって欲しくない列記号または行番号の前に $ をつける。相対参照と絶対参照を
混ぜると一つのセルに対し B6,$B6, B$6,$B$6 と 4 つのアドレス方式が考えられるので,目的の
応じて使用すれば良い。上記の例ではセル C1 において =B1/B$6 と入力すれば良いことになる。
3.3.2
使用法
関数ウイザードを使う
プログラムに予め組み込まれている関数を使うには関数ウイザードを使うと必要なパラメータが
提示されるので分かり易い。関数ウイザードの使い方はおおよそ次の通りである。
(1) 関数ウイザードを起動するにはメニューバーの fx をクリックする。Version が異なるものでは「挿
入」→「関数」の順にクリックすると関数ウイザードが現れる。
(2) 関数一覧表から目的の関数を選ぶとパラメータの入力用のサブウィンドウが現れる。
(3) パラメータの入力は、キーボードから数値やセルアドレスを直接入力する方法と、計算する数値の入っ
ているセルをクリックまたはドラッグする方法がある。合計、平均,最大、最小等の場合はドラッグ
が分かりやすい。
(4) クリックやドラッグした場合は,その範囲が自動的にパラメータの欄に表示される。
(5) パラメータを 2 つ以上入力する必要がある場合は,第一のパラメータの欄をクリックして範囲をド
ラッグ,第二のパラメータの欄をクリックして範囲をドラッグ,というようにしてパラメータを入力
する。
(6) パラメータの入力が終わったら「OK」を押して,計算させる。
第3章
26
3.3.3
表計算
組み込み関数
組み込み関数は BASIC,C,Pacal 等の汎用言語の比べると非常に多い。以下に代表的なもののみ上げる。
種類
形式
使用例
合計
SUM(範囲)
AVERAGE(範囲)
SUM(C3:C9)
AVERAGE(D4:D10)
MAX(範囲)
MIN(範囲)
RANK(数値, 範囲, 順序)
MAX(D4:D10)
MIN(D4:D10)
RANK(D7,D4:D10,0)
MOD(被除数, 除数)
IF(論理式, 真値, 偽値)
MOD(E5,D7)
IF(B5>59,"合","否")
集計 (1)
INT(数値, 表示桁)
TRUNC(数値, 表示桁)
ROUND(数値,表示桁) ROUNDDOWN(数値、表示桁)
COUNTIF(範囲, 条件)
INT(B5)
TRUNC(D6)
ROUND(D3,2)
ROUNDDOWN(C3,2)
COUNTIF(B2:B74,"合")
集計 (2)
SUMIF(範囲 1, 条件, 範囲 2)
SUMIF(B2:B74,"合",G2:G74 )
平均
最大値
最小値
順位
剰余
分岐処理
整数化
切り捨て
四捨五入
切り捨て
関数利用上の注意
(1) 説明が分かりにくい場合は,空いているセルで試してみよう。
(2) 関数ウイザードを使うには「挿入」→「関数」とする。バージョンによってはメニューバーに fx の
メニーアイコンが表示されている。
(3) 変数の説明中の ” 範囲” は ”X:Y” の形をしており、X, Y はセルアドレスである。ただし、どちらも
同じ列 (例 B3:B17) または同じ行 (例 D3:D17) でなければならない。B2:D10 のように斜めには指定
できない。
(4) 合計を求めるには関数 SUM,関数ウィザードの他にオートサムという機能がある。合計を求める範囲
∑
をドラッグして
のボタンをクリックする。
(5) RANK(x,y,z) のパラメータと結果の意味は, 値 x が範囲 y において何番目であるかを示していて, z
が 0 のときは降順,1 のときは昇順を求める。使用方法は結果を表示したいセルをクリックして,こ
の関数を入力する。
(6) IF 関数は論理式が成立するときは真値を取り,成立しないときは偽値を取る。IF 関数は 8 重まで入
れ子にして使用できる。例えば,セル C1 の値を使って,80 点以上を A,70 点以上 79 点以下を B,
60 点以上 70 点以下を C,59 点以下を E,と成績評価をする際は
IF(C1>79,"A",IF(C1>69,"B",IF(C1>59,"C","E")))
などとする。
3.3. 計算式
27
(7) 実用上の数値には有効桁があり、小数点以下が長い表示は意味がない。また、整数の場合でも、例えば、
“1 万以下は切り捨て” というようなことは良くある。これらも関数で処理しておくと数値の変更の際等
計算間違いを防ぐことができいる。これらの計算に用いられるのが、INT, TRUNC, ROUND, ROUNDDOWN
である。
INT と TRUNC は小数点のある数値を整数化する際に用いる。違いは TRUNC は小数点以下を単純に切
り捨てるが,INT は数値を超えない最大の整数が返される。正の数の場合は両方の関数は同じ値を返
すが,負の数の場合には違いが生じるので,注意しよう。表示桁はデフォルトで 0 である。
ROUND は数値を小数点以下表示桁の次位で四捨五入する。桁数に負の値を指定すると、その絶対値の
桁で四捨五入される。ROUNDDOWN は数値を表示桁の次位以下を切り捨てる。表示桁に負の数を指定す
ると、その絶対値の次位以下を切り捨てる。
(8) 集計に使う関数 COUNTIF は条件にあうレコードの数を調べるのに使う。SUMIF は条件に合うレコー
ドのデータ範囲にある数の合計をする。詳細は集計の節 (3.4.3) を参照。
3.3.4
時間の扱い
時間の入力や計算は手で計算するときは面倒である。Excel では計算の際に、時・分・秒の換算を自動的
に行ってくれるが、日付・時間の計算を行うには幾つかの注意が必要なので、以下に要点を説明する。
始めに、Excel では日付・時間を 1900 年 (または 1904 年)1 月 1 日 0 時 0 分 0 秒を基準日 0.0 として整数
部を経過日、小数部を経過時間として経過日時で計算している。これを、ヘルプや説明書ではシリアル値と
呼んでいる。従って,2007 年 11 月 10 日 11 時 30 分 のシリアル値は 37934.47917 となる。
入力の際に、時間の場合は通常は "13:27:39" または"13 時 27 分 39 秒"、日付の場合は"2007/11/10",
"2007.11.10", "2007 年 11 月 10 日" 、日付・時間を合わせた場合は "2007/11/10 11:30" の形式で入力
された場合は、そのまま日付・時間をして扱われ、時間の加減算と実数倍の計算は自動的に時・分・秒の換
算をしてくれる。
しかし、時速を求める場合のように時間で割る場合や 2 つの日付の差を求めるような計算の場合は、日
付・時間のシリアル値に変換する必要がある。一番簡単な変換方法は、“書式の変更” で、「書式」→「セ
ル」→「表示形式」と選んで、表示される表示形式一覧表から “標準” を選べばシリアル値に変換してくれ
る。逆に、シリアル値を日付・時間の形式に変換する場合も表示形式一覧表から “日付”、“時刻” を選び、
更に表示される詳細表示形式から希望の形式を選んで、[OK] を押せば良い。日付や時刻の表示は色々な形
式があるので、 “セルの書式” で調べてみよう。
シリアル値を使用する計算の例を挙げる。
• 時速の計算の場合は距離を時間で割るが、通常の時間の形式の時間値で割るとエラーが起きる。この
場合は時間をシリアル値 (標準形式) に変換して更に 24 を掛ける。これはシリアル値のままでは時速
でなく日速になってしまうからである。
• 2 つの日付から差を求める場合、日付の通常の表示形式から引き算をすると予想外の結果がでる。こ
の場合は日付をシリアル値 (標準形式) に変換して引き算をするか、または、引き算をした結果をシリ
アル値 (標準形式) に変換すれば良い。
第3章
28
表計算
例えば,2007 年 2 月 1 日から 2007 年 11 月 10 日までの日数を計算すると、それぞれのシリアル値が
37934 日 と 37652 日 で差が 282 日である。これをシリアル値とする日付が 1904 年 10 月 9 日 (1904
年基準の場合) なので直接引き算をすると後者が表示されるということになる。なお、設定によっては
シリアル値の引き算をしても後者の日付表示が現れるときがあるので,シリアル値に変換すれば良い。
シリアル値と日付・時間の変換を日付・時間関数を用いて行う方法もある。シリアル値や標準の日付・時間
形式のデータから月・日・時・分などを自動的に抽出する場合は、日付・時間関数を使用するしかない。こ
れらの関数については「ヘルプ」で “日付 時間” のキーワードで調べることができる。
簡易データベース
3.4
この節の説明では表の要素に対し、データベースで用いている名称を使う。
表 (テーブル) 対象としているワークシートまたはその部分を表またはテーブルという。
属性 (フィールド) テーブルの1つの列をフィールドまたは属性(attribute) という。テーブルをデータベー
スとして扱うときは、1 つの列のデータは同じ種類 (数字、文字列、時間など) でなければならない。
テーブルの各列の最上部につけられた名前を “フィールド名 (属性名)” という。フィールドの組をデー
タベースではデータベース・スキームと呼ぶ。
レコード テーブルの各行をレコードという。各レコードが各々フィールドのデータを持っていると考える。
キー レコードと一対一に対応する属性を特にキーという。キーは ID などのフィールドをつければ簡単に
設定できる。
3.4.1
並び替え (ソート)
表全体を項目 (列) の値の順に並び替えることができる。値としては,アルファベット順,数値順,日付
や時間順などが利用できる。
(1) 並び替えをする表の部分をドラッグする。
(2) メニューから「データ」→「並び替え」を選ぶと並び替えのウイザードが現れる。
(3) ウイザード中の「データ」をクリックする。
(4) 並び替えのキーとなる列のアルファベットと並び替え順 (「昇順」または「降順」) を選ぶ。 昇順は
小さい方から大きい方へ、降順は逆に並び替える。
(5) キーとなる値に同じものがあることが考えられ時は,二番目のキーとなる列のアルファベットと並べ
る順を選ぶ。キーは 3 つまで指定できる。
(6) 「OK」を押せば,表全体の並び替えがされる。間違ったときは,メニューから「編集」→「取り消
し」を選べば元に戻る。
3.4. 簡易データベース
3.4.2
29
検索
検索と置換
(1) 検索する列をドラッグする。
(2) メニューから「編集」→「検索」を選ぶと、“検索と置換” のサブウィンドウが開くので、[検索] のタ
グになっていることを確認して、[検索する文字列] の項に目的の文字列を入力する。
(3) 一個ずつ検索するときは、[次を検索] のタグをクリックして順次検索する。
(4) 該当するレコードを一度に探すには、[すべて検索] のタグをクリックすると、該当するレコードの一
覧が表示される。
(5) このサブウィンドウで始めに [置換] のタグを選ぶと、文字列を検索して置換できる。置換も1つずつ
または該当項目の一斉置換がある。
検索結果を色で表示
検索結果の該当するセルを色で表示するには次のようにする。
(1) メニューから「書式」→「条件付き書式」を選び、表示されるサブウィンドウで条件を入力し、[書式]
タグをクリックして表示の書式を指定して [OK] をクリックする。
3.4.3
集計
集計は条件には、条件に合うレコード数を数える COUNTIF 関数と条件に合うレコードの数値の和を求め
る SUMIF がある。
COUNTIF COUNTIF(範囲, 条件) 関数は、指定された範囲にあって条件に合うレコードの数を調べる。範
囲は D$3:D$52 などとし、条件は "X" とすると値が X のもの、"<65" とすると値が <65 のものが条
件に合う。COUNTIF 関数は条件が 1 つしか設定できないので,60 < x < 70 の範囲にあるレコード数
を求めるには、COUNTIF(A$2:A$10,">60") - COUNTIF(A$2:A$10,">69") などと工夫する。
SUMIF SUMIF(選択範囲, 条件, 和を求める範囲) 関数は選択範囲で、条件に合うレコードに対し和を求
める範囲内のデータの和を求める。例えば、SUMIF(B$3:B$45,"<60", F$3:F$45) は B3 から B45 に
あるフィールドの値が <60 のレコードに対しFのフィールドの値の和を求める。男女別の体重の平
均値を求めるというような場合に有効である。SUMIF も条件が 1 つしか設定できないので,COUNTIF
で説明したように工夫する。
3.4.4
抽出
検索をしても、最終的にはレコードを抽出しないと役に立たないことが多い。抽出はあるフィールドの値
が決められた条件を満たすレコードを選び出す機能である。抽出は「オートフィルター」機能を使用する。
(1) 抽出を行うテーブルをクリックする。
第3章
30
表計算
(2) メニューから「データ」→「フィルタ」→「オートフィルタ」を選ぶ。
(3) テーブルのフィールド名欄全部に選択の矢印タグが付く。
(4) 抽出に使用するフィールドのタグをクリックして、表示されるプルダウンメニューから “オプション”
を選ぶ。
(5) 表示されるオートフィルタオプションのサブウインドウに抽出の条件を設定する。1つのフィールド
に対して 2 つまでの条件を AND または OR で結合することも可能である。 例えば、“50 < 体重 < 70”
という場合は、 “50<体重” AND “体重<70” で設定する。
(6) 条件を設定して [OK] をクリックすれば、条件に合うレコードだけが抽出される。
(7) 複数の属性で抽出するときは、1つのフィールドで抽出したレコードから更にオートフィルタで抽出
をする。例えば、“性別 = 男性” で “50 < 体重 < 70” のレコードを抽出するという場合は、性別の
属性で男性を抽出して、抽出されたテーブルで更に体重の属性で抽出すればよい。
(8) 名前、住所等文字列で抽出を行う場合、オートフィルターオプションの選択条件を、文字列の部分一
致 (曖昧条件) で抽出することができる。これには検索の文字列に “?”, “*” をつけて曖昧部分をあら
わす。“?”, “*” をデータベースではワイルドカードという。
• ワイルドカードは確定文字の前にでも後にでもつけることができる。
• “?” は任意の一文字を表す。“?” は複数個続けることができ、その場合は続けた個数分の任意の
文字を意味する。
例えば、“??市” は “横浜市”、“平塚市” などに一致するが、“津市” や “小田原市”、“さいたま
市” には一致しない。“?A?” は真ん中に A がある 3 文字の任意の文字列に一致する。
• “*” は 0 個も含めて任意個数の任意の文字列を表す。
例えば、“*県” は “県” を含め任意の県名と一致する。また、“*ABC*” は ABC を含む任意の
文字列に一致する。
ワイルドカードは名簿などで、“沢” で終わる名前の人を抽出するのに “*沢 ”、電話番号の市外局番
が横浜の人を抽出するのに “045-???-????” などのように使用する。
(9) 抽出したテーブルは、別の場所にコピーして保存する。
(10) 元のテーブルで、メニューから「データ」→「フィルタ」→「オートフィルタ」をクリックすると、
オートフィルタの機能が解除されて、始めのテーブルに戻るので、オリジナルのテーブルは保存さ
れる。
(11) 以上で、元のテーブルと抽出されたテーブルを得る。
3.5. グラフ表示
31
グラフ表示
3.5
3.5.1
利用法
グラフの作成はグラフウィザードを使って容易にできる。作成手順は組み込み関数の使用法と同じで次の
要領で行う。
(1) ワークシートにデータを入力する。
(2) グラフウィザードを開く。
(3) グラフの種類や形式を選択する。
(4) 表示パラメータの窓をクリックして,データの範囲をドラッグする。選択した範囲がパラメータの窓
に自動的に現れる。
(5) 同じようにして,表示に必要なデータを入力する。
(6) 「OK」 をクリックすればグラフが現れるので,グラフの枠を適当な位置にドラッグする。
(7) グラフをクリックして印刷を行えばグラフだけ印刷される。グラフの範囲外をクリックして印刷を行
えば, ワークシートのデータと一緒に印刷される。
3.5.2
グラフの種類
代表的なグラフの種類をあげておく。
• 棒グラフ : 項目毎の数値の比較を表すときに用いる。色々な飾りがあるので利用してみよう。比較す
る数字が 2 次元以上の場合にも用いられる。
• 円グラフ : 項目毎の構成比の表示に用いる。出来上がった円グラフの扇型の一つをドラッグすると,
その部分が抜き出せて,強調表示できる。 • 折れ線グラフ : 項目毎数字の時間変化の表示に用いる。多次元データの場合にも各要素毎の時間変化
を線で結んで表示する。
• 積み上げグラフ : 項目毎の多次元のデータを加えたものを表示するのに用いる。
• 帯グラフ : 積み上げグラフを構成比にしたものを表すのに用いる。各帯の高さは一定になる。項軸の
変換もできて,視点を変えて表示できる。
• ステレオグラム : 項目毎の 2 次元データの表示するのに用いる。グラフウィザードで「3D–縦棒」か
ら選ぶ。
• 3D グラフ : 項目毎の多次元データの時間変化を 3 次元グラフにして表示する。多次元データの折れ
線グラフの各折れ線を横に広げて表示したものである。
• 散布図 : 2 次元データの散布状況を表示するのに用いる。相関を見るときに使う。
第3章
32
表計算
• レーダーチャート : 項目毎の多次元データを多角形で表示するのに用いる。例えば,個人毎の成績を
このグラフで表して,得意科目や不得意科目を読み取ったりするときに利用する。
3.5.3
罫線,表示の異常、印刷
セルの書式
罫線の選択や入力したデータの表示が異常になったりしたときは,セルの属性 (書式) を調べ
れば良い。調べ方は次のいずれかによる。
• 目的のセルをクリックして,メニューの「書式」→「セルの書式」を選ぶと,セルの書式のウイザー
ドが現れるので,変更したい属性のタグをクリックして変更する。
• 目的のセル上で右ボタンをクリックすると同じ効果が得られる。
罫線の移動、セルサイズの変更
入力データの長さに合わなくなったセルの幅を変更するには,A, B, C 等
のセルの列記号表示セルの境の罫線上にポインターを移動させるとポインターの形が黒の両側矢印になる
ところがある。この場所で罫線を左右にドラッグすると罫線が移動する。
表全体のセルサイズの変更は「書式」→「行」または「列」を選んで、「行の高さ」または「列の幅」を
選んで、変更する。
印刷時の注意
印刷する前に,
「ファイル」→「印刷プレビュー」により印刷の様子を見てから印刷しよう。
ポインターが思わぬ所にあると、膨大な白紙を印刷してしまうからである。また、表の横サイズが大きいと
きは、プレビューで縦横を変更してみよう。
3.6
ワードプロセッサーとのデータの交換
表計算プログラムで計算した結果やグラフをワードプロセッサーやプレゼンテーションプログラムと結
合してレポートや発表用の資料を作成できる。その方法にはリンクと埋め込みという 2 つの方法がある。リ
ンクはデータの変更があるような場合に都合がよい。
一番簡単な方法は,例えば,ワードプロセッサーを開いて「編集」で「貼り付け」で「ファイルから貼り
付け」を選び,貼り付ける計算済みのデータを指定するだけである。
3.7. 課題 2
3.7
33
課題 2
以下の (1)–(6) から 4 題選び,表計算プログラムを用いて解答しなさい。
(1) 次の表の空欄を埋めて表を完成しなさい。
項目
単価
割引率
必要個数
本体
150,000
15%
50
ディスプレー
50,000
23%
キーボード
9,500
19%
無線マウス
5,000
13%
基本ソフトウェア一式
198,000
9%
応用ソフトウェア一式
389,000
11%
OA デスクセット
57,000
24%
USB メモリ (500MB)
9,800
33%
100
プリンター
348,000
18%
2
プリンターテーブル
28,900
24%
プロジェクター
358,000
18%
1
HUB
38,000
17%
5
配線類総額
119,000
0%
1
N
N
N
合計
項目別総額
作成上の注意
• 抜けている個数は,他の項から判断して決める。
• 項目別総額の計算は、単価、割引率、必要個数から計算式を考え,それをセルアドレス変数に直
して行う。項目別総額はどの項目に対しても計算式は同じであるから、“本体” についての式が
できれば残りの項目については式のコピーだけで一度にできる。セルアドレスを使えば、後で数
値を変更するとき合計などは自動的に正しく再計算される。
• 項目別総額の計算式を考える際は,割引率の意味と% 表示であることを忘れないようにしよ
う。割引率の数値に % を付けているので,内部では 100 分比になっていることに注意。計算は
“100%-c5” または “1-c5” とする。
• 合計は総合額の計だけでよい。N とある単価,割引率、個数の項目の合計は意味がない。 でき
れば斜線を引きなさい。
第3章
34
表計算
(2) (i) 次の空欄を計算しなさい。(ii) いろいろなグラフを選んでデータを図で分かりやすく示しなさい。
2002 年度
第一期
第二期
第三期
第四期
北海道支社
150,000
170,000
140,000
150,000
東北支社
80,000
70,000
90,000
80,000
関東支社
200,000
205,000
215,000
220,000
東京支社
351,000
374,000
293,000
317,000
中部支社
105,000
100,000
95,000
100,000
大阪支社
258,000
247,000
295,000
269,000
関西支社
197,000
184,000
247,000
201,000
中国支社
90,000
95,000
85,000
90,000
四国支社
75,000
87,000
58,000
79,000
九州支社
87,000
105,000
94,000
113,000
年間合計
構成比
各期合計
作成上の注意
• 計算は,セルアドレス変数を使う。そうすれば,後で記入ミスの訂正や数値の変更をしたときに,
自動的に合計が変わる。ただし,この問題の計算は足し算だけなので,関数ウイザードを起動す
∑
るまでもなく,足す範囲をドラッグして簡易関数メニューから “ (和)” を選ぶだけで良い。
• グラフは各支社の期毎の推移と各支社の業績の比率が分かるようなものを使用する。
データの欄をドラッグするときに、合計の欄を入れないようにしよう。
(3) 次の表はあるクラスの成績表である。この表を用いて色々な分析をしてみよう。(i) 個人の合計点、科
目毎の最高点、最低点、平均点、標準偏差を求めなさい。(ii) 個人・科目毎に,90 点以上 S,80 点以
上 90 点未満 A,70 点以上 80 点未満 B,60 点以上 70 点未満 C,40 点以上 60 点未満 E,40 点未満
F,の評価を求めなさい。(iii) 各科目毎に、評価 S, A, B, C, E, F の頻度分布を調べ、円グラフで表
示しなさい。(iv) 各科目毎に、10 点刻みで得点の頻度分布を調べ、棒グラフで表示しなさい。(v) 3
科目全ての評価が C 以上の生徒の一覧表を作成しなさい。(vi) “算数と英語”,“算数と国語”, “英
語と国語” の散布図を作りなさい。
3.7. 課題 2
35
ID
算数
英語
国語
PM123456
65
75
80
PM123457
45
85
60
PM123459
35
35
70
PM123460
75
65
40
PM123461
85
90
75
PM123463
60
80
65
PM123464
35
25
35
PM123466
70
65
50
PM123467
80
65
75
PM123469
50
45
30
PM123471
40
35
50
PM123472
80
65
70
PM123474
15
10
30
PM123475
65
55
65
PM123477
75
65
55
PM123478
55
45
45
PM123479
55
50
50
PM123480
65
55
45
PM123482
75
75
65
PM123483
65
55
75
PM123485
35
65
44
PM123486
75
60
70
合計
算数
英語
国語
作成上の注意
• 最高は MAX(範囲)、最低は MIN(範囲)、平均は AVERAGE(範囲)、標準偏差は STDEV(範囲) を使
う。問題にはないが、STANDARDIZE(X,平均値,標準偏差) を使えば,X の偏差値が得られる。
成績の評価は IF を使う。評価や得点の頻度分布を調べるには COUNTIF を使用する。組み込み
関数の項を参照。
• 3 科目全部の合格者を調べるには、オートフィルター機能を用いる。“算数” で抽出したものに
“英語”、“国語” と順に抽出を続ける。抽出の条件には、点数を使う。
• “算数–国語 ”のようにセルが続いてない場合に散布図のパラメータを入力するには,次のような
操作を行う。
(i) “算数” のデータの列をドラッグし、「グラフウィザード」を起動して,
「散布図」を選び「次
へ」をクリッ ク。(ii) “系列” のタグをクリックすると、“Y の系列” の窓には “算数” のデータ
列が既に入っているはず で、“X の系列” の窓をクリックして、“国語” のデータの列をドラッグ
し、系列のデータ列を確認する。(iii) 「次へ」をクリックして、ラベルや軸の項目を適当に整え
て、「完了」
第3章
36
表計算
(4) 次の表はある駅伝のリレーの区間毎のスプリットタイムである。このデータを用いて、(i) 合計時間,
区間記録、区間平均速度、総合順位を求め,(ii) 総合成績順にチームを並び替えなさい。
チーム
1区
14.6km
2区
13.2km
3区
9.5km
4区
14.0km
5区
11.6km
6区
12.3km
7区
11.9km
8区
19.1km
駒大
44 : 32
38 : 29
28 : 50
41 : 40
35 : 28
36 : 49
36 : 00
1 : 01 : 24
大東大
44 : 36
39 : 31
27 : 55
41 : 59
34 : 31
37 : 07
36 : 19
1 : 00 : 25
中央学院
44 : 58
39 : 33
28 : 22
41 : 39
35 : 46
37 : 26
36 : 42
1 : 02 : 26
東海大
44 : 44
38 : 49
28 : 09
41 : 35
35 : 21
36 : 51
36 : 11
0 : 59 : 26
日体大
44 : 30
39 : 20
28 : 48
43 : 08
35 : 39
37 : 41
35 : 40
1 : 01 : 39
山梨学院
44 : 44
39 : 06
29 : 09
41 : 18
36 : 00
38 : 16
36 : 10
0 : 58 : 16
区間記録
平均速度
作成上の注意
• 時間の入力は 22:41 などは 0:22:41 と 0: を補う。
• 時間の合計、平均、最小の計算で,秒・分・時の換算は自動的に行われる。
• 合計は SUM(範囲),区間記録は MIN(範囲),値 X の順位の計算は RANK(X,範囲,値) による。
最後の値は 0 の時は降順,1 の時は昇順の順位を返す。
• 平均速度の計算には、時間を 10 進小数表示にする必要がある。次のようにする。
(a) AVERAGE 関数を使用して平均値を求める。
(b) 「書式」→「セル」→「表示」を選び、表示の一覧から “標準” を選んで、10 進表示にする。
(c) このままでは日単位になるので、24 を掛けて時間単位に変換する。
(d) この値で距離を割る。
• 時間の余裕があるときは区間毎の通過順位を計算して、グラフで表してみよう。区間毎に通過時
間の合計を求めて順位を計算して,それを用いてグラフにする。
3.7. 課題 2
37
(5) 表計算プログラムは純粋数学にも利用できる。ここでは、素数の性質を調べてみよう。
• p を素数とする。2 つの整数 a, b に対し、a − b が p で割り切れるときに a ≡ b (mod p) と書
き、「a と b は p を法として合同」という。
• a ≡ b (mod p) であることと a, b を p で割ったときの余りが同じであることは同値である。
• 集合 {0, 1, 2, . . . , p − 1} の元は互いに p を法として合同でなく,任意の整数はこの集合のどれか
の元に p を法として合同なので、この集合を 「mod p に関する剰余類の代表」という。
次に a, b を mod p に関する剰余類の代表元とするとき、a + b ≡ c (mod p), a × b ≡ d (mod p) と
いう計算を考える。この式を「合同式」という。次の表は p = 7 の場合の剰余類の代表を用いた合同
式に関する足し算,掛け算,ベキ乗算の表である.
和
1
2
3
4
5
6
1
2
2
3
3
4
4
5
5
6
6
0
0
1
3
4
4
5
5
6
6
0
0
1
1
2
2
3
5
6
6
0
0
1
1
2
2
3
3
4
4
5
積
2
3
4
5
6
冪
1
2
3
4
5
6
2
4
6
1
3
5
2
2
4
1
2
4
1
3
4
5
6
1
3
5
2
5
1
4
5
2
6
3
1
6
4
2
4
3
2
1
3
3
2
6
4
5
1
4
5
4
5
2
4
1
6
4
2
2
3
1
1
6
6
1
6
1
6
1
6
最後の表の “ap−1 ≡ 1 (mod p) (0 < a < p−1)” は Fermat の定理と呼ばれる。また、{g, g 2 , . . . , g p−1 }
が p を法とする剰余類の代表系になるときに g を p を法とする剰余類の「原始根」とよぶ。
問題 p = 17 として同じように 17 を法とする剰余類を用いた、足し算,掛け算、ベキ乗算の表を作
成しなさい。また、冪乗表の中で原始根になっている行に上記の例のように罫線を引きなさい.使用
する関数は MOD(x, 17) だけである。
第3章
38
表計算
(6) 少し難しいが,クロス分析 (ピボット (pivot) 集計,仕分け集計) に挑戦してみよう。
初めに,次の表を作成する。
支店
商品
4月
5月
6月
7月
札幌
テレビ
23
15
16
25
札幌
洗濯機
27
13
15
30
札幌
冷蔵庫
21
9
11
19
札幌
ビデオ
16
8
26
15
札幌
パソコン
20
10
7
15
仙台
テレビ
25
21
19
30
仙台
洗濯機
30
23
21
31
仙台
冷蔵庫
25
16
18
31
仙台
ビデオ
21
15
26
23
仙台
パソコン
16
8
9
21
東京東
テレビ
40
35
31
46
東京東
冷蔵庫
36
27
25
40
東京東
洗濯機
33
21
25
37
東京東
パソコン
29
15
17
33
東京東
ビデオ
37
26
37
43
東京西
テレビ
48
42
46
51
東京西
洗濯機
38
31
33
47
東京西
冷蔵庫
36
24
35
50
東京西
ビデオ
45
22
31
40
東京西
パソコン
38
25
21
37
横浜
テレビ
36
24
37
45
横浜
冷蔵庫
31
26
28
34
横浜
洗濯機
34
21
19
31
横浜
パソコン
26
18
13
31
横浜
ビデオ
33
17
29
42
この表に基づいて,色々な視点からデータの分析ができる。これをクロス分析,クロス集計,ピボッ
ト集計という。
(a) 初めに,基本のピボット集計表を作成しよう。
メニューから「データ」→「ピボットテーブルとピボットグラフ」を選択すると,
「ピボットテー
ブル/ピボットグラフ ウィザード– 1/3」という,サブウィンドウが開くので,
「完了」をクリッ
クすると,凡そ次のような画面と「ピボットテーブル」というラベルのついたサブウィンドウが
現れる。
3.7. 課題 2
39
ここにページのフィールドをドラッグします ここに列のフィールドをドラッグします
こ
こ
に
行
ここにデータアイテムをドラッグします。
の
フ
途中省略
す
(b) 「ピボットテーブル」から (1) “支店” という要素をドラッグして「列フィールド」にドロップ
し,(2) “商品” という要素をドラッグして「行のフィールド」にドロップし,(3) “4 月” という
要素を「データアイテム」のフィールドにドロップすると,次のようなテーブルができる。
合計:4 月
支店
商品
横浜
札幌
仙台
東京西
東京東
総計
テレビ
36
23
25
48
40
172
パソコン
28
20
18
38
29
129
205
175
764
途中省略
総計
160
107
117
(c) 続いて,
「ピボットテーブル」から “5 月” “6 月” “7 月” の要素を「データフィールド」へ続けて
ドラッグすると,次のピボットテーブルが得られる。
第3章
40
表計算
支店
商品
データ
横浜
札幌
仙台
東京西
東京東
総計
テレビ
合計:4 月
36
23
25
48
40
172
合計:5 月
24
37
45
15
16
25
21
19
30
42
46
51
35
31
46
137
149
197
26
18
13
20
10
7
16
8
9
38
25
21
29
15
17
129
76
67
合計:6 月
合計:7 月
パソコン
合計:4 月
合計:5 月
合計:6 月
途中省略
合計:7 月
全体の合計:4 月
34
19
31
50
40
174
160
107
117
205
175
764
136
225
199
847
途中省略
全体の合計:7 月
183
104
(d) 続いて色々な分析をこのテーブルで試してみよう。
各要素の横にプルダウンメニューのボタンがついている。そのメニューの中から表示したいもの
をクリックすれば,目的の分析ができる。
例えば,“支店” ごとの成績を表示するには,“支店” のプルダウンメニューから “横浜” だけチェッ
クして「OK」をクリックすれば,横浜支店の商品別 × 月別の業績が得られる。
商品別の成績を表示するには,“商品” のプルダウンメニューから “テレビ” だけをチェックして
「OK」をクリックすると,テレビの支店毎 × 月別の売上高という分析もできる。
この方法では,表の下部に合計という余分なものがつく。それを避けるには,(1) 「ページの
フィールド」に “商品” の項目をドラッグし,(2) 商品のプルダウンメニューの中から “テレビ”
だけをクリックして「OK」すれば,次のようにテレビの支店毎 × 月毎の売上高を分析した表が
得られる。 商品
テレビ
支店
商品
テレビ
データ
合計:4 月
横浜
札幌
仙台
東京西
東京東
総計
36
23
25
48
40
172
30
51
46
197
途中省略
合計:7 月
45
25
3.7. 課題 2
41
(e) ピボット分析で注意しなけらばならないことは,できた表をこれ以上加工できないことである。
例えば,(c) で得られた表から月毎の値を合計するとか,元の表の値を間違えたために元の表の
値を修正しても,一度できたピボット表の値は,自動的に訂正されない。初めから,ピボット表
を作り直さなければならない。
例えば,元の表に次のように合計欄を追加して初めからやりなさねばならない。
支店
商品
4月
5月
6月
7月
札幌
テレビ
23
15
16
25
札幌
洗濯機
27
13
15
30
札幌
冷蔵庫
21
9
11
19
合計
以下省略
問題 (i) (e) の表を完成させて,(ii) (c) の表および (d) の表で商品を “パソコン” にしたものを作成
しなさい。
43
第4章
4.1
インターネット入門
Internet
インターネットはローカルなコンピュータネットワークを結ぶ広域のネットワークであるが,今日では単
なるコンピュータネットワークの枠を越えて,生活や社会活動の基盤技術を成すようになっている。イン
ターネットの利用は従来とは違うビジネスの形態を提供したり,日常生活の在り方まで変えようとしてい
る。このような状況に対して、各国で ICT(Information and Communication Technology) という言葉で、
国を挙げて技術の開発・普及に努めている。この章では電子メールと,WWW の所謂ホームページの作成
の練習をしよう。
4.1.1
インターネットの特徴
• ローカルなコンピュータネットワークのネットワークであり、世界中に広まっていること。
• コンピュータ科学者の興味から発展してきたこと。
• 「公開」性が重要視されていること。組織としてのオーナもいないし,参加も自由である。情報は国
境を越えて伝えられる。
• マルチメディアの情報を扱えること。
• 両端制御方式を取っているために,通信制御は簡単であるが逆に通信料金が課金できない。
• データグラム通信 (パケット通信) 方式なので,TV や映画などのストリーム通信には問題がある。
4.1.2
インターネットの簡単な歴史
• 1957 旧ソビエトが人類初の人工衛星を打ち上げる (スプートニックショック)
• 1962 スイッチドパケット通信の成功 (ラベル付きデータのリレーの成功)
• 1968 ARPANET(Advanced Research Project Agency NET) の実験始まる。
• 1988 アメリカで NFSNET バックボーン完成,有名な internet worm 発生,世間にインターネット
の名前を広める。
• 1992 Internet Society 設立。
• 1995 プロバイダー制度始まる。商用インターネットの始まり。
第4章
44
4.1.3
インターネット入門
サービスの種類と歴史
1972 smtp(sendmail), 1972 telnet, 1973 TCP/IP, ftp, 1976 UUCP, 1983 TCP/IP 制定, 1984
DNS 制定, 1990 WWW 提唱, その他に ntp, DHCP, ICMP, POP, IMAP 等知らない内に利用し
ているサービスが約 30 種類ある。
4.1.4
利用方法
インターネットを利用するための基礎的な知識を説明する。
IP アドレス コンピュータをインターネットに接続するには,そのコンピュータのインターネット上の識
別符合である IP アドレスという 32 ビットの ID をつけなければならない。このアドレスは 8 ビット毎に
ピリオドで区切って 10 進法で表示される。例えば,東海大学総合情報センターのホームページサーバーに
は 150.7.2.200 という IP アドレスが割り当てられているし、湘南キャンパス内の機械には 150.7 で始まる
IP アドレスが割り当てられている。使用中のパソコンの IP アドレスはキーボードの右隅に記載してある。
IP アドレスは管理者の許可を得られれば自由に変更できるが、ユーザが変更するメリットは何もない。
IP ドメイン名 Internet では数字によるアドレス方式の他に IP ドメインネームと呼ばれる通常の文字列によ
る形式も使用している。例えば、情報センターホームページサーバーの IP ドメイン名は www.cc.u-tokai.ac.jp
であり、ここで ac は academic を意味し,jp は japan を意味する。即ち,u–tokai.ac.jp は日本の大学間ネッ
トワーク組織に加盟している東海大学という IP ドメイン名を表している。日本の企業なら kaisha.co.jp,日
本の政府の組織なら kanchou.go.jp,日本の組織なら sosiki.or.jp,日本の通信関連の組織なら tushin.ad.jp,
または purobaida.ne.jp というようになる。この他,地方公共団体では city.hiratsuka.kanagawa.jp のよう
な形式の IP ドメインネームも使用されるようになってきた。外国の場合も同様の方式で IP ドメインネー
ムが付けられるが,アメリカ合衆国に関してだけは大学なら dname.edu のように国名がつかない。ただし,
この場合はアメリカ合州国内だけを指しているのでないので nantoka.com という名前を見てアメリカ合州
国内にある会社であると思ってはいけない。
IP アドレスやドメイン名は勝手につけてはいけない。ネットワーク上に同じ IP アドレスを持つ機械
があると通信ができなくなる。この管理をしている民間の非営利団体がある。世界のトップの管理機構が
ICANN(The Internet Corporation for Assigned Names and Numbers),日本のトップが JPNIC(Japan
Network Information Center),JPRS(Japan Registry Service .JP の管理団体) である。個人が自宅等でイ
ンターネットに接続するにはプロバイダから IP アドレスをもらう。IP アドレス自身は無料であるが、モデ
ムという電話回線に接続する機械が必要で、その使用料がかかる。IP アドレスは現在の 32 ビットではい
ずれ足りなくなるので,128 ビットのものが使われるようになってきた。これを IPv6 と称している。
インターネットへ直接情報が流れないようにルータなどで遮断された内部でインターネットを使うときは
プライベートアドレスという IP アドレスが自由に使える。この様な場合はイントラネットと呼ばれること
がある。プライベートアドレスに使える IP アドレスは,RFC1918 に定められており,大規模用に 10.0.0.0
∼10.255.255.255,中規模用に 172.16.0.0 ∼ 172.31.255.255,小規模用に 192.168.0.0 ∼192.168.255.255 が
使用できる。自宅でプロバイダーからもらえる IP アドレスは,通常1つである。このような場合,自宅
4.2. インターネット上の社会的障害問題
45
でネットワークを組むには,ルータにプロバイダーからもらったアドレスを,自宅内には 192.168.0.1 ∼
192.168.0.5 などを使えばよい。
DNS IP アドレスとドメイン名の対応を司っているシステムが DNS(Domain Name System) で,上記の
団体をトップとして分散データベースというシステムで運用されている。使用しているコンピュータに関し
て IP アドレスや MAC アドレスを調べるには ipconfig,arp -a, nslookup などのコマンドを使って
みればよい。
MAC アドレス コンピュータ 1 台ずつ (正確にはネットワークインターフェース1台ずつ) には、固有の
48 ビットの数字の ID がつけられている。これを MAC(Media Access Control) アドレスという。この ID
は 00 : 0e : 7f : 9a : 45 : 0d のように 8 ビットずつ区切って 16 進法で表示される。MAC アドレスは機械
の製造番号と同じで変更できない。
4.2
4.2.1
インターネット上の社会的障害問題
インターネットという特殊空間
インターネットが一般の社会に登場してからまだ 10 年も経っていない。新聞,TV,雑誌の情報は多く
の人の手を経て作成されて,常に公の目に曝されている。インターネットに携わる人々や国が全て倫理問題
も含めて良心的・好意的にインターネットのサービスを提供しているのでないことも知っておく必要があ
る。インターネットに関して、匿名性という性質が強調されているが、情報源を調べることは可能である。
Web の簡易サイトを提供しているものが良心的な業者である保証はないし、掲載される内容に関して責任
も負っていない。情報教育の教育者はこれらの面にも気を配らなければならない。新しいものを上手に利用
できるようになるためには,経験と理性が必要である。
4.2.2
特徴
ウイルス,ワーム
インターネットの普及に伴って問題になってきたのがウイルスやワームと呼ばれる悪質な妨害プロ
グラムの蔓延である。初めの頃のウイルスやワームは感染したコンピュータの画面にいたずらを表示した
り CPU 資源を浪費するという程度であった。最近のこれらの妨害プログラムは電子メールや Web で蔓延
するものが多い。電子メールの場合は,多くは添付ファイルとしてついて来て,添付ファイルを開いたり,
メールを開くだけで自分の複製をアドレス帳にあるアドレスに無差別にばら撒いたりして、際限なく蔓延
していく。組織などでは一人に伝染すると組織中にたちまち広まる。もっと悪質なものは,そのコンピュー
タのファイルを全部消去するというものも広まったことがあるし,現在でもインターネットに繋ぐだけで侵
入して来て,コンピュータを使えなくするものが多数広まっている。
Web の場合は,不用意にダウンロードしたファイルが妨害プログラムだったり,ダウンロードしたファ
イルについてくる。ウイルスやワームは毎日何十個新しいものが作られていて,また,簡単にまねができて
しまうらしい。こうなると PC の OS の欠陥といえなくもないのであるが,現実には対策を施しておかな
いと日常の PC の使用に支障をきたす。
第4章
46
対策
インターネット入門
利用者の基本的な心得としては,(i) 不審者のメールは読まずに廃棄すること,(ii) Web から不用意
にファイルのダウンロードをしないこと、(iii) Windows Update をまめに行うこと (自動更新という設定を
有効にしておくこと),(iv) ウイルスチェックのソフトウェアを導入して置くこと、(v) コンピュータの管理
者のパスワードを必ず設定しておくことと、などが最低必要である。1 台の機械の感染は周辺の機械にも伝
染するという悪影響があるので組織的にも個人的にも十分な注意をしよう。
spam メール、迷惑メール
4.2.3
特徴
見ず知らずの会社などから不必要なダイレクトメールやビジネス電話がかかってくるのは迷惑この
上ない。更に,最近は脅迫まがいの手紙やメールが横行している。電子メールでもあなたのメールアドレス
をどこかから手に入れた会社などが商品の紹介、投資の勧誘、寄付の依頼などのメールを無差別に送ってく
る。中には、脅迫メール、詐欺メール、社会的に不健全な内容のものもある。(実はこちらの方が最近圧倒
的に多い) このような迷惑メールは UCE (Unsolicited Commercial E- mail) または spam メールと呼ばれ
て,電子メール通信量の 50% 以上 (別の統計では 70%以上) に及ぶといわれている。世界中で迷惑メール
の発信は犯罪とする法律を作る動きがある。
対策
現在のメール通信のプロトコルでは迷惑メールを阻止する機能がない。またメールサーバーの方で
フィルターで迷惑メールを阻止しようとすると必要なメールが届かないという問題が生じる。企業などで
は、文書のパターンを自動解析して、登録されている言葉を含むメールを阻止するというような制限をし
ている所もあると聞く。大学などでは通信の内容でメールを阻止するということはできないので、個人で対
策を立てるしかない。ほとんどのメールプログラムは迷惑メール対策機能を持っているので、迷惑メールに
チェックをして置くとそのアドレスから来るメールは自動的に削除してくれるので、この機能を利用しよう。
上の項目で説明したように、メールによってばらまかれるワームがあるので、知らない人からのメールや
不審なメールは、読まずに捨てるべきである。また、管理者のパスワードが設定されていないような管理の
緩いコンピュータは電子メールの無差別発送の踏み台にされて、世界中に迷惑をかけている。コンピュータ
の管理もしっかりとしよう。
各種の詐欺
4.2.4
特徴
インターネットを利用した詐欺には色々な種類があるが、電子メールを利用したものと Web を利用
したものが殆んどである。
電子メールを利用したものは、「あるサイトの利用料金を払え」という架空脅迫請求、「当選しましたか
ら手数料を払って下さい」、「税金を返しますから手数料を払ってください」といった架空請求が知られて
いる。
Web を利用したものはネットオークションを利用したものが多く、お金を払い込んだのに商品を送って
こない、または、全然別のものを送ってくるという古典的なものから、phishing 詐欺といい、有名なサイ
トの偽サイトを作って、間違ってアクセスしてくる人の個人情報やクレジットカードの情報を集める詐欺が
ある。架空請求やネットオークションの詐欺は法律上も犯罪になるが、phishing 詐欺は有名サイトの偽物
を作ったという著作権法違反でしかない。
4.2. インターネット上の社会的障害問題
対策
47
架空請求に対しては無視すること。架空請求者はあなたの名前も住所も知らない。Web 上の詐欺に
対しては十分注意する方法しか対策がない。もし被害にあったときは警察や消費者センターなどに相談し
て、被害情報を共有することが重要である。
個人情報保護
4.2.5
迷惑メールのアドレスはこれを集めて売っている者がいて、それから買ったものが spam メールに無差
別に利用している。電子メールのアドレスだけでなく、個人の住所、性別、年齢、財産、加盟しているクラ
ブや趣味の情報、クレジットカードの情報など、個人に関する情報はお金になる時代である。利用される方
は単に迷惑なだけでなく、毎日数十通のメールを削除する無駄な労力を考えてみよう。さらにクレジット
カードの番号で詐欺にあう危険もある。
これに対して日本では個人情報保護法という法律を作った。個人情報を扱っている企業は個人情報の漏洩
防止に十分な注意が必要であり,個人には自分の情報の開示と訂正を要求できる権利が認められている。
著作権保護とコピーソフトウェア
4.2.6
ディジタル情報はコピーの際に同じものが複製される。ソフトウェアの複製では当たり前のこの性質が,
ディジタル化されたマルチメディア情報にも適用されると,情報の品質が損なわれることなく同じものが,
PC を使って簡単に,安価な CD や DVD に複製されることを意味している。このことは CD,DVD,ディ
ジタル TV などのコンテント産業にとってはその製品が売れないことを意味している。
更に,最近ネットワークを通して殆んど無差別にコンテントを集めるコピーソフトウェアが広まってい
て,その無差別性故にインターネットの全通信量の 40% 以上がこの手の通信であるという統計がある。こ
れだけ無駄で無神経な著作権侵害は,単にコンテント産業への問題だけでなく,創造的な活動という人間の
基本的な活動基盤をも崩しかねない。もっと国民全体で個人情報や著作権の保護に関して神経質にならな
ければならない。日本ではこの種のソフトウェアを使って,ファイルを交換することは犯罪に当たり,逮捕
される。
さらに、このソフトウェアに結び付いたウィルスにより、このソフトウェアをインストールしている PC
の内容全て、例えば、仕事のためにコピーしてきた会社などの重要な情報が、このソフトウェアを通じて盗
まれという事件が頻発している 。勿論、個人情報も盗まれる。盗まれた情報は世界中に無差別に広がって
いき、回収や消去は不可能である。技術者が遊びの機械と仕事の機械を兼用してこと自体が信じられない
ことであるが、犯罪は至るところにあることを心しておこう。
対策
対策はそのようなプログラムをインストールしないことにつきる。このプログラム自身は、無差別に
ファイルをばらまかないといっているが、このプログラムを利用して取得したファイルには間違いなしに
ウィルスがついているのが現実である。仕事と遊びの PC を別にすることも考える必要がある。特に組織
の場合はこのような配慮が必要である。
第4章
48
4.2.7
インターネット入門
その他の注意
• プロバイダーが blog(weblog) や掲示板等のサービスを無料または安価に提供するようになって、違法
や倫理にそむくサイトを立ち上げる者が増えてきた。これらは「闇サイト」「自殺サイト」と呼ばれ
て、犯罪を誘導するものがあり、社会的に問題になっている。現在の所、インターネット使用者の自
覚に期待するしかない。
• 商業用のサイトは利用者の情報を密かに集めている。一つは Cooky と呼ばれるもので,サーバー側
はアクセスしてきたコンピュータの MAC アドレスなどの情報を収集している。ただし,Cooky は
利用の仕方によっては便利な機能であり,ブラウザーで Cooky の受取りを拒否できるように設定で
きる。
• 同じくマルチメディアコンテントなどにはコンピュータの利用者の利用ソフトウェアや入力情報を密
かに調べる外部へ盗み出すプログラムを仕組むものがある。 このようなソフトウェアは一般にスパイ
ウェアと呼ばれている。スパイウェアはインターネットから入ってくるとは限らない。最近、取引銀
行からの修正ソフトウェアと称してスパイウェアを CD–ROM で送ってきたという例がある。ソフト
ウェアの取り扱いには十分な注意が必要になってきた。怪しいと思ったときはチェックソフトを利用
する必要があろう。チェックソフトは Web からフリーでダウンロードできる。
• ネットショッピングなどでは,一般に,氏名,住所,などの個人情報の他にクレジットカードの情報を
入力する必要がある。 インターネット上の情報は簡単なソフトウェアで読み取れる。従って,このよう
な個人情報は暗号化をして送る必要がある。SSL(Secured Socket Layer) または TSL(Transfer Secure
Layer) と呼ばれているものが現在インターネット上の標準の暗号システムであり,ネットショッピン
グなどで暗号を使用していないサイトは利用をしていけない。暗号を使用しているサイトでは,プロ
トコルは http ではなく https を使用している。 s は secured(安全な) の意味である。また,Web の
サーバーの管理は複雑な点があり,管理が疎かだと外部から攻撃されてのっとられることがある。のっ
とられたサイトは正常に見えるが,入力された情報は盗まれてしまう。
• スパイウェアと同じように危険なものがキーロッガーと呼ばれているもので、これがついていても気
が付かない位小さな部品である。これはコンピュータでのキーの操作を全て記録して,外部に盗み出
すものである。ネットショッピングやネットバンキングでは入力された情報を暗号化して送信するが,
キーロッガーは暗号化される前のキー入力列を記録してしまうので,暗号機能が役に立たない。不特
定多数の使用する PC には,このソフトウェアを仕掛ける者がいるので,そのような所の機械は,ネッ
トーショッピングやネットバンキングに使用するべきでない。
4.3
4.3.1
電子メール
特徴
電子メールは (1) 世界中が対象で,(2) 通信速度と同じくらい高速で,(3) 電話のように側に居なくても
都合の良い時間に読める非同期的な通信で,(4) 同じメッセージを多数の人に同時に届けることも容易,等
の特徴がある。
4.3. 電子メール
49
更に,普通の通信文以外にファイルや画像も送れるように機能を拡張されてきている。手軽で便利だとい
うことで多用されていてるが, 弊害も生じている。通信料は組織がまとめて払っているので個人の負担は
計算機の利用料だけである。東海大学の場合は授業の場合は無料である。
これらの特徴は国内の場合でも電話より便利と言われて利用者が増えており,計算機に疎い数学科の先
生方も,学会や研究会の連絡,論文の投稿,国際会議への投稿・参加・登録等,研究活動の必需品になって
いる。一度友人を見つけて国際電子メールに挑戦して欲しい。
4.3.2
仕組み
電子メールを利用する際はメールのプログラムを使う。メールのプログラムは専用のものもあるし,WWW
のブラウザーやワードプロセッサーに追加機能として付いているもの,Web のブラウザーから直接メール
プログラムを起動するものなど色々ある。この講義では総合情報センター標準の Web メールを使う。
(1) メールプログラムで作られたメールはメールサーバ (総合情報センターでは keyaki.cc.u-tokai.ac.jp と
いう機械) に送られ,そこでドメイン名が解析されてネットワークを通じて目的の機械まで次々とリ
レーされて届けられる。
(2) 逆に,世界のどこかからあなた宛に発信されたメールはリレーされて keyaki.cc.u–tokai.ac.jp へ届け
られ,一旦保存される。
(3) あなたがメールプログラムを起動すると,メールプログラムは keyaki.cc.u–tokai.ac.jp にあなた宛の
メッセージが届いているか問い合わせて,届いていればその概要をメールプログラムに表示する。あ
なたが読みたいメッセージを指示すればそれを表示する。
(4) パソコン通信を使ったメールは,以上に説明したものとはメカニズムは異なるがメールプログラムは
同じであり,パソコン通信もプロバイダ経由で Internet へ接続されているのでどちらでも同じように
使えるであろう。
(5) パソコン通信の場合はソフトウェアの準備やコンピュータと電話線との接続に使われるモデムの設定
は自分でしなければならないし,自宅から接続点までの通話料,ファイルの使用料,等は自分で支払
わなければならない。さらに,クレジットカードも必要である。
(6) 最近は携帯電話からも Internet 経由の電子メールが使えるようになったようである。電子メールの世
界が広がっている。
4.3.3
利用方法
ここでは大学の Web メールを利用するときの操作手順について説明する。Web メールシステムは特別
のメールソフトが不要で、Web のブラウザーを使ってサーバーへの接続や、メールの発信受信ができ、さ
らに、大学のキャンパス内だけからでなく,自宅などキャンパス外からでも利用できる。
第4章
50
インターネット入門
起動
(1) 初めに Firefox や Internet Explorer などの Web ブラウザーを起動して,大学の総合情報センターの
サイトに接続する。
(2) 総合情報センターのホームページが表示されたら,左上隅の “Web メール” をクリックする。
(3) ActiveMail の案内のページが表示されるので,クリック。
(4) ActiveMail (メールプログラムの名前) のユーザー認証の画面が表示されるので,ユーザー ID(学生証
番号) とパスワードを入力する。パスワードは PC 使用の際に用いるものと同じものである。
(5) 次の画面では,着信メールなどの情報が表示される。
受信
読む
メッセージを読むには,
「メール受信」のタグをクリックすると,着信メールの一覧表が現れるので,
読みたいメッセージを一覧表の中でクリックすれば,メッセージの本文が表示される。
写真や原稿などの添付ファイルは、そのままデスクトップへドラッグすれば、デスクトップ
添付ファイル
へコピーされるが、右ボタンをクリックして保存を選び、フォルダーを指定して保存すれば良い。
返事,転送
メッセージの発信人に返事を出すときは,そのメッセージが表示されている状態で上に並んで
いるアイコンの中で,
「返事」または「転送」と表示されるものをクリックする。
返事の英語は reply なので返信メッセージには Subject の欄には “Re:” というマークがついている。
転送の英語は forward なので,転送されてきたメッセージの Subject の欄には “Fwd:” というマークが
ついている。
削除,迷惑メール制御
メッセージを削除するには,
「ゴミ箱」のアイコンか「メール削除」のアイコンをク
リック。削除の場合は直ちに削除されるが,ゴミ箱の場合は「ゴミ箱を空にする」をクリックする必要が
ある。
明らかに迷惑メールの場合は「SPAM(迷惑メール)」をクリックしておくと,今後そのアドレスからメー
ルは自動的に削除される。
振り分け
メールが沢山たまるようになったら,振り分けの機能を使って,整理しょう。
送信
作成
「メール作成」のタグをクリックし,現れるサブウィンドウに必要なことを入力する。
宛先またはアドレス (To) 通信する相手のアドレスで,郵便と違って相手の実名でなく相手が登録している
ログイン名 (アカウント名) とドメイン名を使用する。相手が同じドメインに属しているときはドメイ
ン名を省略できる。従って,総合情報センターを利用している相手の場合は相手の学生証番号だけで
よい。但し,学内でも総合情報センターを利用していない場合はドメイン名が必要である。
4.4. World Wide Web
51
表題または件名 (Subject) 通信文の内容を簡単に数語で表す。メールをもらった人が一目で分かるように
する。
コピー (Cc) 本来は carbon copy の略で同じ通信文を 2 人以上に出すときは,ここにそのアドレスをコン
マで区切って並べる。通信文にコピーを取っておく必要のあるときは,ここに自分のアドレスを書い
ておけば自分宛に送られてくるのでそれを保存しておけばよい。
Bcc 本来は blinded carbon copy の意味で,役割は Cc と同じであるが,Cc の場合は受け取った人全員に
誰が同じメッセージを受け取ったか分かるが,Bcc の場合は受取人以外のアドレスは表示されない。
通信文 ここにメッセージを書く。文章は簡潔かつ明瞭に書く。自分のアドレスは自動的に通信文について
行くが最後に書いておくことも良い。オリジナルなサインを作っている人もいる。
添付ファイル 電子メールのもう一つの利点は,メッセージ本文の他に,バイナリのファイルを一緒に送れ
ることである。一緒に送るファイルのことを「添付ファイル」という。添付ファイルは静止画,ワー
ドプロセッサーの原稿,プログラム,動画,音声,など種類の制限はないが,メールのサイズに気を
つけよう。一般に,メールのサーバーは大きなサイズの添付ファイルを想定していない。静止画など
1 枚で,JPEG 形式でも 50kB になるときがある。通常のメッセージは 20kB を越えるというときは
ないから,旅行の記念写真などと言って一杯送るとサーバーの制限にかかるときがある。
その他 その他の細かい注意
• アドレスや Cc の部分は直接入力を使う。全角文字はサーバーが認識できない。
• 外国へ通信文を出すときは直接入力を使って作成する。全角のローマ字や数字は日本語を表示で
きる場合のみ使用できる。
• 半角のカタカナは通信では認識されないので使用しない。国内向けでも使用しない。
送信
以上の準備ができたら送信ボタンを押すだけで,後はメールプログラムとメールサーバーがあなた
のメッセージを先方のサーバーへ届けてくれる。アドレスやアカウントが違ったら,エラーメッセージをく
れるが,一度送ったメールは取り返せないのでくれぐれも注意しよう。
4.4
World Wide Web
4.4.1
特徴
World Wide Web (略して WWW または Web) は Internet 上の information system の 1 つである。
WWW は他の Information system と違って通常の文書の他に画像,音声,動画,等のマルチメディアが
扱えることから急速に普及し Internet の代名詞のようになった。
この爆発的な状況から WWW の表示ソフトウェアは killer software の称号をもらうまでになった。その
実力は今見られる以上のものを内蔵しており,パーソナルコンピュータではいずれ Windows 等の OS は不
要になるのではないかと言われていたが,ネットワークの性能が理想から程遠いのでこの構想は実現して
いない。
第4章
52
インターネット入門
WWW は他のネットワーク上のプログラムと同じく情報を発信する (サーバ) 側と,利用する (クライア
ント) 側に分かれている。各々の側から説明しよう。
仕組み
4.4.2
利用者側
情報を利用するために使用するソフトウェアを閲覧ソフトェアまたはブラウザ (browser) といい ,現在
は Firefox(Mozilla),Internet Explorer,等が有名である。
URL WWW でのファイルの表記法を URL(Uniform Resource Location) といい次の形式をしている。
プロトコル://ドメインネーム:ポート番号/ディレクトリ/..../ファイル名#パート名
プロトコルとしては http,https,ftp,file,mailto,gopher,news,等があるが通常は文書を見るための
http,https と遠方のファイルを取得するための ftp を知っていれば十分であろう。
東海大学関係の URL を次に挙げる。
大学本部
http://www.u-tokai.ac.jp/
数学教室
http://www.sm.u-tokai.ac.jp/index.html
http://www.cc.u-tokai.ac.jp/
総合情報センター
自分の機械にしまってある自分のホームページをその機械で見るには,ブラウザのメニューから「ファイ
ル」→「開く」を選ぶと「開く」というサブウインドウが開くので,更に「参照」をクリックすると,通常
のファイル選択用のサブウインドウが現れるから,通常の操作でファイルを探して「OK」をクリックすれ
ばよい。
リンクと検索ロボット
世界中には何千万というサイトが WWW で情報を発信している。その全てを知る
ことは不可能であり意味のないことである。
一方, 必要な情報を集めるにはいささかのテクニックと忍耐がいる。まず,どこかのホームページを開
くと青い文字で表示されている行,青い枠で囲まれている画像,ポインタが手の形に変わる場所,があるの
に気付くであろう。これらの場所は特定の URL へリンクが張られていて,ここへポインタを当ててクリッ
クするとブラウザはそこに書かれている URL へ自動的にジャンプして情報を取得して内容を表示してく
れる。
更に,検索ロボットという機能を備えているサイトがあって,そこでは適当なキーワードを入力すれば目
的のサイトを探してくれる。次の所が代表的なものである。
http://www.google.com
http://www.lycos.jp
なお,以上の他にも強力な検索サービスをしてくれるサイトがあり,これらのサイトについては数学教室の
ホームページからリンクされているので利用してみよう。
4.4. World Wide Web
53
plug–in, 対話機能,暗号化機能 Web は単に文書や静止画を表示できるだけでなく, 動画, 音声, PDF
ファイル等色々の情報を扱うことができる。ブラウザーにはこれらのあらゆる情報に対応するプログラムが
組み込まれているのでなく,ファイルの種類を自動的に判断して plug–in という機能で必要なプログラム
を起動するようになっている。
また,ネットショッピング等の対話的な使い方もできるが,これはサーバー側が提供する機能で CGI
(common gateway interface)、SSI (server side inclusion) 等と呼ばれている。
インターネットはオープンなシステムであるので,インターネット上に流れる情報は簡単なソフトウェア
で読み取られてしまう。個人情報を盗み読みされないようにするには,情報を暗号化する必要がある Web
で使用されている暗号化システムは SSL(Secured Socket Layer) と呼ばれる。この機能は常に働くように
設定しておかなければならないが,暗号を必要とするかどうかはサーバー側の決めている。
情報発信者側
情報を発信する側は http のサーバを起動しておくことと,発信する文書を html という形式で書いてお
くことが必要である。個人のコンピュータから WWW の情報を発信することは不可能ではないが,安全上
の問題があるのでプロバイダー等サーバーを動かしているところに依頼した方が良い。内容に関しては個
人の電話番号,住所,等の個人情報 特に 女性の場合は顔写真を 絶対に載せない ように注意しよう。個人
情報を載せることの恐ろしさは検索エンジンを利用してみると良く分かる。サーバーの管理者になったと
きは個人情報の載せることに関しては,特に神経質にならなければならない。ある小学校で先生が好意の
つもりで生徒全員の住所を WWW のホームページに載せるということが実際にあり問題になった。これは
結果として誘拐の手引きをしたことと同じことにあたることを認識しよう。
4.4.3
HTML 文書
WWW に情報を発信するには発信する情報を html という形式で書かねばならない。html で書かれた文
書を一般にホームページと称している。html 文書はブラウザで表示される通常の文章に html のタグと呼
ばれる記号を埋め込むことで作成される。
html とは Hyper Text Markup Language の略である。hyper text とは text を越えた text という意味
で,通常の text の文章は1ページづつ順につながっており,読む方も作文する方もその順に読むことを仮
定している。一方,hyper text では文章のつながりが一定でなく,リンクという機能でテキストが互いに関
連付けられている。読み手はテキスト中のリンクを手がかりにして,適当に選んで読むような構造になって
いるものをいう。hyper text はコンピュータゲームで初めて導入された考えであるという。また,markup
とは本を作成するときの組版技術上の言葉で,原稿のこの部分は表題,この部分はパラグラフ,この部分は
リスト,等と文書の構造を指示するものをいう。
WWW の文書は表示される通常の文の中にその構造を示すタグと呼ばれる記号を埋め込んだものである。
現在約 200 個のタグがある。WWW のブラウザで html の文書を直接見たければブラウザの view (表示)
というメニューの document source(ソース) をクリックしてみると良い。複雑な構造の文書を見つけてそ
れを真似したいときは直接ソースを見るとか,
「ファイル」→「名前をつけて保存」 というメニューを選ん
で直接ファイルを取得して参考にすればよい。
以下に html 文書の基本的な部分を説明し WWW で情報を発信する練習をしてみよう。
第4章
54
4.4.4
インターネット入門
HTML の規則
HTML 文書であることをブラウザに認識させるためには次の条件を満たしていなければならない。
以下の説明で <tgname> の部分をタグといい,殆どのタグは開始タグ<tgname> と終了タグ </tgname>
タグ
を持っている。
文法の基本
• ファイルの属性は htm (DOS 版) または html (UNIX 版) でなければならない。従ってファイル名は
例えば myhomepage.htm のようにする。
• ファイルは次のような基本的なタグが書いてなければならない。
<!-- コメント -->(注:無くても良い)
<html>
<head><title>
タイトル(注:ブラウザの外上枠に表示される)
</title></head>
<body>
本文
</body>
</html>
したがって,次のようなものがホームページの最小のものである。
例 1:
<!-- minimun home page -->
<html>
<head><title>
My Home Page
</title></head>
<body>
これは最小のホームページです。
</body>
</html>
4.4.5
基本的なタグ
本文の部分は次のような構造が作れる。対応するタグと一緒に説明する。
見出し <hn> 見出しは,大きい方から順に, <h1> から <h6> まである。これは,<h1> が chapter ,<h2>
が section ,<h3> が subsection ,等のように考えれば良い。<h1> 私のホームページ </h1> のよう
に,見出しの上部構造のものから順に,大きな文字で表示される。
4.4. World Wide Web
55
パラグラフ <p> 文章の最小単位であるパラグラフ(段落)を表すには<p> 文 </p> タグを使う。このタ
グは終了タグが無くても働くが,終了タグをつける習慣をつけよう。
改行 <br> browser で見たときの改行の場所は html 文書の改行の場所とは異なる。browser はスペース,
タブ,改行を無視して枠に入る範囲で自動的に整形して表示する。
browser で強制的に改行場所を指定するときは <br>(brake) タグを使う。
横線 <hr> 横線を入れるには目的の場所に <hr>(horizontal rule) というタグを書く。
リンク <a> 次に WWW の最大の特徴である他のファイルを参照する方法 (リンク) を示す。初めにネッ
トワーク上で参照するファイルが実際に存在することを確認せよ。
リンクタグとリンクの形式は
<a href="リンク先の URL"> リンクに関する情報
</a>
である。ブラウザでは「リンク先の URL」の部分は表示されないので「リンクに関する情報」を書
かねばならない。「リンクに関する情報」はブラウザでは一般にはアンダーラインつきの青い文字で
表示され,見る人にリンクがあることを示す。
同じディスク上でリンクするときは相対パスを使う。以下に例を示す。
href="linkfile.htm"
同じフォルダーにある linkfile.htm を参照
href="htmfiles/linkfile.htm"
1つ下のフォルダー htmfiles にある linkfile.htm を参照
href="../linkfile.htm"
1つ上のフォルダーにある linkfile.htm を参照
同じ文書中の部分を指示するには,<a name="pname"> のタグを書いて,参照する方で,
<a href="#pname"> 説明 </a> とする。
簡単な例
以上のタグと使って,少し構造のある HTML 文書を作ると次のようになる。
例 2:
<!-- sample home page -->
<html>
<head><title>
My Home Page
</title></head>
<body>
<h1><center> 私のホームページ </center></h1>
作成日: 4月1日 <br>
作成者: Web 工房
<hr>
<h2> WWW の歴史 </h2>
第4章
56
インターネット入門
<p> WWW(World Wide Web) は 1990 年ごろ
<a href="http://public.web.cern.ch/public"> CERN </a>において,電子文書
の形式を統一的化するために提案されたものである。
</p>
<p> WWW は現在は,World Wide Web Consortium
<a href="http://www.w3.org/">(W3C)</a> により仕様の統一や拡張がな
されている。
</p>
</body>
</html>
4.4.6
色々なタグ
リスト
文書を見やすくするために内容を項目別に並べる方法がある。これをリストという。リストの基本形は
(i) 項目の前に番号が付く形式,(ii) 何らかのマークが付くもの(マークはブラウザによって違う),(iii) 見
出しがつく形式,の3種類がある。
番号付きリスト <ol>
<ol>
<li>
<li>
第一項目
第二項目
..........
</ol>
マーク付きリスト <ul>
<ul>
<li> 第一項目
<li> 第二項目
...........
</ul>
見出し付きリスト <dl>
<dl>
<dt> 第一項目の見出し <dd>
<dt> 第二項目の見出し <dd>
..............
</dl>
第一項目の内容
第二項目の内容
表 <table>
• 表全体は<table> と </table> か<table border> と </table> で囲む。border があると表全
体を罫線で囲む。
• 表の内容は一行(横並び)毎に <tr> 行の内容 </tr> と表す。
4.4. World Wide Web
57
• 表の各項目は見出しの場合(太文字になる)<th> 見出し </th>
• 普通文字の場合<td> データ等 </td>
と記述する。
以下に見出しが横にある例と縦にある例を示す。
<p> 最初の行に見出しがある表 </p>
<table border>
<tr>
<th> 身長 </th><th> 体重 </th>
</tr>
<tr>
<td> 174 </td><td> 75 </td>
</tr>
</table>
<p> 左の列に見出しがある表 </p>
<table boder>
<tr>
<th> 身長 </th><td> 174 </td>
</tr>
<tr>
<th> 体重 </th><td> 75 </td>
</tr>
</table>
その他
イメージ <img> 画像,アニメーション,ムービー,音声,等のマルチメディアを扱うことも可能である
が,かなりの道具と技術が必要である。ここではイメージのみ説明する。
イメージを電子的に扱うために色々な形式が存在している。http では原則として GIF 形式,JPEG 形
式が標準の形式として用いられている。現在は GIF 形式に代って PNG 形式が使用されるようになっ
て来た。これは GIF 形式のライセンスの問題によるといわれている。一方,パーソナルコンピュータ
では,画像ファイルの形式として, BMP という形式が用いるが,BMP 形式のファイルは Internet
に公開しても,見える人が少いことには注意しておく。
(1) 描画プログラム (ペイント等) を用いて挿絵程度のなるべく小さい絵を描く。
(2) 全画面をセーブしないで絵が入る小領域を選んでセーブする。
(3) セーブするときに gif または jpeg 形式のファイルでセーブする。
(4) 画像のファイルを html ファイルと同じフォルダーにおく。
(5) html 文書の絵を表示したい場所に <img src="gfile.gif"> というタグを書く。 (jpeg でセー
ブしたときは gfile.jpg 等となる)
文字の色, サイズ <font>,配置 <center>,強調 <strong>
第4章
58
インターネット入門
• 文字に色を付けるときは色をつける文字列を <font color="#RRGGBB"> と </font> で囲む。
ここで RRGGBB は光の 3 原色の強さを表し,例えば赤なら FF0000,緑なら 00FF00,青なら
0000FF とすればよい。“red” や “blue” 等カラー名で指定する方法もあるが,ブラウザーが旨
く対応してくれない時があるので,番号で指定しよう。
• 文字は左詰めで表示されるが中心に表示したいときは,その文字列を <center> と </center>
で囲む。
• 文字の強調は <strong> 強調文字 </strong> を使う。もっと注目させるために <blink> 点滅
文字 </blink> というタグがあるが Netscape は対応しているが,Internet Explorer は認識し
ないようである。一方,Internet Explorer 側は <marquee> 移動文字列</marquee> というタグ
を追加した。このタグで囲まれた文字列がブラウザーの画面上で動き回るもので,Netscape は
完全に対応していない。ある文字を目立たせたかったら,この両方を書いておけば,IE 使用者
にも NS 使用者にも目に付くようにできる。
• <h1> タグで囲まれた部分は,ブラウザーでは大文字で表示されるが,このタグは文書の構造を
示すためのもので,このタグを使って文字の大きさを変えたり強調に使うと検索ロボットがその
部分を見出しであるとしてしまうので良くない。また,文書中で文字の大きさを変えると見にく
い文書になるが,文字の大きさは<big> と </big> で囲めば少し大きめの文字に,<small> と
</small> で囲めば少し小さめの文字になる。
さらに, <font size="n"> と </font> を使えばもっと広い範囲で大きさが変えられる。 n は
1 から 7 までの数で 7 が最大である。これを使用する時はデザインに十分注意しよう。
そのまま<pre> 上で説明したように,ブラウザーは改行やタブの記号を無視する。しかし,場合によって
は原稿のまま表示して欲しいことがある。HTML ではその際は <pre> そのまま </pre> とすれば良
い。以下にその例を示す。
<PRE>
太陽系の家族
--------------------------------------------名前
半径
太陽からの
公転
自転
miles 距離 (Mmiles) 周期
周期
--------------------------------------------水星
3100
36
88 日
59 日
金星
7700
67
225 日
244 日
地球
7920
93
365 日
24 時間
火星
4200
141
687 日
24.5 時間
木星 88640
483
11.9 年
10 時間
土星 74500
886
29.5 年
10.5 時間
--------------------------------------------</PRE>
4.4.7
HTML 文書の作り方
実際にこれらのタグを使用した例を以下に示す。作成の順序は次の通りである。
4.4. World Wide Web
59
(1) メモ帳やワードパットを開いて入力,編集する。
(2) 保存するときに、保存のサブウィンドウ内のファイルの形式の項で「すべての形式」にして mydoc.htm
のように .htm を後ろにつける。これがないとブラウザーは HTML 文書だと理解できない。メモ帳
は .txt,ワードパットは .doc という属性を勝手につけるので,保存の時に注意しよう。
(3) メモ帳は開いたままで、ブラウザーを開く。
(4) メニューから「ファイル」→「開く」を選択し,現れるサブウィンドウの「参照」をクリックして必
要なファイルを探す。この例では mydoc.htm を探し「OK」をクリックする。
(5) 間違いがあればエディターで元の文書を修正して保存する。
(6) ブラウザーで「再表示」をクリックしてロードし直し,表示する。
(7) 正しくなるまで繰り返す。
以下に少し大きいが HTML 文書の例を示す。
例 3:
<!-- sample.html -->
<html>
<head><title>
HTML Sample Document
</title></head>
<body>
<h1><center>HTML の見本</center></h1>
<hr>
<p>
このページでは HTML の基本的な書き方について説明する。
</p>
初めに HTML では,改行記号,タブ,スペースを全て無視するので,
ブラウザーで表示する際に文章の区切りになる,パラグラフ(段落),
強制改行,文字スタイル,等は HTML 文章中にタグ <a-tag> で
示しておく必要がある。
</p>
<a name="top">
<h1><center>太郎さんの料理教室</center></h1>
</a>
<hr>
太郎さんの得意な料理のリスト<img src="sample.gif">
<ul>
<li><a href="#rm">ラーメン</a>
<li><a href="#kr">カレー</a>
<li><a href="#ch">チャーハン<a>
</ul>
<a name="rm">ラーメンの作り方</a>
<dl>
第4章
60
インターネット入門
<dt>食べたいが作りたくないとき
<dd>食べにいく
<dt>少し時間があるとき
<dd><a href="#ir">インスタントラーメン</a>
</dl>
<hr>
<a name="kr">
<font color="#ff0000">カレーの作り方</font>
</a><br>準備中<br>
<hr>
<a name="ch">チャーハンの作り方</a><br>勉強中<br>
<hr>
<a name="ir">インスタントラーメンの作り方</a>
<ol>
<li>お湯を沸かす
<li>ラーメンのカップにお湯を注ぐ
<li>3分待つ
</ol>
<hr>
<a href="#top">先頭へ戻る</a>
<hr>
<center><h2> メニュー一覧 </h2></center>
<table border>
<tr>
<th> メニュー </th><th> 値段 </th><th> 特徴 </th>
</tr>
<tr>
<td> ラーメン </td><td> 450 円 </td><td> 特製手作りチャーシュー入り
</td>
</tr>
<tr>
<td> カレー </td><td> 780 円 </td><td> 野菜たっぷり,ヘルシーカレー </td>
</tr>
<tr>
<td> チャーハン </td><td> 840 円 </td><td> 海老と卵入り,スープ付き </td>
</tr>
</table>
</body>
</html>
4.5
学外から自分のファイルにアクセス
Z:ドライブは総合情報センター管理下の機械でしか有効でないが、センターでは Z:ドライブにあるファイル
を自由にアクセスできるサービースを提供している。インターネットの機能でファイルを転送する FTP(File
Transfer Protocol) とよばれる機能がある。Web からファイルを取ってくるときに自動的に利用している
が、このサービスは大学のファイルサーバーにアクセスするときにも使えるようになっている。このファイ
ルサーバーにアクセスするには FFFTP などの専用ソフトウェアを利用する方法もあるが、ここでは Web
4.5. 学外から自分のファイルにアクセス
61
のブラウザーを利用してみよう。
(1) Firefox や IE などの Web のブラウザーを起動する。
(2) ブラウザーの URL の欄に次のように記入してアクセスする。
ftp://nas.cc.u-tokai.ac.jp
(3) 認証の画面が表示されるので、ユーザ ID とパスワードを入力する。
(4) 0 から 9 と a のラベルのついたフォルダーが表示される。
(5) 自分の ID の頭文字と同じ数字のフォルダーをダブルクリックして開く。
(6) その頭文字の全てのフォルダー (1 学年、7 千人分) が表示されるので、自分の ID のフォルダーを探
して、ダブルクリックして開く。
(7) ファイルを取り出すには、ブラウザーからデスクトップへドラッグ & ドロップ、自分の PC から大学
のサーバーへ転送するには、PC にあるファイルをブラウザーへドラッグ & ドロップをすればよい。
(8) ブラウザーを閉じて操作を終了する。
第4章
62
4.6
インターネット入門
課題 3
(1) [email protected] 宛に自分の学生証番号と名前を漢字表示で電子メールを送りなさい。
Subject(件名) の欄には必ず “情報処理演習課題” と記入し、大学のメールサーバーから発信するこ
と。この条件を満たさないメールには応答できないときがある。
こちらから受領証を返送するので,それを印刷して提出しなさい。ただし,返事を出すのは講義の最
終回までとする。 (2) www.google.com などの地図サービスサイトへアクセスし,自宅周辺,美術館、博物館,公園などを
探し、その地図と航空写真を印刷して提出しなさい。(海外の興味のある場所でもよい)
(3) 自分用のホームページを作り,それを browser でローカルに表示したものを印刷して提出しなさい。
分量は表示されたものを印刷して A4 版の用紙 1 頁分とする。
ただし,ホームページの適当な場所に次のリンクテストページを必ずつけ加え,
http://www.sm.u-tokai.ac.jp/cgi-bin/literacy.shtml
表示されたテストページを印刷して一緒に提出しなさい。リンクに関する情報は適当でよい。例えば,
「この件に関しては次の所を参照して下さい。」「詳しくは次を参照」等。
ホームページの例としては,架空の団体,会社,クラブを想定して,会員募集,会社案内,会合通知,
趣味のページ等を考えなさい。
携帯電話やデジタルカメラで写した画像やペイントで作成した絵などを貼り付けても良いが,サイズ
は小さいものに限る 。
63
第 5 章 Computer Algebra 入門
はじめに
5.1
数式処理、または symbolic calculation と呼ばれるプログラムがある。このプログラムや数値処理のプロ
グラムを使用して、解析学や数理物理学でシミュレーションを行い、研究するすることを computer algebra
と称している。ここでは、その内の数式処理プログラムの実習をしてみよう。計算力だけに注目すると、大
学数学科の4年生程度の力がある。
この章で使用する記号計算 (数式処理ともいう) プログラムと呼ばれるプログラムは次のような特徴を
持つ。
• プログラムを作成することなく電卓の様に簡単な入力方法で高精度の数値計算ができる。
• 数学に使われる各種の計算,例えば,微分積分,線形代数,微分方程式,フーリエ · ラプラス変換等
の式の計算が定数も含めて自由にできる。
• 1 変数,2 変数の関数のグラフや方程式で定義される曲面の図が描ける。3 次元の図の場合は見る方
向を簡単に自由に変更できる。通常の表示の他,等高線表示や密度表示ができる。
• 必要ならプログラムを組んで自分用の「関数」を定義できる。
使用するプログラムの名前は Mathematica であるが,他にも同じ機能を持つプログラムが多数知られている。
それらを歴史的な順序に並べると APL,REDUCE (大型機用,後にパソコンにも移植された),MACSYMA
(大型機用),µ–Math,DERIVE(共にパソコン用),Maple (ワークステーション用,パソコンにも移植され
ている),等がある。現在良く使用されのは Maple と Mathematica であろう。最近、MACSYMA も Linux
などの PC UNIX 機でも使用できるようになっている。いずれも、実際に内部で計算をしているプログラ
ムは LIST(LISt Processor) というプログラム言語で書かれており、この言語は人工知能などで良く利用さ
れている。
それぞれの計算を行うコマンドを Mathematica では「関数」と呼んでいる。例えば,微分を行うには微
分するという「関数」のパラメータ (引数) に数学でいう関数を入力するとか,数学でいう関数のグラフを
描くのにプロットするという「関数」のパラメータ (引数) に数学の関数と表示範囲等を入力するというよ
うに使われる。Mathematica や Maple では新しいヴァージョンが出るたびに「関数」の種類が増えていく
わけで,最近のヴァージョンは 1000 種類以上の「関数」を持っている。
入力はキーボードまたはテンプレート (Mathematica では「パレット」と呼んでいる) から行う。テンプ
レートでは良く使用する Mathematica の「関数」等がグラフィカルに表示されているので,通常はこちら
を使う方が使いやすいであろう。テンプレートにない「関数」はキーボードから入力する。
第 5 章 Computer Algebra 入門
64
基本操作
5.2
Mathematica を使用して計算をするために必要な基本的な事項を説明する。
Mathematica は計算を実行する部分と,入出力の扱うインターフェースの部分からなる。計算を実
行する部分を kernel といい,インターフェースの部分を notebook と呼んでいる。Mathematica の起動
起動
は notebook の方を起動させる。メニューから Mathematica x.y (x.y は version の番号) を click して起動
する。
実行
入力はキーボードとテンプレートの両方を利用できる。入力から実行までの例を以下に示す。タイプ
ライタフェースの文字部分が入力部分で残りは Mathematica が表示する部分である。
In[1]:=10! Shift + Enter
Out[1]:=3628800
In[2]:=
次の入力待ち
ここで, Shift + Enter は Shift キーを押したまま Enter キーを押すことを表し,Mathematica に計
算を実行させる方法である。notebook を使っているときは次の入力プロンプトは表示されない。
式の整理・編集と印刷
Mathematica で計算や図のプロットをしてレポートに印刷するときなど途中計算
や失敗の計算など整理する必要がある。不要な式や図を消去するには notebook の右端にある青色のハンド
ル (括弧) に注目する。消去したいハンドルをクリックして「編集」→「カット」 を行えばよい。この「編
集」メニューにある「貼り付け」や「コピー」の際も目的の式やハンドルを選択して同様に使用できる。
印刷
印刷は画面全体の他に選択された画像だけでもできる。印刷は「ファイル」→「印刷」の順にメニュー
を選択して行う。なお,東海大学総合情報センターのシステムは「印刷」のメニューに対し,
「OK]を押し
ただけでは “null(空の印刷機)“を指定しするよう設定されているので,必要な印刷機を選んでから「OK」
を出す。
作成した画像は GIF 形式で取り出すことができるが、単独ではできない。次のようにする。
(1) 画像を作成する。ImageSize->500 などの指定でサイズが変更できる。
(2) 「ファイル」→「HTML 形式で保存」を選択して保存する。
(3) 出力した場所に “HTMLs” というフォルダーができていてその中に画像ファイルなどが保存されて
いる。
終了
終了は notebook のメニューから「ファイル」→「終了」を選択する。終了するときに notebook を
保存するかどうか尋ねてくるので,この講義では「保存しない」を選択して終了する。
5.3. 内部定義済みの定数,関数
5.3
65
内部定義済みの定数,関数
始めに Mathematica 特有の事項があって,数学の慣用記号が講義で使う記号とは同じでないことが沢山
あることを注意しておく。この違いについては以下の部分でもしばしば取り上げるので,注意しよう。
演算・定数
5.3.1
四則計算等通常の計算に使う。
演算記号
入力
意味
a+b
a + b (和)
a-b
a*b または a b(空白)
a − b (差)
a × b (積)
a
(割り切れないときは分数)
b
ab (べき乗)
a/b
a^b
これらの記号は基本入力のパレットにも用意してある。
定数
次の定数記号は予約済みである。これらの記号は使用者が別の意味に定義し直すことができない。
Pi
E
π (円周率)
e (自然対数の底)
I
Infinity
i (虚数単位)
∞ (無限大)
これらの記号は基本入力のパレットにも用意してある。
5.3.2
初等関数
通常の初等関数は組み込み関数として予め定義されているので,改めて定義する必要はないし,同じ文字
で定義し直すこともできない。以下の説明で左側の欄にあるタイプライターフェースの記号が,キーボード
から入力するときの方法で,右の欄が数学の慣例の記述法である。
Sin[x]
Cos[x]
Exp[x]
sin(x)
cos(x)
ex
Log[x]
Log[2,x]
log(x)
log2 (x)
√
x
∑n
k=m a(k)
Sqrt[x]
Sum[a[k],{k,m,n}]
第 5 章 Computer Algebra 入門
66
これらの記号は基本入力のパレットにも用意してある。
Mathematica の組み込み「関数」は全て大文字で始まり, 引数は [ ] で括られるので使用の際に注
注意
意しよう。操作上間違いが一番多いのがこの 2 つの点である。
5.3.3
括弧の使い方
Mathematica では 3 種類の括弧 ( ) { } [ ] はそれぞれ使い方の意味が定められている。小括弧,中
括弧,大括弧というようには使ってはならない。
• “( )” (parenthese) は計算の優先順を指定するときに使う。普通の括弧と同じ。
• “{ }” (brace) はリストを定義するときに使う。 例えば,ベクトル,行列,変数の範囲の指定,2 つ
以上の関数の組等は代表的なリストである。
• “[ ]” (bracket) は「関数」のパラメータ (引数) を表すときに使う。
• “<>” (angle) は使用しない。
5.3.4
その他の記号
Mathematica では次の記号は数学の場合の通常の使用法と異なる。
• 「=」 は代入記号である。 代入は 「=」の右辺の object を左辺に代入することを表す。
Mathematica では object とは数字,式,行列だけでなく「関数」の計算結果全てを意味する。従っ
て,描いたグラフ等も識別子に代入して記憶できる。
例:
g1=Plot[2 x,{x,-3,3}];
g2=Plot[-x+3,{x,-3,3}];
Show[g1,g2]
とすると g1,g2 には Plot した graph object が割り付けられて,3 番目の Show によって g1,g2
の合併されたグラフが描かれる。
• 「==」 は論理式の等号を表す。 従って,方程式など等式を表すにはこちらの記号を使わなければな
らない。
例:
Solve[2 x^2-3 x+1==0,x]
は 2x2 − 3x + 1 = 0 を x について解くことを表している。
• 「%」 は直前の「関数」の返り値 object を表す。従って,計算結果を次々と変形していくときに使う
ときなど便利な記号である。
5.4. 関数の定義
67
例:
Expand[(x+y)^5]
Factor[%]
とするとは初めに (x + y)5 が展開されて,次にその結果が因数分解されるので元の式が得られる。
関数の定義
5.4
5.4.1
関数の定義法と代入
Mathematica でユーザーが関数を定義する方法に 2 つの方法がある。1 つの方法は,識別子と関数を直
接結びつける方法である。次の例は,定義 (正式には代入) と関数の値を求めている。
例:
In[1]:=f1=x^3-x^2+x-3;
In[2]:=g1=Exp[Sin[x]+Cos[y]];
In[3]:=f1/.{x->a}
Out[3]= a3 − a2 + a − 3
In[4]:=g1/.{x->a,y->b}
Out[4]= ESin[a]+Cos[b]
3, 4 番目の代入方法はローカル (局所的,一時的) な代入と呼ばれて,x,y はこの式の後も自由変数とみな
される。
他の関数定義の仕方は,通常の変数を明示する関数定義形式を使う方法である。
例:
In[5]:=f2[x_]=x^3-2*x+3;
In[6]:=g2[x_,y_]=Sqrt[Sin[2*x]*Cos[y]];
In[7]:=f2[a]
Out[7]= a3 − 2 a + 3
In[8]:=g2[b,c]
Out[8]= Sqrt[Sin[2 b] Cos[c]]
In[9]:=a//f2
Out[9]= a3 − 2 a + 3
5, 6 番目の定義で,左辺の変数の後ろにアンダースコア “_” があることに注意。7, 8 は通常の関数の使い
方と同じである。9 番目の形式は後置 (postfix) 形と呼ばれていて,7 番目のものと同じものである。後置
形はこのままでは多変数の関数には使えない。例えば,
In[10]:={b,c}//g2
Out[10]= g2[{b,c}]
第 5 章 Computer Algebra 入門
68
となってしまう。
どちらの関数の定義を使っても,定義関数を使って計算をするのに問題はないが,始めの形式では常に
f1, g1 と孤立した形式で使用しなければならないし,後者の形式では常に f2[x], g2[x,y] の変数付きの形式
で使用しなければならない。普通の関数のつもりで混用すると不都合が起きる。例えば,
In[11]:=h1=x^3
Out[11]= x3
In[12]:=h1[a]
Out[12]= (x3 )[a]
In[13]:=b//h1
Out[13]= (x3 )[b]
In[14]:=h2[x_]=x^2-1
Out[14]= x2 − 1
In[15]:=h2/.{x->a}
Out[15]= h2
In[16]:=D[h1,x]
Out[16]= 3x2
In[17]:=D[h1[x],x]
Out[17]= (x3 )0 [x]
In[18]:=D[h2[x],x]
Out[18]= 2x
In[19]:=D[h2,x]
Out[19]= 0
15 番目までが間違った代入法,16, 18 番目は正しい微分の計算,17, 19 番目が間違い計算である。常識外
の形式の回答が出たときはすぐ気がつくが,19 番目のように取り敢えず答えが出てしまったときには間違
いに気がつかないので注意しよう。19 番目は h2 という関数を微分したのでなく,h2 という変数を x で
(偏) 微分したので 0 になったのである。
5.4.2
代入の影響
上の節で,関数の値を求めるときの代入について説明したが,変数そのものにも値を代入できる。この
代入は大域的 (グローバル) な代入と呼ばれ,代入をした行以降全体に渉って影響がある。次の例を見てみ
よう。
In[1]:=x=2
Out[1]= 2
In[2]:=f=x^2
Out[2]= 4
In[3]:=g[x_]=x^3
Out[3]= 8
5.4. 関数の定義
69
In[4]:=x=.
In[5]:=x
Out[5]= x
In[6]:=f
Out[6]= 4
In[7]:=g[x]
Out[7]:= 8
始めに,x に 2 の値を代入した結果,2, 3 番目の関数定義でも直ちに x=2 の代入が影響して f=4, g=8 の
代入がなされている。
4 番目は x の代入を開放して,自由変数化したのであるが,既に f, g には夫々 4, 8 が代入されてしまっ
ているので 6, 7 番目のように元の関数に戻らない。
このように,Mathematica では代入は後で変数を使うときに思わぬ結果を招くときがあるので,変数の
使い方に注意しよう。初歩的には,同じ変数の使い回しをしないことである。特に短い変数のときは余計に
注意をしなければならない。
Abc が自由変数か値が代入されているのかを調べるには,
??Abc
とすればよい。また,Abc を開放して自由変数にするには
Abc=. または Clear[Abc]
とすればよい。
5.4.3
名無し関数等
Mathematica では以上のような通常の関数定義の他に 名無し関数または純関数と呼ばれる関数の定義の
仕方がある。プログラム例で見られることがあるので説明しておこう。
次の例は関数 h を定義している。
In[1]:=h = #1^2-#2^3+1&
これは
In[2]:=h[x_,y_] = x^2 - y^3 +1
と同じもので #1 は一番目の 名無し変数を表し,#2 は二番目の名無し変数を表し,& は関数定義の終りを
表している。
a//function は function に a を代入することを表す。
In[3]:=a//#^5+#^3+#&
Out[3]= a5 + a3 + a
第 5 章 Computer Algebra 入門
70
{} はリストを構成するのに使う。
In[4]:=h=#^3&
In[5]:={h[1],h[2],3//h,h[c]}
Out[5]= {1, 8, 27, c3 }
5.4.4
既存の関数の利用
新しく関数を定義する際に Mathematica の既存の関数や自分で定義したものを利用できる。次の例は
Mathematica 既存の微分関数 D を使って新たに微分関数 diff を定義し直したものである。アンダースコ
アのついている場所に注意。
In[6]:=diff[f_[x]]:=D[f[x],x]
In[7]:=diff[Cos[x]]
Out[7]=-Sin[x]
微分積分
5.5
始めに,現在の理論では計算機で実数を理論的に扱うことはできない。例えば,関数の連続性等の定理を
計算機を使って証明することはできない。ここで,微積分というのは既に証明済みの結果を使って計算して
いるだけである。これから練習することは皆さんが微積分の計算をした結果を確認したり,面倒な計算を手
助けすることだけしかできない。従って,計算結果についての責任は皆さん自信にあることを確認しておき
たい。ここで示す例題はまず皆さん自信が計算してみて,その確認のために使うというように対応して欲
しい。「入力してこんな結果がでました」というのでは自分の実力は付かない。
例題ではパレットの中のテンプレートを利用して微分積分の計算をする。微分積分の記号以外に関数や
定数入力にも Basic Input にあるテンプレートも利用してみよう。何かの都合でパレットが利用できない場
合を考慮して,
「関数」も併記しておく。
5.5.1
微分
微分の場合は ∂¤ (¥) のテンプレートを使う。記号の下の箱に微分する変数を入力し,括弧の中に微分す
る関数を入れる。指定した変数が微分変数になるので常微分も偏微分も区別がない。即ち,変数として指定
しなければ定数と認識される。計算上はそれで不都合はない。微分の計算は合成関数の合成の仕方だけ分
かれば,アルゴリズム上困難な所は何も無い。
d
(cos(x2 + a)) の計算は,∂x (Cos[x^2+a]) と入力。
dx
∂ x+y
の計算は,∂y ((x+y)/(x-y)) と入力。
∂y x − y
高階の微分は常微分も偏微分もこの記号を繰り返すか,2 階の微分ならば ∂¤,¤ (¥) を使う。
5.5. 微分積分
71
d2
cos(x2 + 1) の計算は,∂x (∂x (Cos[x^2+1])) または ∂x,x (Cos[x^2+1]) と入力する。
dx2
∂2
log(x2 + y 2 ) の計算は,∂x (∂y (Log[x^2+y^2])) または ∂x,y (Log[x^2+y^2]) と入力。
∂x∂y
積分
5.5.2
∫
不定積分には
∫
¤
(¥)d¤ のテンプレートを,定積分または広義積分には
(¥)d¤ のテンプレートを用
¤
いる。二重積分については,テンプレートもキーボード入力の記号もないので累次積分に直して入力する。
有理式や π の入力にもテンプレートを利用してみよう。積分の計算は微分と違って,合成関数の合成の仕
方が分かっても易しくはならない。特に,3乗根以上の無理関数に原始関数を求めるには,色々な置換をし
てみても求まるものもあるし,分からないものもある。Mathematica はアルゴリズムが分からないときは,
入力された式をそのまま返してくる。そのときは式の変形してみたり,変数変換を考えたりと,皆さん自信
で考えてやらなければならない。
直接入力
5.5.3
テンプレートを使用せずに notebook から直接入力するには次のようにする。
D[f[x],x]
D[f[x],{x,n}]
D[f[x,y],x]
Integrate[f[x],x]
Integrate[f[x],{x,a,b}]
Integrate[Sin[x]/x,{x,0,Infinity}]
Integrate[f[x,y],{x,a,b},{y,c,d}]
f 0 (x):f (x) の微分
f (n) (x):f (x) の n 階の微分。
但し,n は具体的な数を指定すること
∂f (x, y)
:f (x, y) の偏微分
∫ ∂x
f (x)dx:f (x) の不定積分
∫ b
f (x)dx:f (x) の定積分
∫a ∞
sin x
dx の広義積分
∫0 b ∫x d
dx
f (x, y))dy の累次積分
a
練習問題 1(微分の計算)
c
次の関数を微分せよ。
3x + 2
+x+2
2
(2) (3x2 − 2)4
(3) esin x
(4) xx
(5) log(f (x))
(6) f (g(x2 ))
(7) f (x3 ) (3 階微分)
(8) xax (3 階微分)
(1)
x2
第 5 章 Computer Algebra 入門
72
次の不定積分を求めよ。
∫ √
1 1−x
(2)
dx
x 1+x
∫
1
√
√ dx
(5)
x(1 + 3 x)
練習問題 2(不定積分の計算)
∫
3x2 + 2x + 1
(1)
dx
x3 − 1
∫ √
1 1−x
(4)
dx
x
x
練習問題 3(定積分の計算)
∫
−1
(3)
∫
(6)
dx
2 sin x + 3 cos x + 4
x
dx
1 + cos x
次の定積分を求めよ。
∫
2
(1)
∫
(x + 1)(x − 2)dx
1
(2)
0
log x
dx
1−x
∫
∞
(3)
0
sin x
√ dx
x
方程式
5.6
5.6.1
解法
Mathematica で方程式を解くには代数方程式の場合も連立方程式に場合も「関数」Solve,Roots,Reduce
を使う。夫々の関数は,条件の扱いと解の表示が異なる。次の例を参照。等式では “==” を使うことに注意
せよ。
In[1]:=eq=a+x^2+b*x+c==0;
In[2]:=Solve[eq,x]
−b − Sqrt[b2 − 4 a c]
−b + Sqrt[b2 − 4 a c]
Out[2]= {{x− >
}, {x− >
}
2a
2a
In[3]:=Roots[eq,x]
−b − Sqrt[b2 − 4 a c]
−b + Sqrt[b2 − 4 a c]
Out=[3] x ==
|| x ==
2a
2a
In[4]:=Reduce[eq,x]
−b − Sqrt[b2 − 4 a c]
−b + Sqrt[b2 − 4 a c]
Out[4]= x ==
&& a! = 0 || x ==
&& a! =
2a
2a
c
0 || a == 0 && b == 0 && c == 0 || a == 0 && x == −( ) && b! = 0
b
解は誤差なしで表示されるので,近似解が必要なときは「関数」 NSolve を使う。
Solve[p == 0,x]
方程式 p = 0 を x を未知数として解く。存
在条件を無視して解く。
Solve[{p == 0,q == 0},{x,y}]
連立方程式 p = 0, q = 0 を x,y を未知数
として解く
NSolve[p == 0,x]
NSolve[p == 0,x,n]
1
方程式 p = 0 の近似解を求める
同じく精度 n 桁で求める
Mathematica は (−1) 3 等の複素数は複素整数でないので,その解を a + ib の形に表示してくれない。a + ib
の形にするには ComplexExpand を使う。
In[5]:=ComplexExpand[(-1)^(1/3)]
1 1
Out[5]= + Sqrt[3]
2 2
5.7. 行列
73
練習問題 4(方程式の解法)
次の方程式を解け。
(1) x2 + x − 1 = 0
{
(4)
5.7
x + 2y
=1
3x + 5y
=4
(2) x4 + 2x2 − 4x + 8 = 0


 3x − 2y + 7z = 80
(5)
5x + 3y − 4z = 2


2x + 5y + z
= 42
(3) x2 − x − 1 = 0 の近似値
行列
Mathematica は行列の計算にも利用可能である。ここでは行列の計算の「関数」を列挙しておく。以下
の説明で,v, w 等はベクトル,A, B 等は行列,I は単位行列,a, b, c, d, k 等はスカラー,n 等は自然数と
する。
5.7.1
5.7.2
ベクトルと演算
v={a,b}
ベクトルの入力 v = (a, b)
v+w
k*v または k v (空白)
v.w (ドット,ピリオド)
スカラー倍 kv
内積 v · w または (v, w)
行列
A={{a,b},{c,d}}
MatrixQ[A]
Transpose[A]
MatrixForm[A]
IdentityMatrix[n]
5.7.3
加法 v + w
(
a b
行列の入力 A =
c d
A が行列かどうか判定
)
行列の転置 t A または A0
リスト形式
A)
= {{a, b}, {c, d}} を行列形式
(
a b
で表示 (左右の括弧がつか
A=
c d
ない時がある。)
n 次の単位行列 (n は具体的な数を入力)
行列の演算
A+B
行列の加法 A + B
k*A または k A (空白)
A.B (ドット,ピリオド)
行列のスカラー倍 kA
行列の積 AB
Inverse[A]
行列のべき乗 An (n は具体的な数)
A2
Ak
eA = I + A +
+ ··· +
+ ...
2!
k!
−1
A の逆行列 A
MatrixPower[A,-1]
A の逆行列 A−1
MatrixPower[A,n]
MatrixExp[A]
第 5 章 Computer Algebra 入門
74
5.7.4
行列式,固有値,固有ベクトル
ここでは行列は正方行列とする。
行列式 det(A) または | A |
Det[A]
Eigenvalues[A]
A の固有値のリスト
A の固有ベクトルのリスト,上の固有値リ
スト順に対応
A の固有値と対応する固有ベクトルのリス
Eigenvectors[A]
Eigensystem[A]
ト
例:
In[1]:=Eigensystem[{{1,2},{2,2}}]
3 − Sqrt[17] 3 + Sqrt[17]
−1 − Sqrt[17]
−1 + Sqrt[17]
Out[1]= {{
,
}, {{
, 1}, {
, 1}}}
2
2
4
4
この例では,
3 − Sqrt[17] 3 + Sqrt[17]
,
2
)2 (
)
(
−1 + Sqrt[17]
−1 − Sqrt[17]
夫 々 の固有ベクトル:
,1 ,
,1
4
4
固有値:
(5.1)
(5.2)
であることを表す。それは以下のようにして確認できる。
In[2]:=a={{1,2},{2,2}}
Out[2]= {{1, 2}, {2, 2}}
In[3]:=p=Eigenvectors[a]
−1 − Sqrt[17]
−1 + Sqrt[17]
Out[3]= {{
, 1}, {
, 1}}
4
4
In[4]:=q=Transpose[p];
In[5]:=MatrixForm[Simplify[Inverse[q].a.q]]
3 − Sqrt[17]
Out[5]//
0
2
3 + Sqrt[17]
0
2
数学の慣例の表示法では行列は大文字,ベクトルは小文字太字を使用する。一方,Mathematica では大文
字は定義済みの数学変数として使用されていることがあるので,小文字を使用した方が良いが,行列の成
分,関数名,変数名と混乱を起こす可能性もある。どちらにしても変数は注意して使うようにしよう。
5.8. 平面グラフのプロット
練習問題 5(行列の計算)
次の計算をせよ。(1),(2) は逆行列,(3),(4) は行列式の値,(5),(6) は固有値と固
有ベクトル。

1

(1)  1
−1
−1
−1 −3

1 −1
1
5
¯
¯ 0 −3 −6
¯
¯
¯−2 5
14
(4) ¯¯
¯ 1 −3 −2
¯
¯ 15 10 10
75
¯
15 ¯¯
¯
4 ¯¯
5 ¯¯
¯
−5¯

2 0
1

0 −1 1
(2) 
1 0
1

0 1 −1

2

(5)  0
−3
−1
1
3
4
−1
0

−2

0

3


4
−1
¯
¯
¯ 99 100 101¯
¯
¯
¯
¯
(3) ¯100 99 100¯
¯
¯
¯101 101 99 ¯

2

(6)  0
√
10
0

10

2 
1
√
−1
2
平面グラフのプロット
5.8
Mathematica のもう一つの重要な機能であるグラフィックスについて説明する。微積分を使って計算す
る問題でも,対象の関数の概形を知っていることは, 問題を考える際に多いに助けになる。逆に,グラフ
を描く上にも微積分により重要な点の候補を求めておくことは,時間の節約になる。
グラフに対する関数は非常に多いので,以下には基本的なものを中心に説明する。
5.8.1
標準表示
関数 y = f (x) (a ≤ x ≤ b) のグラフを表示するときは次のようにする。
Plot[f[x],{x,a,b}]
例
Plot[(x+1)*x*(x-1),{x,-2,2}]
Mathematica は縦軸の長さと縦横比を自動的に選ぶ。
例
Plot[E^x,{x,-3,3}]
2 つ以上の関数のグラフを表示するときはリストを使う。
例
Plot[{Sin[x],x-x^3/(3!)+x^5/(5!)},{x,-2 Pi,2 Pi}]
5.8.2
パラメータ表示
x = f (t), y = g(t) (a ≤ t ≤ b) のようにパラメータ表示された関数のグラフを表示するには次のように
する。
ParametricPlot[{f[t],g[t]},{t,a,b}]
例
ParametricPlot[{Cos[3 t],Sin[5 t]},{t,0,10}]
2 つ以上のパラメータ表示された関数のグラフを表示するには上で説明したようにリストを用いる。
例
ParametricPlot[{{Cos[t],Sin[t]},{t-Sin[t],1-Cos[t]}},{t,-Pi,2 Pi}]
第 5 章 Computer Algebra 入門
76
5.8.3
極座標表示
C : r = f (t) (a ≤ t ≤ b) のように極座標表示される関数のグラフを表示するときは次のようにする。
始めに次のコマンドを実行して追加のパッケージをメモリにロードする。
<<Graphics‘Graphics‘;
ここで用いられる引用符「‘」は逆向きのもの (back quote) である。キーボードにより割り当てキーが異な
るので注意して探してみよう。
具体的なグラフの表示は次のようにする。
PolarPlot[f[t],{t,a,b}]
例
PolarPlot[t,{t,0,2 Pi}]
2 つ以上の関数のグラフを同時に表示するには今までと同様にリストを用いる。
5.8.4
陰関数のグラフ
f (x, y) = g(x, y) (a ≤ x ≤ b) のように陰関数で定義される関数のグラフを表示するには次のようにする。
始めに次のコマンドを実行して陰関数表示に必要なパッケージをメモリにロードする。
<<Graphics‘ImplicitPlot‘;
次にグラフを表示するには次のようにする。
ImplicitPlot[f[x,y]==g[x,y],{x,a,b}]
例
ImplicitPlot[x^(2/3)+y^(2/3)==1,{x,-2,2}]
2 つ以上の関数を同時に表示するには,今までと同様にリストを使う。
陰関数は常に x や y に関して解けるとは限らないので全ての陰関数についてこの方法でグラフが表示で
きるとは限らない。
5.8.5
表示のオプション
PlotStyle グラフの描画線に色を付けたり,線の太さを変えたり,点線にしたりするためには次のように
オプションを付ける。
Plot[f[x],{x,a,b},PlotStyle -> parameter]
ここで parameter は次のようなものがある。
太さ Thickness[0.007] 数字が大きいほど太い線になる。
点線 Dashing[{0.01}] 数字が大きいほど点線の間隔が開く。
色 色の指定の方法は Hue, RGBColor, GrayLevel 等がある。
5.9. 空間図形のプロット
例
77
Plot[Sin[x],{x,-7,7},PlotStyle -> Dashing[{0.05}]]
Plot[Cos[x],{x,-7,7}, PlotStyle -> Thickness[0.007]]
Plot[{Sin[10*x]*Sin[0.9*x],Sin[0.9*x],-Sin[0.9*x]},
{x, -7, 7}, PlotStyle-> {Dashing[{}],
Dashing[{0.05}], Dashing[{0.05}]}]
Plot[{E^x,1+x+x^2/2!+x^3/3!+x^4/4!},{x,-4,4},
PlotStyle ->{Hue[2/3], Hue[1/3]}]
Frame, GridLines グラフに枠を付けたり桝目を重ねるには次のようにする。
枠 Frame -> True のオプションを付けるとグラフ全体に枠を付ける。
桝目 GridLines -> Automatic のオプションを付けるとグラフ全体に桝目 (grid line) を重ねる。
例
Plot[Sin[x],{x,-4,4},Frame -> True, GridLines ->Automatic]
空間図形のプロット
5.9
通常の直交座標による 2 変数の関数 z = f (x, y) のグラフ,パラメータを用いた曲面 x = f (u, v), y =
g(u, v), z = h(u, v),円筒座標による曲面 z = f (r, θ),極座標による曲面 r = f (θ, φ) 等の曲面の表示の他,
f (x, y) = const による等高線プロット,f の値による密度プロット等もできる。
5.9.1
2 変数の関数のプロット
2 変数の関数 z = f (x, y) (a ≤ x ≤ b, c ≤ y ≤ d) のグラフを描くには次の形式を用いる。
Plot3D[f[x,y],{x,a,b},{y,c,d}]
例
Plot3D[Sin[2*Pi*Sqrt[x^2+y^2]],{x,-1,1},{y,-1,1}]
例 Plot3D[x^2-2*x*y+y^2-x^4-y^4,{x,-1.5,1.5},{y,-1.5,1.5}]
5.9.2
表示のオプション
画像の表示を見やすくするために幾つかのオプションが設けられている。これらのオプションは, 単純
な PLot3D だけでなく,次の ParametricPlot3D 等でも有効である。
ViewPoint Mathematica はグラフを描く際に視点やスケールを自動的に決定する。しかし,場合によっ
ては曲面の特徴を捉えるために視点を変えたり,スケールを変更する必要がある。
そのためには ViewPoint -> {p,q,r} というオプションをつける。しかし,この座標 (p, q, r) は分かり
難いので 3D ViewPoint Selector を利用する方が良い。次の手順で利用する。
(1) メニューから「Input」→ 「3D ViewPoint Selector」を選び,3D ViewPoint Selector のウイザード
を表示させる。
第 5 章 Computer Algebra 入門
78
(2) Plot3D[f[x,y],{x,a,b},{y,c,d} まで入力する。
(3) 3D ViewPoint Selector をマウスで操作して自分の視点を選ぶ。
(4) 新しいヴァージョンでは,View Selector のパラメータの中で「r」というパラメータを動かすと,平
行投影ではなく射影投影にできる。
射影投影を使うとより立体感が強調されるので,試してみよう。
(5) この Selector の中の paste をクリックすると Plot3D の中にオプション ViewPoint -> {p,q,r} が
コピーされる。または,ここに表示される数値 {p,q,r} を直接打込む。
(6) 残りの括弧を補って Shift + Enter して描画する。
Plot3D[f[x,y],{x,a,b},{y,c,d},ViewPoint -> {p,q,r}]
視点の変更は平面の平行性を見たり,2 変数の関数の極値の判定をしたりする時に有効である。
PlotPoints 次のオプションは,描画するメッシュの細かさを選ぶもので
PlotPoints -> 50
のように指定する。次の 2 つの描画を比較せよ。
Plot3D[Sin[x*Sin[x*y]],{x,0,4},{y,0,4}]
Plot3D[Sin[x*Sin[x*y]],{x,0,4},{y,0,4},PlotPoints -> 50]
ImageSize 次に, Mathematica は表示の際に画像の大きさを自動的に設定する。大抵の場合はこれで
十分であるが, 表示画像の大きさが異常であったりして変更するときは次のようにする。
表示する関数中に
ImageSize->n
は 1/72 inch である。
のパラメータを入れる。“n” の単位はポイントで, 1 pt
“n” のデフォルトは 288 pt, 4 inchi, 10 cm である。
AspectRatio Mathematica は画像の縦横比 (アスペクト比) も自動的に設定する。自動的にしておくと,
縦を縮めて表示することが多いので, 変更する時は次のようにする。
表示する関数中に
AspectRatio->n のパラメータを入れる。
“n” は, 縦 : 横の値を指定する。従って, “n” が 1 より大きい時は縦長に, 1 より小さい時
は横長に表示される。
“n” のデフォルトは Automatic であるが, 多くの場合黄金比を取る。
5.9. 空間図形のプロット
5.9.3
79
空間の曲線
x = f (t), y = g(t), z = h(t) (a ≤ t ≤ b) は空間の曲線を表す。この曲線を描くには次のようにする。
ParametricPlot3D[{f[t],g[t],h[t]},{t,a,b}]
例
例
ParametricPlot3D[{t*Cos[t]/3,t*Sin[t]/3,t/5},{t,0,20}]
ParametricPlot3D[{Cos[t/3],Sin[t/7],Cos[t/5]},{t,0,100}]
5.9.4
パラメータによる曲面
x = f (u, v), y = g(u, v), z = h(u, v) のようにパラメータを用いた曲面のプロットは次のようにする。
ParametricPlot3D[{f[u,v],g[u,v],h[u,v]},{u,a,b},{v,c,d}]
回転体はパラメータを用いて表される。
例
ParametricPlot3D[{(3+Cos[s])*Cos[t],(3+Cos[s])*Sin[t],Sin[s]},
{s,0,2*Pi},{t,0,2*Pi},PlotPoints -> 25]
5.9.5
円筒座標系
z = f (r, θ) (a ≤ r ≤ b, c ≤ θ ≤ d) を Plot するには次のようにする。初めにグラフィックの追加パッケー
ジを読み込んで、描画する。
<<Graphics‘ParametricPlot3D‘
CylindricalPlot3D[f[r,t],{r,a,b},{t,c,d}]
例
CylindricalPlot3D[Sqrt[r]*Sin[5*t],{r,0,2},{t,0,2*Pi},PlotPoints->{10,50}]
注:ViewPonit を色々変えて試してみよう。
5.9.6
極座標系
r = f (θ, φ) (a ≤ θ ≤ b, c ≤ φ ≤ d) を Plot はするには次のようにする。初めにグラフィックスの追加パッ
ケージを読み込んで、描画する。
<<Graphics‘ParametricPlot3D‘
SphericalPlot3D[f[s,t],{s,a,b},{t,c,d}]
例
SphericalPlot3d[2+Sin[3*s]*Sin[3*t],{s,0,Pi},{t,0,2*Pi},
PlotPoint -> {40,50}]
注:ViewPoint を色々変えて試してみよう。
第 5 章 Computer Algebra 入門
80
5.10
プロット雑録
Mathematica はプロットに幾つかの特徴ある機能を持っている。それについて説明する。特にアニメー
ションは関数をグラフの特徴を理解するのに有効であろう。
5.10.1
3 種類の 3D プロット
3 次元のプロットは上記で説明したものの他に,地図のように等高線で表示する ContourPlot とメッシュ
の各点の値を色違いまたは濃淡で表す DensityPlot がある。これらは特徴を理解して使用すれば,曲面の
特徴を理解するのに役に立つであろう。以下では同じ関数を 3 つの方法で表示してみる。
通常のプロット
(x, y, z)– 座標を平行投影することにより表示する。射影投影を用いるとより立体感が得
られるが,Mathematica では採用されてない。
Plot3D[Sin[x*y],{x,0,3},{y,0,3}]
等高線によるプロット
同じ関数の値の所を線で結んで表示する。地図と同じ物を想像すればよい。
ContourPlot[Sin[x*y],{x,0,3},{y,0,3},PlotPoints -> 30]
等高線によるプロットは曲面の山谷がよりよく分かる。但し,全体のイメージを予め通常のプロットで捕ら
えておく必要があろう。
密度プロット
格子点における関数の値を等高線プロットのように同じ値の所を結ぶのでなく同じ色や濃淡
で表す方式。緻密な図を得るために格子点を増やし, 且つ格子を表示させないようにする。
DensityPlot[Sin[x*y],{x,-10,10},{y,-5,5}
PlotPoints -> 500, Mesh -> False]
DensityPlot は時間がかかるが,同じ PlotPoints 数で通常の Plot3D や ContourPlot では更に相当の
時間がかかる (3 次元の点を平面に射影するための計算が余計掛かる) 点で密度プロットは有理である。
5.10.2
画像を重ねる
Mathematica の Plot ではプロットするものをリストにすると関数のグラフを重ねて表示できる。
g1=Plot3D[-2*x+3*y,{x,-10,10},{y,-10,10}];
g2=Plot3D[2*x+3*y-2,{x,-10,10},{y,-10,10}];
Show[g1,g2,ViewPoint -> {-3,-2,1}]
5.11. 例題プログラム
5.10.3
81
アニメーション
Mathematica のこの機能は特筆できるものであり,使っていて飽きることがない。単に面白いだけでな
くパラメータを連続変化させてグラフの特徴を理解したり曲面の特徴が良く分かる場所を捕らえたりする
のにも使える。アニメーションの機能を使うには始めにパッケージをロードしよう。
<<Graphics‘Animation‘
アニメーションは Do 「関数」か Animate 「関数」を使うが,どちらかで試して見よう。
•
Do[
Plot[Sin[2*(x-a)],{x,0,2*Pi}],
{a,1,2,0.2}]
•
Animate[
Plot[Sin[2*(x-a)],{x,0,2*Pi}],
{a,1,2,0.2}]
いずれの「関数」の場合でも,最初にパラメータの値を変化させたグラフが一続きに表示される。次に, 任
意の図をダブルクリックするとパラメータを変化させたアニメーションを表示する。上の例では Sin カー
ブが平行移動していく様子が見て取れる。アニメーションの対象の関数は Plot 以外の ParametricPlot,
PolarPlot,ImplicitPlot でも使える。
Animate[
PolarPlot[a*(1+Cos[t]),{t,0,2*Pi},
PlotRange -> {{-1,3},{-2,2}}],
{a,1,1.1,0.02}]
更に,アニメーションは 3 次元プロットにも使える。形式は同様である。
Animate[
ParametricPlot3D[{(3+a*Cos[s])*Cos[t],(3+a*Cos[s])*Sin[t],a*Sin[s]},
{s,0,2*Pi},{t,0,2*Pi},PlotPoint -> 50],
{a,1.0,1.2,0.01}]
アニメーションの特別な例として z–軸を回転させるものがある。次の例を参照して欲しい。
Plot3D[Sin[x*y],{x,0,3},{y,0,3},Axes -> None];
SpinShow[%]
5.11
例題プログラム
Mathematica で作成したプログラムの例をあげておく。この例で見られるように,Mathematica による
プログラミングは甚だ汚いので,C,Fortran,Pascal,Java 等の汎用の言語に代わるものではないが, グ
ラフィックの機能と連結し易いのが利点である。
例3
フラクタル図形 (ドラゴン曲線)
第 5 章 Computer Algebra 入門
82
drgn[func_,pos_,kaku_,updown_] :=
Module[{f = func,x = pos,th = kaku//N,us = updown,tmp,y,ly},
{s1,s2} = us;
tmp = Map[{Insert[#[[1]],f[#,th,s1,s2][[1]] + #[[1,1]],2],
Insert[#[[2]],f[#,th,s1,s2][[2]] + #[[2,1]],2]}&,x]//Simplify;
tmp = tmp//Flatten[#,1]&;
y = Map[Partition[#,2,1]&,tmp]//Simplify;
ly = {Re[#],Im[#]}&/@(y//Flatten);Show[Graphics[Line[ly]]];y]
kaiten[t_] := 1/(2 * Cos[t])*(Cos[t]+I*Sint[t])
tst[x_,t_,s1_,s2_] := {kaiten[s1*t],kaiten[s2*t]}x.{-1,1}
pl = {{{0,1/2-I/2},{1/2-I/2,1}}};
Nest[drgn[tst,#,Pi/4,{-1,1}]&,pl,10];
例4
Mandelbrot 集合
mb[x_,y_,max_] := (z=c=x+I*y;i=0;
While[Abs[z]<2.0 && i< max,z=z*z+c;i++];
Return[i])
DensityPlot[mb[x,y,60],{x,-2.25,0.75},{y,-1.5,1.5},
PlotPoints -> 150,Mesh -> False,ColorFunction -> Hue]
例5
Julia 集合
js[x_,y_,c_,max_] := (z=x+I*y;i=0;
While[Abs[z]<2.0 && i<max,z=z*z+c;i++];
Reurn[i];)
DensityPlot[js[x,y,0.32+0.043*I,60],{x,-2.0,2.0},{y,-1.5,1.5},
PlotPonits -> 150,Mesh -> False, ColorFunction -> Hue]
Mandelbrot 集合と Julia 集合は同じ式
zn+1 = zn2 + c
から作られる。但し, zn は複素数である。
Mandelbrot 集合は
{c | z0 = 0, lim zn < ∞}
n→∞
Julia 集合は
{z0 | lim zn < ∞, 但し c は複素定数 }
n→∞
c の値を色々と変えて作図して見よう。
5.12. 課題 4
5.12
83
課題 4
次の課題 (1), (2), (3) を全て解きなさい。課題は Mathematica の出力を印刷して提出しなさい。提出の
際は課題以外の不要な式や図を削除して提出しなさい。
(1) この章にある練習問題を全て解きなさい。
(2) 次の例から 1 つを選び曲線の図を描きなさい。括弧内のようにパラメータを変えて描いたものを全て
提出しなさい。また,描画の範囲 (θ の範囲) は曲線が完結するように定めて描きなさい。
(a) r = a + b cos θ
(a : b = 1 : 1, 1 : 2, 2 : 1, 2 : 3)
(リマソン)
(n = 2, 3, 4, 5) (二つ葉,三つ葉,四葉,…)
π
(c) x = sin θ, y = sin(n θ + ) (n = 1, 2, 3, 4) (リサージュ)
4
(b) r = sin n θ
(3) 次の例から 1 つを選び,曲面の図を描きなさい。平行投影だけでなく,ViewPoint ウイザードにある
r 因子を変えて射影投影して立体感を強調したものも考えて描画しなさい。
(a) 同じ半径の 2 つの球が中心を互いに他の球面上に置いて交わっている様子。3 つの球ならばど
うか。
(b) 円柱とそれに内接する球
(c) 直交している同じ半径の円柱
Mathematica に関して更に興味のある人は
http://www.sm.u-tokai.ac.jp/~sugita
の講義用参照頁にある “cai 微分積分学” を参照してほしい。見るだけでも良いし,プリントアウトしても
良い。
85
第6章
BASIC入門
はじめに
6.1
BASIC は 1965 年に Kurtz, T.E. と Kemeny, J.G. が発表したプログラム言語で Beginner’s All purpose
Symbolic Instruction Code の略とされ,コンパイル不用,画面上での直接編集,変数宣言不用,等の特徴
があり,対話的に利用できる。1980 年頃 8 bits の micro computer に実装できたことから所謂パソコン用
の言語として普及した。
BASIC は大規模なものや高速のプログラムを作成するには適していないが,高級なプログラミングの知
識なしに使えること,対話的に使えて修正が容易なこと,パソコンで利用できること,簡単なグラフィック
が容易に利用できること,等の理由からプログラミングの入門用や小さい個人用のプログラムを作るのに
使われている。高等学校の数学のカリキュラムにもオプションで計算機の利用が取り入れられることになっ
たことから,これから教職を目指す人も知識を持っている必要があろう。
この演習では基本的な例題とグラフィックの練習をする。
起動,終了
6.2
6.2.1
起動
タスクバーの「スタート」から「プログラム言語」→「N88 互換 BASIC」と選ぶ。Visual Basic という
メニューが近くにあるが,これは全くの別物である。
BASIC のプログラムはプログラム名の次に .BAS という属性名がつくが,この属性名のアイコンをダブ
ルクリックすると Visual Basic が起動されるので注意。起動すると,プログラム編集用の白いウィンドウ
とプログラム実行用の黒いウインドウの 2 つのウィンドウが現れる。
N88 互換 BASIC のメニューの操作
ウィンドウの 2 行目に一連の文字列があり,これが メニュー の一覧である。各メニューをクリックする
とサブメニューの一覧が現れる。
各メニューとサブメニューの主なものについて説明する。
ファイル (F) :
新しいプログラム (N):編集中のプログラムを廃棄して新しいプログラムを作るため表示中のプログ
ラムと編集画面を消去する。
第 6 章 BASIC入門
86
プログラムの読み込み (O):保存中のプログラムを呼び出して表示する。
プログラムの保存 (S):編集中のプログラムをディスクへ書き戻す。その際既存のプログラムは消去
されるが,これを上書きをするという。
名前を付けてプログラムを保存 (W):編集中のプログラムに新しい名前を付けて保存する。
印刷 (P):表示されているプログラムをプリンターで印刷する。
実行 (G):表示中のプログラムを実行する。実行中の経過は別に開く実行画面のウィンドウに表示さ
れる。
終了 (Q): NBASIC の操作を全て終了し,ウィンドウを閉じる。
なお,
「開く」「名前を付けて保存」の場合は対象ファイルを探すための小さなウィンドウが開くので,
その中で目的のファイルをダブルクリックして呼び出したり,名前を付けて保存したりする。
「上書き保存」の場合はこのウィンドウは開かない。
実行 (R) :
実行 (G):表示プログラムを実行する。「ファイル」→「実行」と同じである。
終了 (H):
中断 (I):実行中のプログラムを強制停止させる。無限ループに入って終了しないときに使う。
再開 (R):中断したプログラムの実行を再開する。プログラム中の停止命令で停止しているプログラ
ムを続けるときにもこのメニューを使う。
表示 (V) :
実行画面表示 (P):実行画面を表示させる。通常は特別に操作しなくても表示するが,もし表示され
ないときはこのメニューを使う。
実行画面クリア (C):実行画面に表示されているものがあれば消去する。通常はプログラムの中で消
去する方が良い。
命令一覧表示 (L):プログラム中で有効な BASIC の命令一覧表と簡単な説明が表示される。
6.3
試してみよう
では,実際に BASIC を使ってプログラムを作り,実行してプログラミングとは何か,プログラム文はど
のように実行されるのかを見てみよう。
BASIC の起動 :上で説明した手順に従って,コンピュータを起動し,N88 互換 BASIC を呼び出す。
プログラムの作成 :次のプログラムを入力する。N88 互換 BASIC では大文字と小文字は PRINT 文の内
容以外では区別しない。
例(1):
6.3. 試してみよう
100
110
120
130
140
150
160
170
180
87
’--- SIMPLE EXAMPLE --INPUT "Input two integers."; A, B
LET SUM = A + B
LET DIFF = A - B
LET PROD = A * B
PRINT A; "+"; B; "="; SUM
PRINT A; "-"; B; "="; DIFF
PRINT A; "*"; B; "="; PROD
END
確認 :入力したプログラムにスペルミスがないか十分に確かめよう。このテキストで例示するプログラム
は全てチェック済みのものである。もし,動かなかったり何か異常だったりするときは 100% スペル
ミスと思って良い。特に,全角のスペースが入ってないか注意しよう。それでもエラーが見つからな
いときは,エラーのある行を消してもう一度入力してみる。
実行 :入力を確認したら「実行開始」のアイコンをクリックするか,
「実行 (R)」→「実行 (G)」 とメニュー
を選んでプログラムを実行しよう。
実行は次のようになる。
(1) 実行画面に Input two integers.? と表示され,その横に白枠が 現れる。
(2) 任意の正数を 2 つ
572, 291
のように入力して Enter キーを押す。
(3) 次のような表示が出る。
572+291=893
572-291=281
572*291=166452
説明 :プログラムの内容を説明しよう。
• プログラムは 100 行, 110 行, 120 行, 130 行,の様に行番号順に実行される。
• 1 行目 100 ’ の 「’」(シングルクォート) は,この行の印の後ろ (右側) の部分はコメント
文 (実行されない文) であることを指示し,プログラム中にメモやコメントを書き込むとき
に使う。
• 2 行目 110 INPUT A,B は入力命令で,キーボードから入力されたものを順に変数 A,B に
代入することを表す。文の途中にある "Input two integers." はこのダブルクォートの中
の文字列を入力するとき,入力の案内 (プロンプト) として表示することを指示している。
• 120 130 140 の各行は各々入力された 2 つの数字を使って,その和,差,積を計算して各々
SUM DIFF PROD に代入することを表す。
• これ以降の行は出力命令で 150 PRINT A; "+"; B; "="; SUM は,A の値,+ 記号,B の
値,= 記号,SUM の値をこの順に同じ行に表示する命令である。残りの行も同じ。
• 最後の行 180 END はプログラムの最後を表す命令である。この行は何も実行されない。
第 6 章 BASIC入門
88
プログラムの修正 :もし実行中にエラーを表す小さいウィンドウが現れたら内容を読んで修正しよう。こ
のウィンドウは何行目にどういうエラーがあるかを示したものであるが,殆どはスペルミスである。
修正したら再び実行して確認しよう。
プログラムの命令文
6.4
プログラムで使用する代表的な命令 (プログラム) 文を説明する。命令は基本命令とプログラム制御命令
に大別される。
6.4.1
基本命令
基本命令には入出力命令,代入命令,関数呼び出し命令,がある。
入出力
• INPUT "入力用メッセージ"; 入力変数並び
• INPUT "入力用メッセージ", 入力変数並び
• INPUT 入力変数並び
例
INPUT "Input 2 integers."; A, B
例
INPUT "Input 2 integers.", A, B
INPUT A, B
例
データは 123, 456
のように「,」で区切って入力する。
• PRINT 式 1; 式 2; ...
• PRINT 式 1, 式 2, ...
「;」
を使うと横に並べて出力し,
「,」
を使うと 1 個づつ改行しながら印刷する。両方の形式を
混ぜてもよい。式を省略すると改行だけ行う。
代入文
• LET variable = 式
variable に式の値を代入する。LET は省略が可能である。
6.4. プログラムの命令文
89
関数呼出し文
• 通常の形で関数名と変数値または変数名を書けば良い。NBSIC で予め定義されている関数は次のよ
うなものである。
COS SIN
TAN
LOG
EXP
SQR (平方根) ATN (ArcTangent) ABS (絶対値)
RND (擬似乱数の発生) RANDOMIZE (RND のための初期値を変更する)
INT (整数化,ガウス記号に同じ) FIX (実数の小数部分を切り捨てて整数化する)
• 次のようにして自分で新しい関数を定義して使うこともできる。
DEF FNREIDAI(変数 1, 変数 2,. . .) = 式
例は後に示す。
演算子
演算子には四則計算をする算術演算子の他に論理計算をする関係演算子や論理演算子がある。
算術演算子: 通常の四則演算子 (+,-,*,/,^) はそのまま使える。かけ算が 「*」,べき乗が 「^」 であるこ
とに注意。演算の優先順に並べると次のようになる。
( )(括弧) ^(ベキ乗),
*(積), /(商), +(和), -(差)
√
ベキ乗は負の数や分数でも使える。例えば 2 は 2^(1/2) とも表される。
例
(-(2+3^4)*(6-5)/(7*(8+9)-10)^2)
整数の割り算は, 商が
関係演算子:
=
論理演算子:
例
6.4.2
-(符号),
<
NOT
\, 余りが mod である。
>
AND
<> (6= の意味) <= (5 の意味) >= (= の意味)
OR
XOR
IMP
EQV
NOT(-3 <= VALUE AND 4 >= VALUE)
プログラム制御命令
制御命令を使用することによってプログラムらしいプログラムが作れる。
制御命令はプログラムの計算の順序 (流れ) を色々な条件を考えて変更する命令であり,基本的には命令
の連続,繰り返し,分岐の 3 つに分けられる。
プログラムの学習方法は語学の学習方法と同じで,熟語や決った言い回しに相当する小さいプログラム
単位があるので,それを憶えるように努力してみよう。
以下に制御文の文法を説明する。
第 6 章 BASIC入門
90
連接
1 行の中で基本命令を続けて書くときは「:」で命令を繋ぐ。
例
LET X = 345 : LET Y = 279 : PRINT X + Y
FOR 文
プログラムのある部分を予め決められた範囲で単純に繰り返すときに FOR を用いる。
FOR cV ariable = 初期値 TO 終了値 STEP 繰返し増分
繰返し実行部分
NEXT cV ariable
FOR のある行から NEXT のある行までを繰り返す。この時 cV ariable の値を繰返しの度に 初期値,初期値
+ 繰返し増分,初期値 + 2× 繰返し増分,.... と変える。この値が終了値を越えた時に繰返しが終了して次
の行へ移る。
cV ariable は任意の変数,初期値・終了値・繰返し増分は任意の整数・実数が使える。繰返し増分が負の
時は cV ariable は繰返しの度に減少していく。
STEP の値が 1 の時は STEP 以降の項は省略できる。また,NEXT の後ろの cV ariable は省略できるが,
入れ子構造にするときは省略しない方がよい。
FOR 文の例
例 (2) :
100
110
120
130
140
150
160
170
180
’--- Kyuusuu no Wa --DEF FNKO(X) = 2*X - 1
INPUT " Input integer."; N
LET WA = 0
FOR I = 1 TO N
LET WA = WA + FNKO(I)
PRINT I; FNKO(I); WA
NEXT I
END
このプログラムは FNKO(X) に数列の一般項 (ここでは奇数列) を定義して、その第 1 項から第 N 項までの
和を WA に代入して、項番号の変化に合わせて、項番号、第 I 項、第 I 項までの級数の和を出力する。
110 行の DEF FNKO(X) は変数が X の関数を定義する一般形式である。変数の個数は任意である。例え
ば,2 変数なら DEF FNKANSUU(X,Y) = x^2 + y^2 -1 などとなる。この命令で関数の名前は先頭が必ず
FN で始めなければならない。140 行から 170 行が I を 1 から N まで 1 ずつ増加させながら WA を計算し、
∑N
I, FNKO(I), WA を出力することを繰り返している。この部分が WA = I=1 FNKO(I) の計算に相当し
ている。
例 (3) :
6.4. プログラムの命令文
100
110
120
130
140
150
160
170
91
’--- 9*9 HYOU --FOR I = 2 TO 9
FOR J = 2 TO 9
PRINT USING "######"; I*J;
NEXT J
PRINT
NEXT I
END
このプログラムは九九表を作るプログラムで,I,J の 2 つの指数を変化させている。初めに I を 2 とし,
次に J を 2 から 9 まで変化させて,九九表の 2 の段を作り,次に I を 3 として J を動かして 3 の段を作
るというようにして 9 の段まで作る。
例 (4):
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
’--- MATRIX I/O --DIM A(3,3)
FOR I=1 TO 3
FOR J=1 TO 3
PRINT "A(";I;J;")=";
INPUT A(I,J)
NEXT J
NEXT I
FOR I=1 TO 3
FOR J=1 TO 3
PRINT USING "####";A(I,J);
NEXT J
PRINT
NEXT I
END
このプログラムは 3 × 3 行列の入力をして,それを表示させるものである。100 DIM A(3,3) という行は
A は配列型の変数 (ベクトルまたは行列を表す変数) であることをコンパイラーに指示する命令である。次
に A(11)=? という形式で行列の (1, 1) 成分を入力するように求めてくる。これが (3, 3) 成分の入力が終わ
るまで続く。入力が終わると入力された行列の成分を行列の形に表示する。ここでも二重のインデックスを
使って行列を表している。
WHILE 文
繰り返し終了を計算結果から判断する場合は WHILE 文を使う。
WHILE 論理式
実行文
WEND
論理式が成立している間は実行文を実行し,成立しなくなると次の行へ移る。論理式を制御する部分は実
行文中に書く。
第 6 章 BASIC入門
92
WHILE 文の例
例 (5) :
100
110
120
130
140
150
160
170
180
’--- MENOKO DE HEIHOU-KON NO SEISUU-BU WO MOTOMERU --PRINT " INTEGRAL PART OF ROOT(A)"
INPUT " Input integer. "; A
LET I = 1
WHILE A >= 0
LET A = A - ( 2*I -1 ) : LET I = I + 1
WEND
PRINT I - 2
END
このプログラムは入力された自然数 A の
√
A の整数部分を求めるもので方法は一番単純な方法である。
IF 文
条件を判断して、次に実行する文を選ぶには IF 文を使う。
• IF 論理式 THEN
L1
条件が成立したときは L1 行の文を実行し、成立しないときはこの行の次の行の文を実行する。
• IF 論理式 THEN L1 ELSE L2
条件が成立したときは L1 行の文を実行し、成立しないときは L2 行の文を実行する。
分岐行番号の代わりに実際の実行文を書いてもよい。THEN の代わりに GOTO と書くこともできる。行番号
の代わりにラベルを使用してもよい。
IF 文の例
例 (6) :
100
110
120
130
140
150
160
’--- OTETUDAI --PRINT "OTETUDAI SIMASU. BANGOU DE ERANDE KUDASAI."
INPUT "1:SOOJI, 2:SENTAKU, 3:RYOURI"; I
IF I = 1 THEN PRINT " SIRIMASEN."
IF I = 2 THEN PRINT " WAKARIMASEN."
IF I = 3 THEN PRINT " DEKIMASENN."
END
このプログラムは入力された値に従って出力文を変えている。
例 (7) :
6.5. グラッフィクス命令
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
93
’--- 2JI HOUTEISIKI --PRINT " a x^2 + b x + c = 0"
INPUT " a = "; A
IF A = 0 THEN PRINT "DATA ERROR" : GOTO *EXIT
INPUT " b = "; B
INPUT " c = "; C
LET D = B * B - 4 * A * C
IF D >= 0 THEN *REAL ELSE *IMAGINARY
*REAL
PRINT (-B + SQR(D))/(2*A)
PRINT (-B - SQR(D))/(2*A)
GOTO *EXIT
*IMAGINARY
PRINT -B/(2*A);"+";SQR(ABS(D))/(2*A);"I"
PRINT -B/(2*A);"-";SQR(ABS(D))/(2*A);"I"
*EXIT
END
このプログラムは 2 次方程式の解を求めるもので,2 次方程式の係数を入力し,入力された値により判別
式を計算して,その結果に従って実数解,複素数解の別により解の表示を変更している。
飛び越し
• GOTO 行番号
• GOTO ラベル
行番号またはラベルの所へ無条件に飛ぶ。
6.5
グラッフィクス命令
6.5.1
色々な準備
描画座標
描画の座標原点は左上隅である。横方向が第一座標軸 (x–座標軸) で右方向が正の方向,縦方向が第二座
標軸 (y–座標軸) であるが,下方向が正方向である。したがって,左手系なので,関数表示のときなど図が
上下逆さまに出ないように注意を要する。
また,表示する点 (ドット) 1 つを座標値 1 と数える。 従って,描画座標では分数座標はない。この単
位を ピクセル (pixel) という。通常の設定では,横方向が 640 ピクセル,縦方向が 400 ピクセルである。
MSDOS の標準画面 (VGA) のピクセルは 640 × 480 であるが、NEC の DOS 画面がこれと違っていたた
めに、640 × 400 となった。
第 6 章 BASIC入門
94
色番号
表示色は色番号で指定する。光の 3 原色の原理で定められている。
0: 黒
1: 青
3=1+2 : 紫
2: 赤
4: 緑
5 = 1 + 4 : 水色 6 = 2 + 4 : 黄色
7=1+2+4 : 白
表示色
• COLOR , 背景色 , , 表示色
(不用な部分は省略した)
画面消去命令
• CLS 1 テキスト (文字) のみ消去
• CLS 2 ビュ−ポ−トのグラフィックを消去
• CLS 3 テキストとグラフィックの両方を消去。参照点は左上隅 (ホームポジションという) へ移動
する。
参照点
• POINT (px, py)
参照点 (LP) を (px, py) に設定する。グラフの書き始めにこの命令を使って LP を設定しないと思わ
ぬとこらから書き始めるので注意。
グラフィック命令で座標が省略されたり POINT 命令が無いときは,直前に使用した座標が参照される。
例えば
LINE (0, 0)-(320, 200) : LINE -(0, 400)
とすると 2 番目の命令は
LINE (320, 200)-(0, 400)
と解釈される。
6.5.2
描画命令
描画の命令は,直線図形,円図形,点操作,色塗り,等がある。
6.5. グラッフィクス命令
95
線分,四角
• LINE (x1, y1)-(x2, y2), color
(x1, y1) と (x2, y2) を結ぶ線分を,color で指定した色で var の種類の線を引く。色番号 (color) を
省略すると,直前に指定したが使われる。
• LINE (x1, y1)-(x2, y2), color, B
(x1, y1) を左上,(x2, y2) を右下とする四角形を color で指定した色の線で描く。
• LINE (x1, y1)-(x2, y2), color, BF
同じく四角形の中を color 色で塗りつぶす。
例(8):
100
110
120
130
140
LINE
LINE
LINE
LINE
LINE
(0, 0) - (639, 399) : STOP
(0, 399) - (639, 0), 2 : STOP
(200, 100) - (400, 300), 3, B : STOP
(250, 150) - (350, 250), 5, BF : STOP
(20, 20) - (220, 170), 0, BF : STOP
このプログラムは 1 行毎に一時停止するようになっている。次へ進むには「実行開始」のアイコンをクリッ
クする。
円,楕円,弧
• CIRCLE (cx, cy), rad, color
(cx, cy) を中心,rad を半径とする円を,color で指定する色で描く。
• CIRCLE (cx, cy), rad, color, θ1, θ2
(cx, cy) を中心,rad を半径とする弧を |θ1| から |θ2| まで描く。θ1,θ2 の指定範囲は −2π から 2π
までの弧度法を使用する。θ1 5 θ2 でなくてもよい。例えば θ1 = π/2, θ2 = 3π/2 とすると左半円,
θ1 = 3π/2, θ2 = π/2 とすると右半円を描く。
さらに,
「-」を付けると半径を付け加える。デフォルト値は θ1 = 0,θ2 = 2π である。
• CIRCLE (cx, cy), rad, color, , , ratio
(cx, cy) を中心の楕円を描く。
ratio > 1 のときは縦幅が rad,横幅が rad/ratio
ratio < 1 のときは横幅が rad,縦幅が rad × ratio の楕円を描く。
ratio のデフォルト値は 1(円)。
• 円,楕円,扇形の場合に最後に「,F」を付け加えると,中を塗りつぶす。
第 6 章 BASIC入門
96
例(9):
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
LET PI
CIRCLE
CIRCLE
CIRCLE
CLS 3
CIRCLE
CIRCLE
CIRCLE
CIRCLE
CIRCLE
CIRCLE
CLS 3
CIRCLE
CIRCLE
CIRCLE
CIRCLE
= 3.14159
(320, 200), 100 : STOP
(320, 200), 150, 6 : STOP
(320, 200), 100, 5, , , , F : STOP
(320,
(320,
(150,
(450,
(150,
(450,
200),
200),
100),
100),
300),
300),
50, 2, 0, PI : STOP
100, 3, PI, 0 : STOP
50, 4, -PI/2, PI : STOP
60, 5, 0, -PI*3/2 : STOP
50, 6, -PI/4, -PI*7/4 : STOP
60, 1, -2, -5, , F : STOP
(320,
(320,
(320,
(320,
200),
200),
200),
200),
100,
100,
100,
200,
7 : STOP
4, , , 2 : STOP
2, , , 0.5 : STOP
0, , , 2, F
このプログラムも 1 行毎に一時停止する。
点のプロット
1 点を表示したり消去したりする命令である。
• PSET (px, py), color
(px, py) の所に color 色の点を表示する。
• PRESET (px, py)
(px, py) の点を消去する。
色塗り
• PAINT (px, py), pcolor
pcolor 色で囲まれている領域の (px, py) のある側を pcolor 色で塗る。
• PAINT (px, py), pcolor, bcolor
bcolor 色で囲まれている領域の (px, py) のある側を pcolor 色で塗る。
グラフィックス混合例
次の例は、乱数を使って色や円の半径を変えている。また、実行の度に別の画面が出るように乱数の開始
を変えている。
例 (10):
6.6. グラッフィクス・パッケ−ジ
100
110
120
130
140
150
160
170
180
190
97
’--- RANSUU NI YORU PAINT --RANDOMIZE VAL(RIGHT$(TIME$,2))*13
CLS 3
FOR I = 1 TO 200
LET X = RND*640 : LET Y = RND*390
LET C = RND*6+1 : LET R = RND*50
CIRCLE (X, Y), R, C
PAINT (X, Y), C
NEXT I
END
グラッフィクス・パッケ−ジ
6.6
関数のグラフを描くためのサンプルプログラムを示す。y = f (x) 形のものとパラメータ表示された曲線
x = φ(t), y = ψ(t) 形のものを挙げる。なお,NBASIC の描画座標系は下方向が y 軸の正方向になってい
るので注意すること。以下のプログラムではその補正がしてある。
例(11): y = f (x) 形のグラフ
100
110
120
130
140
150
160
170
180
190
200
210
220
230
’--- graph y=f(x) --cls 3
def fnkansuu(x)=x^3+x^2-2*x
let wx1=-2:let wx2=2:let wy1=-5:let wy2=3
def fnpx(wx)=639*(wx-wx1)/(wx2-wx1)
def fnpy(wy)=399*(wy-wy1)/(wy2-wy1)
sstep=(wx2-wx1)/640
point (fnpx(wx1),fnpy(-fnkansuu(wx1)))
for x=wx1 to wx2 step sstep
line -(fnpx(x),fnpy(-fnkansuu(x)))
next x
line (fnpx(wx1),fnpy(0))-(fnpx(wx2),fnpy(0))
line (fnpx(0),fnpy(wy1))-(fnpx(0),fnpy(wy2)
end
このプログラムは 130 行で画面の左下隅の座標を (WX1, WY1),右上隅の座標を (WX2, WY2) と定め,120
行で定義した関数を表示するものである。
140, 150 の各行で 130 行で定めた座標系と画面の描画座標系の変換を行っている。また,210 220 の
行では座標軸を描いている。
このプログラムを自分用に変更するには 120 行の関数と 130 行の表示範囲を定める座標を修正すれば
よい。
例(12): x = φ(t), y = ψ(t) 形のグラフ
100
110
120
130
140
’--- parameter plot --cls 3
let pi=3.14159:let r=1
def fnx(t)=cos(t)*r*(1+cos(t))
def fny(t)=sin(t)*r*(1+cos(t))
第 6 章 BASIC入門
98
150
160
170
180
190
200
210
220
230
340
let wx1=-3:let wx2=3:let wy1=-2:let wy2=2
def fnpx(wx)=639*(wx-wx1)/(wx2-wx1)
def fnpy(wy)=399*(wy-wy1)/(wy2-wy1)
point (fnpx(fnx(0)),fnpy(-fny(0)))
for t=0 to 2*pi+0.1 step 0.05
line -(fnpx(fnx(t)),fnpy(-fny(t)))
next t
line (fnpx(wx1),fnpy(0))-(fnpx(wx2),fnpy(0))
line (fnpx(0),fnpy(wy1))-(fnpx(0),fnpy(wy2))
end
このプログラムはパラメータ表示された関数のグラフを表示する。130, 140 行で各々 x = x(t),y = y(t)
を定義している。表示範囲は 150 行で定めている。
他のグラフ例
6.7
直線や曲線を組み合わせて使用して色々な図形を描いてみよう。
例(13):
100
110
120
130
140
150
160
’--- CHOKUSENN ZUKEI 1 --CLS 3
FOR Y=0 TO 395 STEP 5
LINE (0,Y)-(639,0)
LINE (0,399)-(639,Y)
NEXT Y
END
例 (14):
100
110
120
130
140
150
160
170
180
190
’--- CHOKUSENN ZUKEI 2 --SCREEN 3: VIEW (0,0)-(639,399):
LINE (80,0)-(460,380),,B
FOR I=0 TO 370 STEP 10
LINE (80,I)-(80+I,380)
LINE -(460,380-I)
LINE -(460-I,0)
LINE -(80,I)
NEXT I
END
CLS 3
例 (15):
100
110
120
130
140
150
’--- CHOKUSEN ZUKEI 3 --SCREEN 3: VIEW (0,0)-(639,399): CLS 3
LET PI = 3.14159
INPUT "Input integer.(5-20)"; N
IF N MOD 2 =0 THEN LET M=N/2 ELSE LET M=N
LET ARG=PI/N
6.7. 他のグラフ例
160
170
180
190
200
210
220
230
240
250
260
270
280
LET ROT=2*PI/(3*N)
FOR J=0 TO 3*M-1
FOR I=1 TO N-1
LET X1=COS(ARG*I)*190
LET Y1=SIN(ARG*I)*190
LET PX1=X1*COS(ROT*J)+Y1*SIN(ROT*J)+320
LET PY1=-X1*SIN(ROT*J)+Y1*COS(ROT*J)+200
LET PX2=X1*COS(ROT*J)-Y1*SIN(ROT*J)+320
LET PY2=-X1*SIN(ROT*J)-Y1*COS(ROT*J)+200
LINE (PX1,PY1)-(PX2,PY2)
NEXT I
NEXT J
END
例 (16):
100
110
120
130
140
150
160
’--- EN ZEKEI 1 --SCREEN 3: VIEW (0,0)-(639,399): CLS 3
FOR K=8 TO 1 STEP -0.5
CIRCLE (320,200),200+9.5*(1-K),7,,,8/K
CIRCLE (320,200),200+9.5*(1-K),7,,,K/8
NEXT K
END
例 (17):
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
’--- EN ZUKEI 2 --SCREEN 3: VIEW (0,0)-(639,399): CLS 3
LET PI=3.14159
INPUT " Input integer.(3-20)"; M
LET N=150: LET TH1=0
LET TTH1=2*PI/N: LET TTH2=2*PI/M
FOR I=1 TO N
LET TH1=TH1+TTH1
LET Y1=SIN(TH1)*N/PI
FOR J=1 TO M
TH2=TTH2*J
LET X2=320+(I*COS(TH2)-Y1*SIN(TH2))
LET Y2=200-(I*SIN(TH2)+Y1*COS(TH2))
LET Y3=200+(I*SIN(TH2)+Y1*COS(TH2))
PSET (X2,Y2),7: PSET (X2,Y3),5
NEXT J
NEXT I
END
99
第 6 章 BASIC入門
100
6.8
課題 5
次のグループ A および B から,問題を それぞれ 2 問ずつ選んで,プログラムを作成しなさい。レポー
トはプログラムと,実行結果を印刷したものを 1 組とする。
A 計算のプログラム
(1) 自然数 N を入力として、一般項が an = 2 + 3 × (n − 1) の等差級数の和
∑N
n=1
an を順に出力するプ
ログラム。
∑N
1
(2) 自然数 N を入力として、一般項が bn = 3 × n−1 の等比級数の和 n=1 bn を順に出力するプログ
2
ラム。
(3) 自然数 N を入力として 1!, 2!, 3!, . . . , N ! (階乗) を順に出力するプログラム。
(4) 自然数 N を入力して N が素数か合成数かを判断するプログラム。
(5) N 個の数を入力して合計と平均値を求めるプログラム。最初にデータの個数 N を入力してから,次
にデータを入力するようにする。
(6) 2 元連立一次方程式を解くプログラム。(クラーメルの公式を使う)
(7) 行列のかけ算をするプログラム。始めに行列の大きさを入力して,次に 2 つの行列の要素を入力する。
(8) 10 進数で入力した整数 を 7 進表示に変換して出力するプログラム。
B グラフィックスのプログラム
(1) 極大値および極小値が各々 2 つある多項式関数を作り,そのグラフを描きなさい。
(2) パラメータ表示または極表示された次の例の曲線の図を描きなさい。
• r = a + b cos θ
(a > 0, b > 0) (リマソン)
• x = cos3 θ, y = sin3 θ
θ
• r = sin
3
θ
• r = cos
2
• r = sin 3θ (三つ葉)
(アステロイド)
• x = cos θ, y = 2 sin(2θ + α) (リサージュ)
• r = 1 + cos θ
(カーディオイド)
• x = t − sin t y = 1 − cos t
(サイクロイド)
a, b, α は幾つか値を変えて作成してみよ。
(3) 円,楕円,直線,四角形などを利用して適当な絵を描きなさい。