第 4 回 インターネット、エディタ、表計算(3)

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

4-1. インターネットの仕組み

インターネットはアメリカ国防省が核戦争に耐えられるコンピュータシステム というコンセプトで開発したネットワークです。 他のネットワークと比較して、次のような特徴があります。

  1. 規格書は RFC(Request For Comments) という名前で公開されて いる。
  2. コンピュータとコンピュータの通信を想定している。
  3. ネットワーク同士を接続することが設計に盛り込まれている
  4. ネットワークの媒体を特に問わない(伝書鳩でも可能?! → RFC1149)。 従って、ネットワーク技術が進歩しても存続可能。
  5. 途中の装置が故障した時、バックアップ回線に切替えるなど、ネットワー ク管理も自律的に行う。

IP

インターネットの通信ではインターネットプロトコル(IP)が使用さ れます。 プロトコルとは通信のやり方の規定です。 現在広く使われているのは IP ver.4 です。現在徐々に使われ始めているのが IP ver.6 です。

インターネットでは各ホストやネットワークに対してIP アドレスと いうアドレスを割り当てます。 IP アドレスは 0 から 255 までの数の四つの組で表し、ネットワークアドレ スと、ホストアドレスの組になってます。 IP アドレスは各コンピュータでそれぞれ別々のアドレスがつかなければなり ません。そのため、 IP アドレスは世界的な組織で割り当ての調整が行われて います。 東京電機大学工学部のネットワークアドレスは 133.20 になります。東京電機 大学工学部のコンピュータはすべて 133.20.x.y という形式の IP アドレスが 割り当てられてます。

特定のコンピュータ名から IP アドレスを調べるには

nslookup コンピュータ名
を使います。

インターネットではパケット通信という仕組みで、通信が行われま す。大きなデータもある決まった長さのデータに区切られ、それぞれバラバラ にして送られます。 バラバラにして送ることにより、他の通信と公平に通信が行われ、また、途中 で通信エラーが発生した時も、再送の量を減らすことができます。



通信を行う時、回線を占有すると他の通信ができない。

パケット通信では複数の接続を公平に行える。

一回の伝送量が大きいと途中のエラーですべてを再送することになる。

パケット通信では壊れたパケットだけを再送すれば良い。

インターネットでは、コンピュータによる管理を実現するための仕組みがいく つか用意されています。

ping コンピュータ名
は特定のコンピュータと通信が可能かどうかを、実際に パケットを送って検査するコマンドです。 これは同時にそのコンピュータまでの通信にかかる時間も測定できます。

インターネットは複数のネットワークを接続できます。 ネットワーク同士を接続する装置をルータとかゲートウェイ などと呼びます。 特定のコンピュータまで、どのようなルータを経由するかを調べるコマンドは

tracert コンピュータ名
です(UNIX 系ではtraceroute コンピュータ名)。

演習4-1

  1. ipconfig コマンドを使って自分のコンピュータに割り当てら れた IP アドレスを調べなさい。 (UNIX 系ではifconfig)
  2. www.dendai.ac.jp などのホストの IP アドレスを調べなさい。
  3. www.dendai.ac.jp まで通信が可能かどうか調べなさい。 また通信がどれくらいの時間で可能かも調べなさい。
  4. www.dendai.ac.jp などのコンピュータまで、どんなルータを経由してい るか調べなさい。

WWW の仕組み

WWW の構想はすでに 50 年以上前からありましたが、インターネット上で動 いたのは 1989 年のことで、ヨーロッパの CERN(欧州素粒子物理学研究所) の Tim Berners-Lee 氏が開発しました。 目的はお互いの論文を共有できるシステムを作ることでした。 作られた WWW というシステムは、文書から他の文書へリンクを張ることがで きるというものでした。

その後、 1993 年にアメリカイリノイ大学の NCSA(National Center for Supercomputing Applications)にいた大学生 Mark Andreessen 氏は CERN で 作られた WWW に対して、画像も表示できる「Mosaic ブラウザ」を作り、爆発 的な流行が始まりました。

