] > Computer, Spread Sheet(2)

第 3 回 コンピュータ, 表計算(2)

本日の内容


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

3-1. 現代コンピュータのできるまで

以下の人物名では敬称を略しています。

計算の原理の発明

1930 年代にアラン・チューリングなどによる現代数学の研究により、計算自 体をモデル化するために Turing 機械と呼ばれる理論的な計算機が定義されま した。 現在の理論計算機科学でもこの Turing 機械を用いられています。

電子回路で組まれた最初の計算機は 1930 年代から 1940 年代にかけてアイオ ワ州立大学で作られた ABC(Atanasoff-Berry Computer) という機械です。 その後、Atanosoff 教授の弟子、ペンシルバニア大学の Mauchly らにより作ら れたのが ENIAC です(1946年)。スポンサーは陸軍です。弾道計算のために作られまし たが、実際は水爆の設計に使われました。 ENIAC では計算をさせるためのプログラムは配線により実現されてました。

フォン・ノイマンは ENIAC の路線を踏襲し、さらにプログラムをメモリーに 内蔵するコンピュータ MANIAC を作りました(1952年)。 以後、コンピュータのプログラムはすべてメモリーに内蔵されるようになるた め、プログラムをメモリーに内蔵するコンピュータをノイマン型と言うように なります。

プログラムをメモリーに入れるために、紙カードが使われました。 これはもともと自動織物機の制御のために 19 世紀に発明されたもので、電子 計算機が作られる前からアメリカの国勢調査などで使用されてました。 当時のコンピュータは紙カードに一枚につき一行ずつ書かれたプログラムを紙 カードリーダにセットし、 start ボタンを押すと、コンピュータがプログラ ムをメモリーに読み込んで実行し、プリンタに結果を出力するというものでし た。

MIT に所属し、後にARPA の情報処理技術室の初代責任者となる J・C・R・リックライダーはコンピュータはインタラクティブに対話ができる べきだと考え、1952年から防空情報通信システムの設計に携わり、世界初のリ アルタイム対話型コンピュータを実現しました。

パソコンの歴史

電卓用の回路を開発するため、日本のビジコン社の嶋正利がアメリカのインテ ル社と打合せしたうえで設計したのが世界初の 1 チップの CPU 4004 です (1969年)。 これは、各桁のデータを 4 bit で表し、 0 から 15 のうち 0 から 9 を使っ て10 進数を扱う 4bit コンピュータです。 その後、それを拡張した 4040 が出て、 そして、各データを 8 bit に拡張し た 8008 が出て、 8080 が登場しました(1974)。 8080 の入出力形式を TTL というIC の規格に合わせたのが 8080A という CPU です。 その後、8080A を 16 bit に拡張したのが 8086 です。 以後 80186, 80286 と続き、 80386 からは 32 bit になりました。 また、内部的には 8086 で外部的には 8bit である CPU として 8088 も作ら れました。

8080 が出た時、Altair 8800 という画期的なコンピュータの組み立てキット が登場しました(1974年)。 これは当時コンピュータと名のつくものがすべて数百万円以上したのに対して 画期的な値段(256B メモリで $397)でした。 そして、当時ミニコンなどでしか動かなかった BASIC 言語を Altair 8800 用 に作ろうとビル・ゲイツが企画し、ポール・アレンが半年がかりで作成しまし た。 そしてこの二人はパソコン用の BASIC 言語の権利を売ったお金で Microsoft 社を興します。