Mark Andreessen 氏は元 Sylicon Graphics 社会長の Jim Clark 氏と共に Netscape 社を作り、「Netscape Navigator(Mozilla)」を発表しました。一方、 マイクロソフト社は Mosaic の権利を手に入れ Internet Explorer を Windows に組み込みました。

WWW は次の 3 つの技術により実現されてます。

  1. URI(Uniform Resource Identifier)により、世界中の情報を一 元化した方法により名前で指し示すことができる。特に WWW では URL(Uniform Resource Locator) とも言う。
  2. HTML(HyperText Markup Language)により、文書の記述のし方が決められ ている。
  3. HTTP(HyperText Transfer Protocol)により、文書の通信のし方が決めら れている。

HTTP では次のような単純な仕組みで情報をやりとりします。

  1. ブラウザはサーバに「GET 情報の所在地」というメッセージを送る。
  2. サーバは要求された情報を送り返す。

演習4-2

HTTP を実際に使って WWW サーバから情報をとりだそう。

  1. 次のコマンドを打ち、WWW サーバと接続する(80は HTTP のサー ビス番号)。
    telnet edu.net.c.dendai.ac.jp 80
    
  2. HTTP の GET コマンドを次のように打つ(大文字小文字に注意)。
    GET /index.html HTTP/1.0
    
  3. 「enter」キーを二回押すと http://edu.net.c.dendai.ac.jp/index.html の情報が HTML の形式で得られる。

4-2. 電子メールの仕組み

電子メールのやりとりは、 SMTP(Simple Mail Transfer Protocol)というプロ トコルにより行われます。 SMTP により電子メールをやりとりするソフトウェ アをSMTP サーバと言います。

一方、一般のパソコン OS(特に Windows 系)は SMTP サーバを持ってないため、 電子メールのやりとりを行うことができません(使用許諾契約によりサーバ機 能は著しく制限されています)。 電子メールの送信は、どこかの SMTP サーバに頼んで転送してもらうのが一般 的です。 一方、電子メールの受信は、どこかの SMTP サーバに電子メールを受けとって もらい、必要な時にそこから電子メールを受けとるのが一般的です。 受信してある電子メールを読み込むには POP3(Post Office Protocol version 3) というプロトコルが使用されます。

4-3. インターネットと漢字コード

インターネット(電子メール)で使用可能な文字はRFC1468 という文書により定められてます。 その規格の名前は ISO-2022-JP です。

この規格ができた後に、各メーカがパソコンで使用できる文字を追加してしまっ たため、ワープロなどパソコンの中では使用できても、電子メールでは使用で きない文字が次のようにいくつかあります。それぞれ示したような代わりの表 現を使用して下さい。 なお、最近は NTT Docomo がこの規格を無視してハートマークなどの絵文字を 追加しており、携帯電話とインターネット間の情報のやりとりに不都合さを生 じさせています。

漢字の半分の幅で表示されるカタカナ
漢字と同じ幅のカタカナを使用する。
丸つき数字
(1) など、数字と他の文字を組み合わせる。
漢字と同じ幅で表示されるローマ数字
I II III IV など英字の組合せで表現する。

4-4. Meadow のインストール

有名なエディタ emacs の Windows 版 Meadow を使用します。ソフトウェアのぺージの説明にしたがって、 Meadow をインストールしましょう。

Meadow は、Windows の「メモ帳」などと違い、キーボード上の手をホーム ポジションから動かさなくても多彩な機能を使えるように設計されています。 Ctrl や Alt キーを押しながらアルファベットのキーを押すことによりさまざ まな状態に変化します。 このような設計のため使いこなせば便利ですが、使いこなすまでは戸惑うかも 知れません。 操作が分からなくなってしまった時は、 Ctrl-g を押すと、 文字を入力する基本的な状態へ戻ります。

4-5. エディタの基本操作

情報を編集するものをエディタと言います。また、テキストファイルを編集す るエディタをテキストファイルと言います。 ここではどのようなエディタにもある機能を紹介します。

ファイルの作り方

一般的な Windows のソフトウェアでは、初期画面で「名称未設定」という名 前のウィンドウが出ます。 ここに情報を入力した後、保存する際にファイル名を決定します。

一方、Meadow は一般的な Windows のソフトウェアと違い、目標のファイルを 作成する時、まず、ファイル名を指定します。 「Files→Open File...」を選び、ファイル名を入力して下さい。 一番下の画面に「Find file:~/」という表示がでます。この状態でカレントディ レクトリは c:\work になってます。 この画面では Windows のパスの区切り文字はスラッシュ「/」が使えます。 また、円記号「¥」も入力できますが、画面内ではバックスラッシュ「\」が 表示されます。

文字の入力

文字を押すとその文字が入力されます。通常は挿入モードといい、 カーソルのある位置へ文字が挿入されます。 insキーを押すと上書きモードになり、カーソル 位置の文字を押した文字と取り替えるように文字が入力されるようになります。 Backspace キーDel キーで修正ができます。 また「半角/全角 漢字」キーを押すと日本語入力が可能になります。

但し、マイクロソフト Wordでは、押した文字と違う文字(大文字や漢字と同 じ幅の文字)が入力されることがあります。 また、特に Word 2002 は ins キーを押しても上書きモードになりません。

削除、コピー

文字の特定部分を指定して、削除、コピーができます。

通常、ポインティングデバイスを使用して、文字上をドラッグすると、左ボタ ンを押したところから、離したところまでの範囲を指定できます。

Meadow ではさらに、一番最近 Ctrl-Space を押した位置から、カー ソルまでの文字を指定できます (これを利用すると何ページにも渡る領域を複雑なマウス操作なしで指定でき ます)。

「Edit」や「編集」のメニューから「削除」を選ぶと指定領域を削除できます。 一番最近削除した領域は、メモリーの中に保存されます。 この削除した領域を一旦保存しておくメモリーの領域をカットバッファ (またはクリップボード)と言います。 「Edit」メニューの中から「ペースト」を選ぶと、カーソル位置に先ほど削除 したものが挿入されます。 カーソルを移動して、そこで「ペースト」を行うと、そこに削除されたものが 挿入されます。

「Edit」メニューの中の「コピー」を選ぶと、指定領域がただカットバッファ にコピーされます。画面上はなにも変わりません。 指定位置に指定したものをコピーするには、このコピー操作をした後、コピー する位置を指定して「ペースト」を行って下さい。

image of cut buffer

検索、置換

どのテキストエディタでも「検索(Find)」はあるはずです。

Meadow では Ctrl-s で検索ができます。 探したい文字を入れていくと、入力の途中でも検索を行います。 次の候補を見つけたいときはさらに Ctrl-s を入力します。 目的の位置へ移動できたらEsc キーを押します。 途中で検索を止めたくなったらCtrl-gを押します。 文書を最後から最初の方へ検索する時はCtrl-rを押します。

また、どのテキストエディタでも「置換(replace)」はあるはずです。

Meadow では「Search→Query Replace」を使用します。 これはひとつずつ確認しながら置換します。 操作は次の通りです。

Space キー
置換する
Backspaceキー
置換しない
Esc キー
置換を途中で終了する
!
最後まで確認せずに置換する

なお、検索や置換を行うとき、現在のカーソルの位置が重要になります。 通常、検索や置換は現在のカーソルより後ろに対して作用します。 ファイルの全体を対象にしたい場合は、カーソルをファイルの先頭に持っていく 必要があります。 Meadow では Alt+Shift+, (Alt+<) を打つとファイルの先頭にカーソルが 動きます。また、 Alt+Shift+. (Alt+>) を打つとファイルの最後にカーソ ルが移動します。

演習4-3

  1. 次の文字を入力しなさい。
    qwer
    asdf
    zxcv
    
  2. 「asdf」をコピーし、「qwer」の後ろに挿入しなさい。
    qwerasdf
    asdf
    zxcv
    
  3. 「asdf」を「ghjk」に置換しなさい。
    qwerghjk
    ghjk
    zxcv
    