ステファン・ウォズニアック は6502 という安価な CPU をみつけ、これにメモ リと 16 進数のキーボードを付けたコンピュータ作り、スティーブ・ジョブス とともに Apple 社を作り発売しました(1976年 $666.66)。これが完成品とし ての初めてのパソコン Apple I になります。 その後、タイプライター型のキーボードを付け、テレビに接続でき、 BASIC 言語が動く Apple II を販売しました(1977年 $1295)。 Apple II は内部回路などを公開したため、支持を集めていきました。 一方、 IBM は CPU として 8088 を採用して Apple II に良く似たコンピュー タ The PC を発売しました(1981年 約 $1500)。 こちらのコンピュータも回路図を公開したため、たちまち人気になりました。 OS はマイクロソフト、CPU はインテルと重要な部品が外注でしたので、後々 誰でも部品さえ組み立てれば互換機が作れるという土壌ができました。 その後、 PC/XT を経て PC/AT が出ました。PC/AT は 80286 CPU を搭載し、 AT バスと呼ばれる周辺機器用の拡張規格ができました。 これは後に ISA バスと呼ばれ、1998 年の PC98 規格で廃止になるまで ISA バス用の周辺機器が開発されました。 そのため、しばしば現代のコンピュータは AT 互換機と呼ばれています。 しかし、 PC/AT は 80286 という 16 bit CPU を搭載しているため、今使われ ているソフトウェアはほとんど動作しません。また、 21 世紀に入って ISA バスはほとんど姿を消しました。そのため、 PC/AT と現在のパソコンの互換 性はソフトもハードもほとんどありません。 現代のコンピュータの原点と言うべきコンピュータは Compaq が出した 80386 CPU を持つ DeskPro 386 と呼ばれるものです(1986年)。 PC/AT は CPU と ISA バスが直結でしたが、 DeskPro はチップセットと言う ISA バスと CPU バスとを分離するための部品を採用したもので、 これにより、周辺機器と互換性を保ったまま CPU の機能や速度を上げること ができるようになりました。 CPU に 32 bit が使われ、周辺機器とチップセットによって接続される仕組み は現在のパソコンでも使われています。

ソフトウェアの発明

初期のコンピュータは全て機械語で動作していました。 そこに登場したのが会計用の言語 COBOL と科学計算用の言語 FORTRAN です。 変数を使い、繰返し計算をするための構造を持っていました。 その後、ソフトウェアの管理を考える必要性が生じそのため構造化プログラミ ングと言う概念が生まれました。これを体現したのが ALGOL です。 C 言語や PASCAL 言語はこの ALGOL を祖とします。 その後、 IBM は目的別言語に対して、統一言語を作ろうと PL/I を 作りました。 また教育用のため、 FORTRAN を簡約化した言語 BASIC が作られました(1964 年)。 そして、 ALGOL 60 を改良したシミュレーション用言語 SIMULA 67 は、初め てオブジェクトクラスの概念を取り入れました。 C++ はこの SIMULA を祖と しています。 その後、様々なプログラミング方式が考案されました。 リスト表現の処理に特化した関数型言語 LISP などが生まれました。

リックライダーが携わった対話型コンピュータのシステムの開発は、その後 1960 年代に入って Multics という超高機能な OS の開発へと続いていきまし た。 高級言語 PL/I で記述され、高いセキュリティも考慮され、マルチ CPU にも 対応するなど様々な理想が追求されましたが、当時のコンピュータの性能は省 みられなかったため、プロジェクトは成功しませんでした。 そして、メンバーのうち AT & T は早々に離脱しました。 離脱したメンバーは研究所で Multics を簡略化した OS Unics を作成しまし た。 その後、名前を UNIX に変え、システムも機械語から C 言語で書かれるよう になり、広まっていきました。

UNIX を参考にして作られた世界初のパソコン用 OS CP/M がディジタルリサー チ社から発売されました(1974 年 $70)。 その後、8086 用にも CP/M 86 が作られました。 IBM は The PC を発売する時、 CP/M 86 を採用しようとディジタルリサーチ 社を尋ねたところ、社長が不在でした。そのため、 Microsoft 社に声をかけ たところ Microsoft は CP/M 86 のコピー品の権利を買い入れ IBM に納品し ました。IBM は PC-DOS という名前で販売し、Microsoft も MS-DOS と言う名 前で販売しました。