4-6. カットバッファ

上で説明した「カットバッファ」は、アプリケーションソフトウェア間のデー タのやりとりに使えます(Windows では Macintosh と同様にクリップボー ドと呼ぶようです)。 例えば、Web ブラウザの内容の一部を電子メールで送ることも可能です。

なお、さまざまなソフトウェアでカット、コピー、ペーストの機能は実現され ていますが、それぞれ微妙に呼び方が異なることがあります。 以下はそれぞれのソフトウェアでの画面写真です。

メモ帳
Netscape
Almail
コマンドプロンプト
Meadow
OpenOffice の表計算

演習4-4

次の手順に従って電子メールを送りなさい。

  1. 宛先 literacy@edu.net.c.dendai.ac.jp へ電子メールを送る準備をする。
  2. 次の内容をマウスで選択する。
    0000000 5089 474e 0a0d 0a1a 0000 0d00 4849 5244
    0000020 0000 0902 0000 2502 0302 0000 2200 8362
    0000040 0026 0000 5009 544c 0045 0000 4f2f ff4f
    0000060 ffff f36c c2ff 0000 9e0b 4449 5441 9c78
    0000100 9ded 8e4b aae4 8612 8f2d ac4a d522 8b23
    0000120 d4fd fa91 a0ec 157b 4796 e62d 4ae7 8677
    0000140 2a52 6289 1795 3f12 1378 f380 6e75 52d0
    0000160 a665 f8ed a5fd 360d ece0 07f8 f4f9 0f32
    0000200 26cf 8640 6537 4410 1dff ed39 abdf 552b
    0000220 1c73 a074 b1f8 c09c 4ae0 1981 1ac4 5928
    0000240 8037 052f e066 9026 fedf 15f6 0a5f c0c4
    0000260 c83f 1338 a1f9 3e5f 3106 4bce fefb 5223
    
  3. メニューの「Edit→Copy」を選ぶ。
  4. 電子メールの送信画面を選択し、本文を書く欄の中に、挿入する位置をマ ウスで指定する。
  5. メニューの「Edit→Paste」または「編集→貼り付け」を選ぶ
  6. メッセージを送信する。
  7. 正常に送れたら、その旨のメッセージが返ってくる。

補足: 画像も同様の操作ができます。 ウィンドウの表示を画像としてカットバッファ(クリップボード)|に取り込み たい時は、「Alt+PrtSc(PrintScreen)」を押します。

4-7. 表計算(3)

演習4-5

次の集計表を完成させなさい。

ABCDE
1tax rate0.05
2'PriceNo.SubtotalTaxTotal
3703???
4205???
5402???
6304???
ヒント

税率(Tax rate)は一か所にだけ記入するので、参照するには絶対参照を使う

演習4-6

下の成績処理表を完成させなさい。

  1. 各点数に対して順位を求めなさい。 順位は rank 関数を使用しますが、順位を求める領域は始めに確定して固定さ れてますから、順位を求める領域だけは絶対参照する必要があります。
  2. 平均点(Average)、標準偏差(Stdev)を求めなさい。
  3. 各点数に対して偏差値を求めなさい。 偏差値は次の式から求めます。平均点、標準偏差への参照は絶対参照を使いま す。
             (素点-平均点)
    偏差値 = ------------- × 10 + 50
               標準偏差
    
AB
1AverageStdev
2??
3PointRank偏差値
410??
530??
660??
750??
840??
補足

素点をx_i、平均点をupperbar x とした時、 標準偏差σの定義は次の式のとおりです。


V = frac{sum {i=1} {n} ( x_i - upperbar x )^2}{n}

~ = frac{sum {i=1} {n}  x_i^2}{n} - upperbar x ^2

sigma = sqrt V

演習4-7

東京電機大の工学部第一部大学入試センター試験利用試験で情報通信工学科は 次のような集計を行います。

国語
素点のまま。100点満点
数学
素点のまま。「数学I・数学A」「数学II・数学B」とも100点満点
理科
「総合理科」「物理IB」「化学IB」「生物IB」「地学IB」の中から高得点 のもの。素点100点満点を二倍する。
外国語
素点のまま。200点満点