1970 年代に Xerox のパロアルト研究所では、アラン・ケイ氏が Dynabook 構 想というものを考えてました。 当時パーソナルコンピュータなるものすら発想がなかった時代ですが、 これからは人間が情報を得るのに、普通の本から Dynabook と呼ばれるコンピュータにとって代わるというものです。 この Dynabook は 500 ドルくらいで、子どもでも本と同様に取り扱え、 2M 位のメモリーと通信機能を備えたものです。 Dynabook を実現するために開発されたのがオブジェクト指向言語 SmallTalk です。 これはプログラムやコンピュータ資源まですべてをオブジェクトと見なし、あ らゆるコンピュータ操作はオブジェクト間のメッセージのやりとりのみに単純 化すると言うものです。 さらに SmallTalk ではグラフィック画面を持ち、オブジェクトを特定のマー クで表し(アイコン)、マウスなどのポインティングデバイスによりアイコンの メニューを通じてメッセージを送るようになってました。

Apple 社の Steave Jobs はこの Xerox のパロアルト研究所を見学し(1979年)、 SmallTalk を見て、Dynabook 構想に共感しました。 そして Apple 社の出したのが Lisa と呼ばれる 200 万円位するコンピュータ でした。それは商業的に成功しませんでしたが、それを改良、安価にしたのが Macintosh でした(1984年 $2500)。 Macintosh はその後カラー化され、 Macintosh II となりました。 当初は 2000 年頃に Macintosh III として Dynabook が実現されるという話 もあったようですが、2004 年現在、まだ Dynabook は実現されていません。

Macintosh が出た 1 年後、Microsoft 社は MS-DOS にグラフィック画面で Macintosh に似せた操作ができるようにした Windows 1.0 を発売しました。 その後、 Apple 社は Windows が Macintosh に似ていることで Microsoft 社 を訴えますが、裁判で敗訴しました。 一方 Windows は Windows 95 で 80 年代後半の Macintosh に外見上そっくり になりました。

日本のパソコン

日本初の個人で買えそうな値段のマイコンは NEC の TK-80 です(1976年)。こ れは 8080A CPU に LED と 16 進数のキーボードがついたキットです。 その後 TK-80BS という追加装置が出て、テレビに接続でき、タイプライター キーボードが付き、 BASIC 言語が利用できるようになりました。 次に NEC が出したのが PC-8001 というもので、これ以降、パーソナルコン ピュータという言葉が使われるようになりました(1979年)。 PC-8001 は Z-80 互換 CPU が使われ、タイプライターキーボードが付き、専 用モニターに接続して BASIC 言語を使用するものでした。 この後、各社で 8bit CPU を搭載した BASIC 言語を使用するパソコンが発売 されました。 そして NEC からは PC-8001 を拡張したPC-8801 が発売され、その後 16 bit CPU 8086 を搭載した PC-9801 が発売されました(1982年)。 当時 PC-9801 と同じ時期に PC-100 というIBM PC の互換機が同じ NEC から 発売されましたが、PC-100 の後継機は出ず、以後 NEC は PC-9801 シリーズ が中心になります。

花札のメーカだった任天堂からファミリーコンピュータが出たのは 1983年。 CPU は Apple II と同じ 8bit CPU 6502 相当品でした。 一方、ゲーム用途の低価格パソコンとして 8bit CPU Z80 を搭載し、BASIC 言 語の他、ゲームカートリッジを差し込めるようになっている MSX 規格が、 アスキー社とマイクロソフト社共同で作られたのも 1983 年でした。 その後、ソニーや松下などの後発メーカから MSX 規格のパソコンが発売され ました。

その後、国内ではシャープの X68000 や富士通の FM-Towns など今から思えば 良いハードウェアは登場してましたが、ワープロの一太郎、表計算の Lotus 1-2-3 などの定番ソフトの量で PC-9801 の一人勝ちの時代が長く続きました。 当時のパソコンでは、漢字を画面に出すために特別の装置を組み込み、 MS-DOS を改造する必要がありました。 そのため、IBM PC の互換機も何度か参入してきましたが、日本の市場には入っ て来れませんでした。 ただ、東芝から発売された、勝手に Dynabook を名乗っていた、漢字表示機能 を搭載した IBM PC 互換のラップトップパソコンは、その小型さから一定の支 持を得ていました。