次のような素点表があった時、各受験生に対して合計得点、順位、偏差値を求めなさい。 (なお、ここで作成したシートは演習4-12で使用します。

ABCDEFGHIJKLM
1人数平均点標準偏差
2???
3受験番号国語数学I・A数学II・B総合理科 物理IB化学IB生物IB地学IB外国語得点順位偏差値
4C100150707563456500130???
5C10026562335471076098???
6C1003608093070800065???

他のアプリケーションとのやりとり

表計算ソフトウェアやデータベースなどでもっとも基本的なデータ形式は、 CSV(Comma Separated Value)と呼ばれる、カンマ「,」でデータを区 切った形式です。 この形式でやりとりする限りは、ほぼ間違いなくデータ交換がうまくいきます。

一方、電子メールや Web など通常のテキストファイルの形式でデータをやり とりするにはどうすれば良いでしょうか? 作成した表を電子メールなどで送るには、OpenOffice の表の部分を選択して、 Copy & Paste で電子メールソフトにデータを貼り付けると、各々のデー タが Tab コードで区切られた形式で貼りつけられます。

しかし、一方、電子メールや Web 上のデータに関しては、データ同士が Tab で区切られていないかぎり、 Copy & Paste ではうまくいきません。 空白などで区切羅れ手いたらどのようにすれば良意でしょうか? この場合、次のような手順で読み込みます。

  1. テキストエディタで一旦テキストファイルを作成し、ディスクに保存します。
  2. OpenOffice 側で「File→Open」でファイル名を指定し、「ファイルの種 類」から、「テキスト CSV」を選美、「OK」を押します。
  3. 区切理のオプションとして、「Tab」「Space」「Merge delimiters」を選 択します。
  4. もし、漢字になるはずの部分が白い四角で表示されていたら、「セルスタ イル」の「標準」を右クリックして変更を選び、「フォント」のフォントの種 類を両方とも「MS P ゴシック」に変更します。

演習4-8

次の表を上記の方法で表にし、表を完成させなさい。 合計は、数量、小計、値引き、販売価格について求めなさい。そして、 出来上がった表を宛先 literacy@edu.net.c.dendai.ac.jp へ電子メールで送 りなさい。


割引率  30
商品名  単価 数量 小計 値引き 販売価格
りんご   120   5 
デコポン 300   3
バナナ    60  10
キウイ   100   7
いちご   400   5
合計  

IF と論理関数

表計算の関数には IF という関数があります。

AB
11=IF(A1=3;5;10)

このような場合、B1 の値は A1 の値が 3 の時だけ 5 に、それ以外の時は 10 になります(この場合 10)。 IF を使うと一つの式で表せなかったような計算をすることができるようにな ります。

演習4-9

二次方程式 a x2+b x + c =0 (a≠ 0) の実根の数は、判別式 D = b2 - 4 a c の値により、次のようになります。

D>0 のとき
2個
D=0 のとき
1個
D<0 のとき
0 個

これを計算させましょう。

ABCDE
1'a'b'c'判別式の値実根の個数
2102030=B2*B2-4*A2*C2=if(D2>0;2;if(D2=0;1;0))

そして、次の方程式の実根の数を求めなさい。

  1. 2 x2 - 3x + 1 =0
  2. 4 x2 + 4x + 1 =0
  3. x2 + x + 1 =0

演習4-10

コンピュータのソフトウェアの設計では、どんな入力が来ても正常に動作する ことが期待されます。一番初めに取り上げた一次方程式の解法においても a=0 が入力されることは予想され、その場合も正常に動作するこ とが期待されます。

方程式 ax+b=0 の解は a=0 を考慮すると、abの値に より、次のようになります。

a≠0 のとき
x=-b/a
a=0 のとき
b≠0 のとき
解なし。
b=0 のとき
任意の x は式を満たす。

これを計算させましょう。

ABC
1'a'b'ax+b=0 の解
21020=if(A2=0;if(B2=0;"任意の値";"解なし");-B2/A2)

このように表を作ると、aが 0 の時でも解が求まります。 次の方程式を解きましょう。

  1. 2x + 4 = 0
  2. 2x + 0 = 0
  3. 0x + 4 = 0
  4. 0x + 0 = 0

註: このように式に文字列を入れる時は、ダブルクォーテーションマークで 「"文字列"」というように括ります。

演習4-11

二次方程式 a x2+b x + c =0 (a≠ 0) の実根を求めるシートを作りなさい。 もし実根が無かったら「解なし」と表示しなさい。 そして次の問題を解きなさい。

  1. 2 x2 - 3x + 1 =0
  2. 4 x2 + 4x + 1 =0
  3. x2 + x + 1 =0
ヒント

解は最大 2 個ありますので、解を計算するセルは 2 個用意します。 一個目のセルは次のような働きをするようにします。

D>0 の時
大きい方の根の表示
D=0 の時
重根の表示
D<0 の時
「解なし」の表示

一方、二個目のセルは次のような働きをするようにします。

D>0 の時
小さい方の根の表示
D=0 の時
何も表示しない
D<0 の時
何も表示しない

演習4-12

演習4-7で作成したシートに対してさらに「合格人数」を入力できるよう にして、合否判定を行えるようにしなさい。

ABCDEFGHIJKLMN
1人数平均点標準偏差合格人数合格最低点
2?????
3受験番号国語数学I・A数学II・B総合理科 物理IB化学IB生物IB地学IB外国語得点順位 偏差値合否
4C100150707563456500130????
5C10026562335471076098????
6C1003608093070800065????
  1. 合格人数から LARGE 関数を使用して合格最低点(100 人合格させるなら 100 番目の点数)を求めなさい。
  2. 得られた合格最低点と各素点から IF 文を使用して「合格」「不合格」を それぞれ表示させなさい。

演習4-13

次の方程式の組みを満たす x, y の組みを求めるよう なシートを作りなさい。 但し、 ad-bc=0 の時は、解 が無限に存在したり、解がなかったりするので、注意すること。

ax+by=e
cx+dy=f

そして、次の連立方程式を解きなさい。

  1. 
Lbrace{ matrix 2 1 {2 x + 3 y = 8 } {3 x - y = 3 } }
  2. 
Lbrace{ matrix 2 1 {2 x + 0 y = 8 } { x -  y = 3 } }
  3. 
Lbrace{ matrix 2 1 {4 x - 2 y = 8 } {2 x - y = 3 } }
  4. 
Lbrace{ matrix 2 1 {4 x - 2 y = 8 } {2 x - y = 4 } }
  5. 
Lbrace{ matrix 2 1 {2 x + 3 y = 8 } {0 x - 0 y = 3 } }
  6. 
Lbrace{ matrix 2 1 {2 x + 3 y = 8 } {0 x - 0 y = 0 } }
  7. 
Lbrace{ matrix 2 1 {2 x + 0 y = 8 } {0 x + 0 y = 0 } }
  8. 
Lbrace{ matrix 2 1 {0 x + 0 y = 0 } {0 x + 0 y = 0 } }
ヒント

二元一次方程式は二つの直線の共通部分と考えることができます。平面上の二 つの直線の関係は次のうちのどれかになります。

つまり、与えられた二つの式が平行かどうかを調べてから、さらに平行なら一致す るかどうかを調べると、この場合分けができます。 但し、abcdの組が 0 になると直線を表さなくなりますので、話は複雑になります。 まず、abのどちらかは 0 でなく、かつ、 cdのどちらかが 0 でない場合を考えましょう。

なお、「解は 5x+ 3y = 1 を 満たす全ての(x, y)」と文字列に実際の 値を入れて表示するには次のようにします。

="文字列1"&A1&"文字列2"&...

4-8. 宿題

次回までに Gimp をダウンロードしておいて下さい。 また、Gimp のインストールに使いますので、モノサシを持ってきて下さい。


坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科