日本 IBM は VGA グラフィックアダプタに文字を図形として出力するディスプ レイドライバを作成し、 PC-DOS version 4 /V として発売しました(1989年)。 この技術を使うと、漢字の出力をソフトウェアで全て処理できるようになるた め、外国製のソフトウェアも PC-DOS/V 上で動き、改造せずに漢字を入力でき るようになるものもありました。 この DOS/V 技術(DOS の文字出力を VGA グラフィック画面に表示する技術)に より、 IBM の互換機の市場が日本に作られました。当時、 PC-9801 は高値安 定だったため、安い IBM 互換機が売れるようになりました。

DOS/V が出た後、Windows 3.1 が登場しました。Windows 3.1 はまだまだ Macintosh に似ているというレベルにまで達してませんでしたが、それでも一 太郎、 Lotus 1-2-3 と必要なアプリケーションが出ました。 MS-DOS を使う上では PC-9801 と DOS/V の動く IBM 互換機は使い勝手が違い ました。しかし、 Windows 3.1 を使えば違いはなかったため、 DOS/V の動く パソコンのシェアは拡大していきました。 そして、 Windows 95, 98 と出るうちに PC-9801 は市場から消えていきまし た。

年表

年代コンピュータの発達ソフトウェアパソ コンの発展日本のパソコン
1930Turing 機械
1940初の電子計算機
1950ノイマン型計算機、対話型コンピュータ、構造型プログラ ミング言語COBOL, FORTRAN, ALGOL
1960インターネット、 1 チップ CPU、オブジェクト指向Multics, UNIX, LISP, BASIC, PL/I, SIMULA67
1970 Dynabook 構想 SmallTalkAltair 8800, CP/M, Apple IITK-80
1980 IBM the PC, Macintosh, Compaq DeskPro 386 NEC PC-9801, ファミコン, DOS/V

3-2. コンピュータの仕組み

コンピュータには、ハードウェアと呼ばれる装置と、それに与え るソフトウェアという情報があります。

ハードウェア基本構成

コンピュータの基本構成図 コンピュータは次のような部品で成り立ってます。

  1. 情報を記憶する「メモリ」という装置と、
  2. 記憶されている情報を元に制御を行う「CPU(Central Processing Unit)」と、
  3. 情報を入れたり出したりする「I/O(Input/Output)」

これらが「バス」という配線方式でつながってます。

最近のコンピュータのハードウェア

最近のコンピュータは、さらに次のようになってます。

  1. メモリの概念図 メモリは記憶領域をいくつも持ち、それぞれにアドレスと呼ば れる番号がついています。 各記憶はアドレスを指定して読み書きできます。 情報を任意のアドレスから取り出せるメモリのことをRAM(Random Access Memory)と呼びます。 通常、 RAM の内容は電源を切ると消えてしまいます。
  2. CPU はノイマン型と呼ばれる方式により設計されています。 ノイマン型では、コンピュータが実行するプログラムはメモリーに置かれ、 CPU は 0 番地、 1 番地と番地順にメモリの内容を命令と解釈しながらプログ ラムを処理します。
  3. I/O として、次のようなものが接続されています。
    入力装置
    キーボード、マウス
    出力装置
    画面、スピーカ
    補助記憶装置
    フロッピーディスク、ハードディスク、CD-ROM
    通信装置
    イーサーネットカード、モデム
  4. コンピュータの電源を入れると、「接続されている装置を把握して、補助 記憶の内容の一部をメモリーに読み込み、実行する」というプログラムがコンピュー タに内蔵されています。これは不揮発性(電源を切っても消えない)メモリに蓄え られています。 不揮発性メモリをROM(Read Only Memory)と呼びます。 「コンピュータの電源を入れた時にコンピュータの状況を把握して補助記憶上 のプログラムを読んで実行する」というプログラムを通常 BIOS(Basic I/O System)と呼びます(または IPL(Intial Program Loader)と呼ぶこともあります)。

演習3-1

  1. BIOS の画面(ハードウェアを管理する画面)にする方法をマニュアルとし てまとめなさい。
  2. 電源を入れた時、パスワードの入力を必要とするように設定する方法をマ ニュアルとしてまとめなさい。

ソフトウェア

一番最初に作られたコンピュータでは、プログラムは配線により組まれてまし た。しかし、現代のノイマン型コンピュータではプログラムは全てメモリーに記憶 されるデータとして扱われます。 プログラムはコンピュータを動作させるのに必ず要るものですが、「装置(ハー ドウェア)」ではありません。 コンピュータを動作させる装置以外の、データやプログラムのことをソフ トウェアと言います。

オペレーティングシステム(OS)

ハードウェアの項で説明しましたように、基本的には CPU はメモリー内の 0 番地から一つのプログラムを実行するだけの機能しかありません。

ハードウェアを変更せずにコンピュータに幾つかのプログラムを処理させるた めには、複数のプログラムを取り扱うようなプログラムが必要です。 そのようなプログラムをオペレーティングシステム(OS)とか「基本 ソフト」と呼びます。OS に与えるプログラムをアプリケーションソフト ウェアとか「応用ソフト」などといいます。

OS はプログラムの管理の他に次のような管理もします。

家電に組み込まれているコンピュータのように一つのプログラムしか実行しない コンピュータには、基本的にはオペレーティングシステムは必要ありません。 但し、画面に字を出す機能など複数の製品でも同じような機能が必要なので、最近 は「組み込み用 OS」が入ってます。 日本製の携帯電話の多くには ITRON が入ってます。

OS は、複数のプログラムを実際に動かしたり機器を管理したりする部分 (カーネル(核))と、 利用者とコミュニケーションをする部分(シェル(殻))に分けること ができます。 ユーザからは複雑な核の部分は見えず、殻の部分だけが見えます。 シェルには、文字によるコミュニケーションをするシェル(CUI シェル)とグラフィックによるコミュニケーションをするシェル(GUI)シェルが あります。

3-3. Windows

マイクロソフト Windows は OS と呼ばれるものです。 OS は人間がコンピュータを操作し、プログラムを実行することを可能にしま す。

オブジェクト指向とGUI

コンピュータはソフトウェアであるプログラムの指示(命令)に従って動作します。 従って、素朴な考え方をすれば、指示の全てはコンピュータが対象になります。 しかし、特定のプログラムに複数のデータを扱わせるような場合、主語がコン ピュータの構文は考えづらいです。 また、一般にデータはそれを処理するプログラムがないとコンピュータは処理 できませんが、人間の思考パターンとしては、データを主語として考えたい場 合があります。

例3-1

料理の作り方

主語を「あなた」にした場合
  1. あなたは大根を 1/4 本用意しなさい。
  2. あなたは大根を洗い、そして皮をむきなさい。
  3. あなたはおろし金を使って、大根をおろし、おろしたものをボウルに保存 しなさい。
  4. あなたは、ボウルに保存したものを皿に盛り付けなさい。
料理の対象に注目した場合
  1. 材料:大根 1/4 本
  2. 大根は洗って皮をむきます。
  3. おろし金で大根をおろします。
  4. できあがったものを皿に盛り付けます。

オブジェクト指向とは、コンピュータの中にオブジェクトというも の(簡単なアプリケーションソフトのような情報処理の単位)を作り、それに対 してメッセージを送ることでオブジェクトの操作を行おうというも のです。 コンピュータ操作はコンピュータそのものに対して命令の羅列により情 報を処理していました。 しかし、オブジェクト指向では、情報はオブジェクトに対してメッセージとし て送られ、さらに別のオブジェクト間でメッセージをやりとりして情報交換し ます。

アラン・ケイらが開発した SmallTalk というオブジェクト指向言語はグラフィッ ク機能が実現されていました。 ユーザの操作をグラフィック画面を通して行う GUI という機能もオブジェク ト指向の考えに基づいて構築されてました。 オブジェクト指向では操作の対象となるものを全てオブジェクトとして考え、 オブジェクトにメッセージを送ることでコンピュータを操作するようになって ました。 そのため、画面上に個々のオブジェクトを表すためのアイコンと呼ばれる絵を 表示し、そのアイコンにメッセージを送る方法をとりました。 SmallTalk ではポップアップメニューという方式をとりました。これはアイコ ンを指定してメニュー表示ボタンを押すとメニューが表示される仕組みです。 階層構造がある場合はさらに別のメニューが表示されます。 一方 SmallTalk を真似た Macintosh ではプルダウンメニュー方式という方式をと りました。これは、画面上部にメニューを表示する領域を用意し、アイコン を指定するとそのアイコンに送ることができるメッセージの一覧をメニューに 表示するものです。階層構造があるものは、メニューが垂れ下がるようになっ てます。 Windows ではこのポップアップメニューとプルダウンメニューの操作が混在し ています。アイコンを右クリックするとポップアップメニュー、アプリケーショ ンソフトの操作はプルダウンメニュー、スタートボタンを押すと、プルダウン メニューを 90度横に倒したものが表示されます。

演習3-2

次のウィンドウ上のアイコンにはどのようなメッセージを送ることができるか 調べなさい。

ヒント: アイコンを右クリックしてみる

  1. コマンドプロンプト (または MS-DOS プロンプト)
  2. ゴミ箱
  3. work のショートカット

参考

アラン・ケイらは SmallTalk をさらに改良し、現在 Squeak というソフトウェ アを開発し、無料で配布しています。 Squeak は Windows, Macintosh, UNIX の他、 Windows CE や Zaurus でも動 作します。

CUI

リックライダーが開発した対話型という仕組みは今でもコマンドプロンプトや MS-DOS プロンプトとしていきています。 これはユーザが命令を送ると、答をコンピュータが返すということをインタラ クティブに行うものです。 利用者は命令を送りますが、その文法は基本的には英文法と同じようなもので す。つまり、さいしょに動詞(コマンド) を書き、空白で区切って目的語(引数) を書きます。 最後に Enter キーを押すと、命令の入力が終了したことを伝えることになり、 コンピュータは処理を開始します。 例えば、echo abc[Enter]という命令は、 echoというコマンドに abc という引数を渡します。 echoというコマンドは引数を単純に送り返す(画面に出す)もので すので、この命令を打つと abc と画面に表示されます。

演習3-3

MS-DOS プロンプトやコマンドプロンプトに次のコマンドを入れ、何が返って くるか調べなさい。 そして、どんな意味のコマンドなのか想像しなさい。

  1. ver
  2. time
  3. date
  4. echo def
  5. rem abc
  6. cls
  7. exit

3-4. 表計算(2)

演習3-4

二元一次連立方程式を解くシートを作りなさい。

{ ax + by = e ( ad- bc0 ) cx + dy = f
ABCD
1'a'b'e'x
2123?
3'c'd'f'y
4456?

シートを作成した後、以下の連立方程式を作成したシートを使って求めなさい

  1. { 2x + 3y = 8 3x - y = 3
  2. { 4x - 2y = 8 x + y = -3
  3. { x - 3y = -2 3x + 2y = 5
解答
  1. 連立方程式の解の公式を求めます。
    { ax + by = e ( ad- bc0 ) cx + dy = f
    { adx + bdy = de bcx + bdy = bf
    (ad- bc) x = de - bf
    x = de - bf ad- bc
    同様に
    y = af - ce ad- bc
  2. D2 セルに =(b4*c2-b2*c4)/(a2*b4-b2*a4) を、 D4 セルに = (-a4*c2+a2*c4)/(a2*b4-b2*a4) を入れる。

領域

指定

セル上で次のことをすると長方形の領域を反転(指定)することができます。

  1. ポインターをドラッグする。
  2. Shift を押しながらカーソルキーを動かす。

領域の選択はいろいろな用途に使えます。

  1. 削除、コピー、貼り付けなどの Windows の編集機能
  2. 領域のふちをドラッグ & ドロップすると、領域の移動ができる。
  3. 領域のふちを Ctrl キーを押したままドラッグ & ドロップすると、 領域のコピーができる。
  4. 領域を指定してから入力を行うと、 Enter キーを押すたびにカーソルが 領域内に収まるように動く。

関数

領域を引数とする関数があります。 領域を関数の引数として指定する場合、長方形の領域のうち「左上のセル名: 右下のセル名」という形で指定します。 もちろん、上記のようにマウスのドラッグや、カーソルキーの移動でも指定で きます。

以下は領域を引数とする関数の例です。

SUM(X)
領域 X 内の数を合計を求める。
AVERAGE(X)
領域 X 内の数の平均を求める。
STDEV(X)
領域 X 内の数の標準偏差を求める。
COUNT(X)
領域 X 内でデータの入っているセルの数を求める。
MAX(X)
領域 X 内の数の最大値を求める。
MIN(X)
領域 X 内の数の最小値を求める。
RANK(X;Y;Z)
領域 Y の中で X の順位を返す。Z=0 なら大きい順、Z=1 なら小さい順。
LARGE(X;Y)
領域 X 内の数で Y 番目に大きい値を求める。

演習3-5

次の表を作り、データの合計を求めなさい。

ABCDEF
113825=SUM(A1:E1)

演習3-6

上記の演習3-5の表に対して、平均値を求めなさい。

ハンドルと参照

参照のコピー

次の表を考えます。

ABCD
11020=A1?
23040??

ここで、 C1 のセルを D2 にコピーすると D2 にはどんな内容が入るのでしょ うか? 実は、この時、D2 には「=A1」は入らず、「=B2」が入ります。 右に一つ、下に一つ移動すると、A が B にずれ、 1 が 2 にずれます。コピー のこのような性質を使うと、表を作る時便利です。

さらに、ハンドルを使用するとコピーが簡単に行えます。 コピー元にカーソルを合わせ、ハンドルをドラッグするとドラッグした範囲に コピーが行われます。 また、横に複数の範囲を選択してからハンドルを縦にドラッグすると、複数の 範囲をそのまま縦方向にコピーできます。

演習3-7

ハンドルを使って次の表を完成させなさい。

ABCDE
1'X'Y'X^2'X*Y
23040=B2*B2=B2*C2
35060=B3*B3=B3*C3
47080=B4*B4=B4*C4
590100=B5*B5=B5*C5
6'合計=SUM(B2:B5)=SUM(C2:C5)=SUM(D2:D5)=SUM(E2:E5)

ヒント

  1. 「X」,「Y」,「X^2」,「X*Y」,「合計」などはそのまま入力する。各 X, Y の値も入力する。
  2. D2, E2 は入力する。そして、 D2, E2 を選択し、ハンドルを 5 行目まで 引っ張る
  3. B6 を入力したあと、 B6 を選択し、ハンドルを E 列目まで引っ張る

演習3-8

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

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

次のような素点表があった時、各受験生に対して合計得点を求めなさい。

ABCDEFGHIJK
1受験番号国語数学I・A数学 II・B総合理科物理IB化学IB生物IB地学IB外国語得点
2C100150707563456500130?
3C10026562335471076098?
4C1003608093070800065?

絶対参照

セルの参照の入ったセルをコピーすると、移動先に応じて参照先が変化します。 しかし、これでは都合の悪い場合があります。 例えば、一つの値をいろいろなセルから参照したい場合をなどが考えられます。 このような場合、A1 などの書式で参照をすると、コピーをすれば、コピー先 には A1 ではなくコピー元からコピー先までの距離に応じて参照先が変化して しまいます。 つまり、このような場合、必要とされるのはコピーしても参照先が変わらない ような参照の仕方です。 このため、絶対参照と呼ばれるセルの参照の仕方があります。 これは、参照の前に「$」を入れて書くもので、こうするとコピーしても移動 距離に影響を受けずそのままの参照を保ちます。 そして、これは列と行と別々に指定できます。 例えば、「$A1」なら横に移動する時は「$A1」のままですが、縦に移動すると 「$A2」「$A3」…となります。 一方、 「A$1」なら横に移動する時は「B$1」「C$1」…となりますが、縦に移動する と「A$1」のままになります。 そして、「$A$1」ならどこにコピーしても「$A$1」のままです。

絶対参照は参照を直接キーボードで入力することもできますが、式の入力時に、 カーソルやポインタで指定してから「Shift+F4」を押すことでも指定できます (マイクロソフトエクセルやロータス 1-2-3 では F4 のみ)。

演習3-9

次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?

ABCD
11020=$A1?
23040??

演習3-10

次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?

ABCD
11020=A$1?
23040??

演習3-11

次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?

ABCD
11020=$A$1?
23040??

値のコピー

値(数、日付)の入っているセルのハンドルを引っ張ると、その値を 1 ずつ増 やした値が埋められます。

二つのセルを選択した後、選択した方向にハンドルを引っ張ると、等差数列を 作ります。

例3-2

ABCDE
133.13.23.33.4
22004/5/12004/6/12004/7/12004/8/12004/9/1

このような表を作るには、 (1) A1 に 3 、 B1 に 3.1 を入力し、A1 と B2 を選択してハンドルを引っ張り、 (2) 同様に、A2 に 5/1/2004 と B2 に 6/1/2004 を入力し、 A2 と B2 を選 択してハンドルを引っ張る。

演習3-12

sin の関数表を作りなさい(次の演習で使用するので消さないこと)。

AB
10=sin(A1)
20.1=sin(A2)
30.2=sin(A3)
:::
:::
646.3=sin(A64)

ヒント: (1) 0 と 0.1 を入力し、選択して、ハンドルを引っ張り、 6.3 までの等差数列を作り、(2) =sin(A1) を入力し、ハンドルを引っ張り 6.3 ま での表を作る。

グラフ

データの入っている領域を選択して、「挿入→グラフ」とするとグラフが描 けます(「挿入→グラフ」をしてから領域を選ぶこともできます)。

演習3-13

上の演習で作成した sin の関数表を元に、 sin 関数のグラフを描きなさい。

ヒント
  1. 領域指定。
  2. 挿入→グラフ。
  3. 「最初の行/列を項目名に引用」のチェックを両方とも外し、「次へ」。
  4. 「散布図」を選び、「次へ」。
  5. 「データポイントなしスプライン」を選び、「次へ」。
  6. 適宜タイトルなどの指定を確認し、「完了」を選ぶ。

演習3-14

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

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

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

演習3-15

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

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

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

V = i=1 n xi - x 2 n = i=1 n xi 2 n - x 2
σ=V

演習3-16

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

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

次のような素点表があった時、各受験生に対して合計得点、順位、偏差値を求めなさい。

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

3-5. 宿題

Meadow をダウンロードしておいて下さい。

3-6. 参考文献

  1. 宮川 晋、増田佳泰、古場 正行.「BSD を 256 倍使うための本」ア スキー出版局(1995)
  2. lumi.「コンピュータ博物館 anecs」 http://www.ffortune.net/comp/history/
  3. 元麻布春男.「IT管理者のためのPCエンサイクロペディア -- 基礎から学ぶPC アーキテクチャ入門 --」 http://www.atmarkit.co.jp/fsys/rensai/indexpage/index.html#PCENCYCLOPEDIA
  4. 藤本裕之. 「叫ぶ! C プログラマ」ソーテック(2004)
  5. 内倉憲一「マイク ロコンピュータの歴史」PSP
  6. 翔ソフトウェア「プログラミング言語の歴史」

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