このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
以下の人物名では敬称を略しています。
以下、価値を示すために価格を示しています。しかし、円ドルレートは昔と今 では 3 倍くらい違いますので、ここに円ドルレートを示しておきます。
年号 | 戦後から1971年まで | 1973年まで | 1975年頃 | 1985年頃 | 1995年頃 |
---|---|---|---|---|---|
1ドル | 360円 | 308円 | 305円 | 201円 | 103円 |
17 世紀にシッカード、パスカルたちは歯車を利用した機械式の計算機を作成 したが、これは今日のコンピュータとは違い、単に足し算、引き算のみを目的 としたものでした。
19世紀、カントルなどにより集合論が発展しました。しかし、ラッセルの逆理 「 X を自分自身を含まない集合を要素とする集合とした時、X は自分自身を 含むか否か?」という数学上の矛盾が発見されました。 これは数学の根幹に関わる問題で、これから何年にもわたって解決策が考えら れていきました。 ヒルベルトはあらゆる命題の正否が常に判定できるような理想的な体系が発見 できれば解決できるとしました。 一方、ブラウアは背理法に問題があるとし、二重否定を肯定と考えない 直観主義論理を考案しました。 彼らは対立し、論文誌上で激しくやりあいました。当時編集委員だったアイン シュタインは「鼠と蛙の論争」と揶揄してました。
この論争は1931年、当時大学院生だったゲーデルにより思わぬ形で決着しま した。 ゲーデルは「自然数を含むような数学の体系には証明できない命題が存在す る」という不完全性定理を発表しました。 これによりヒルベルトの計画が不可能なことがわかってしまいました。 この結果を受け、数学は、従来知られているような定理を失わないように配慮 しつつ、ルールが厳密に定められました。新しい集合論は公理的集合論 と呼ばれ、そこでは「集合」の定義は行わず、また、「ある性質を満た した集合の集まり」を集合とは呼ばなくなりました。 その結果、ラッセルの逆理のような集合は定義できなくなり矛盾はなくなりま した。
ゲーデルの結果を示す手法は、数学の基礎である証明とは何かを形式付けるこ とででした。 アラン・チューリングはこの考えを進め、計算自体をモデル化する Turing 機 械と呼ばれる理論的な計算機を1937年に発表しました。 これが現代コンピュータの原理となり、また、今でも理論計算機科学の計算モ デルにはこの Turing 機械が用いられています。 後の研究により Turing 機械は人間の考える計算すべてを実現できると信じら れるようになりました(チャーチの提唱)。 一方、クロード・E・シャノンは論理学と密接に関係するブール代数が電気回路 で実現できることを示しました。 これにより計算は Turing 機械を電気回路で構成することにより実現できるこ とがわかりました。 そして、まずリレーなどを用いたコンピュータが作られました。 一方、 電子回路で組まれた最初の計算機は 1930 年代から 1940 年代にかけてアイオ ワ州立大学で Atanasoff と Berry により作られた ABC(Atanasoff-Berry Computer) という機械です。 その後、Atanosoff 教授の弟子、ペンシルバニア大学の Mauchly らにより作ら れたのが有名な ENIAC です(1946年)。スポンサーは陸軍です。 当初弾道計算のためにと作られましたが、実際は水爆の設計に使われました。 ENIAC では計算をさせるためのプログラムは配線により実現されてました。
フォン・ノイマンは ENIAC の路線を踏襲し、さらにプログラムをメモリーに 内蔵するコンピュータ MANIAC を作りました(1952年)。 以後、コンピュータのプログラムはすべてメモリーに内蔵されるようになるた め、プログラムをメモリーに内蔵するコンピュータをノイマン型と言うように なります(プログラム内蔵式をノイマンが発明したわけではありません)。
プログラムをメモリーに入れるために、紙カードが使われました。 これはもともと自動織物機の制御のために 19 世紀に発明されたもので、電子 計算機が作られる前からアメリカの国勢調査などで使用されてました。 当時のコンピュータでは紙カードに一枚につき一行ずつ書かれたプログラムを紙 カードリーダにセットし、 start ボタンを押すと、コンピュータがプログラ ムをメモリーに読み込んで実行し、プリンタに結果を出力するというバッチ処 理が主流になりました。
MIT(マサチューセッツ工科大学) に所属し、後にARPA の情報処理技術室の初 代責任者となるJ・C・R・リックライダーはコンピュータはインタラクティブ に対話ができるべきだと考え、1952年から防空情報通信システムの設計に携わ り、世界初のリアルタイム対話型コンピュータを実現しました。
電卓用の回路を開発するため、日本のビジコン社の嶋正利がアメリカのインテ ル社と打合せしたうえで設計したのが世界初の 1 チップの CPU 4004 です (1969年)。 CPU とはメモリの内容により状態を変化させながら計算を行うものです。 これは、各桁のデータを 0 から 15 までの 4 bit で表し、 0 から 15 のうち 0 から 9 を使っ て10 進数を扱う 4bit コンピュータです。 なお、コンピュータや CPU の前につける XX bit という表現は一度に処理で きる数の桁数(二進数)を表していて、コンピュータの性能の目安になっていま す。 その後、それを拡張した 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 言語(Beginners All purpose Simbolic Instruction Code) を メモリ容量を 4KB に拡張したAltair 8800 用に作ろうとポール・アレンとビ ル・ゲイツが 8 週間で作成しました。 そしてこの二人はパソコン用の BASIC 言語の権利を売ったお金(30万ドル)で 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 が出ました(1984年)。 PC/AT は 80286 CPU を搭載し、 AT バスと呼ばれる周辺機器用の拡張規格を組み込みました。 これは後に ISA バスと呼ばれ、長い間標準の拡張バスとして多くの周辺機器 が作られました。そしてそれは 1998 年の PC98 規格で廃止になるまで 14 年 間も続きました。 IBM は PC/AT を止め、仕様を公開しない PS シリーズに移行した後も、 AT の需要があったため、 AT 互換機が作られました。 そして、 IBM 以外のメーカがこの AT 互換機という規格を発展させていきま した。 但し、CPU の動作モードが異なり、ハードウェアの共通部品もほとんどないた め、現代のコンピュータと PC/AT の互換性はほとんどありません。 現代のコンピュータの原点と言うべきコンピュータは Compaq が出した 80386 CPU を持つ DeskPro 386 と呼ばれるものです(1986年)。 PC/AT は CPU と ISA バスが直結でしたが、 DeskPro はチップセットと言う ISA バスと CPU バスとを分離するための部品を採用したもので、 これにより、周辺機器と互換性を保ったまま CPU の機能や速度を上げること ができるようになりました。 この周辺機器とチップセットによって接続される仕組みは現在のパソコンでも 使われています。 最近ではチップセットの性能がパソコンの性能を決めると言っても過言ではな く、メモリやハードディスクなどの重要な部品のうちどこまで高性能なものを 使えるかどうかなどはすべてチップセットが決定します。 また、最近のチップセットはグラフィック機能やサウンド機能なども内蔵して いるものもあります。 また 80386 CPU から 32 bit になり、またマルチタスクに対応できました。 そのため、DeskPro 386 は自体は最新バージョンの Linux などの現在でも入 手が容易なソフトウェアも使用できます(速度面では期待できませんが……)。
コンピュータは機械語と呼ばれる命令の連続で書かれたプログラムの指示通り 動きます。 初期のコンピュータは全て人間が機械語を書いて動作させていました。 そこに登場したのが会計用の言語 COBOL と科学計算用の言語 FORTRAN です。 変数を使い、繰返し計算をするための構造を持っていました。 この後、様々なプログラミング言語が作られました。 ソフトウェアの管理を考える必要性が生じそのため構造化プログラミ ングと言う概念が生まれました。これを体現したのが ALGOL です。 C 言語や PASCAL 言語はこの ALGOL を祖とします。 その後、 IBM は目的別言語に対して、統一言語を作ろうと PL/I を 作りました。 一方教育用のため、 FORTRAN を簡約化した言語 BASIC が作られました(1964 年)。 そして、 ALGOL 60 を改良したシミュレーション用言語として作られた SIMULA 67 は、初めてオブジェクトクラスの概念を取り入れました。 C++ はこの SIMULA を祖としています。 その後、様々なプログラミング方式が考案されました。 その中には、リスト表現の処理に特化した関数型言語 LISP などが生まれまし た。
リックライダーが携わった対話型コンピュータのシステムの開発は、 1960 年代に入って MIT、 AT & T、ジェネラルエレクトロニックス社によ る Multics という超高機能な OS の開発へと続いていきました。 高級言語 PL/I で記述され、高いセキュリティも考慮され、マルチ CPU にも 対応するなど様々な理想が追求されましたが、当時のコンピュータの性能は省 みられなかったため、プロジェクトは成功しませんでした。 そして、メンバーのうち AT & T は早々に離脱しました。 離脱したメンバーのケン・トンプソンはは研究所で Multics を簡略化した OS、 Unics を作成しました。 その後、名前を UNIX に変え、システムも機械語から C 言語で書かれるよう になりました。 トンプソンはカルフォニア大学バークレイ校に移り UNIX をテープなどの配送 費のみで配り始めた(Berkeley Software Distribution BSD)ため広く使われる ようになりました。
UNIX を参考にして作られた世界初のパソコン用 OS CP/M がディジタルリサー チ社から発売されました(1974 年 $70)。 その後、8086 用にも CP/M 86 が作られました。 IBM は The PC を発売する時、 CP/M 86 を採用しようとディジタルリサーチ 社を尋ねたところ、社長が不在でした。そのため、 Microsoft 社に声をかけ たところ Microsoft は CP/M 86 のコピー品の Quick Dirty OS の権利を買い 入れ IBM に納品しました。 IBM は PC-DOS という名前で販売し、Microsoft も MS-DOS と言う名前で販売 しました。
1970 年代に Xerox のパロアルト研究所では、アラン・ケイ氏が Dynabook 構 想というものを考えてました。 当時パーソナルコンピュータなるものすら発想がなかった時代です。 この構想とは これからは人間は情報を得るために、普通の本から Dynabook と呼ばれるコン ピュータを活用するだろうというものです。 この Dynabook は 500 ドルくらいで、子どもでも本と同様に取り扱え、 2M 位のメモリーと通信機能を備えたものと想定されました。 Dynabook を実現するために開発されたのがオブジェクト指向言語 Smalltalk です。 これはプログラムやコンピュータ資源まですべてをオブジェクトと見なし、あ らゆるコンピュータ操作はオブジェクト間のメッセージのやりとりのみに単純 化すると言うものです。 さらに Smalltalk ではグラフィック画面を持ち、オブジェクトを特定のマー クで表し(アイコン)、マウスなどのポインティングデバイスによりアイコンの メニューを通じてメッセージを送るようになってました。 Xerox は Dynabook として Star という名前のコンピュータを発表しました (1981年)。 しかし価格が16,000ドルもし、とてもパーソナルとは呼べるものではありませ んでした。
Apple 社の Steave Jobs はこの Xerox のパロアルト研究所を見学し(1979年)、 Smalltalk を見て、Dynabook 構想に共感しました。 そして Apple 社は Lisa と呼ばれる 200 万円位するコンピュータを発売しま した (1983年 $10,000)。 それ自体は商業的に成功しませんでしたが、それを改良、安価に した Macintosh を発売しました(1984年 $2500)。 Macintosh はその後カラー化され、 Macintosh II となりました。 当初は 2000 年頃に Macintosh III として Dynabook が実現されるという話 もあったようですが、2006 年現在、まだ Dynabook は実現されていません。
Microsoft 社は Macintosh の開発に協力しました。そして Macintosh が出た 1 年後に、Microsoft 自身が MS-DOS 用で、グラフィック画面で Macintosh に似せた操作ができるようにする Windows 1.0 を発売しました。 その後、 Apple 社は Windows が Macintosh に似ていることで Microsoft 社 を訴えますが、裁判で敗訴しました(1992年下級審、1995年控訴審)。 一方 Windows は Windows 95 で 80 年代後半の Macintosh に外見上そっくり になりました。
日本初の個人で買えそうな値段のマイコンは NEC の TK-80 です(1976年)。こ れは 8080A CPU に LED と 16 進数のキーボードがついたキットです (88,500円)。 その後 TK-80BS という追加装置が出ました。 これを追加するとテレビに接続でき、タイプライターキーボードが付き、 BASIC 言語が利用できるようになりました。 次に NEC が出したのが PC-8001 というもので、これ以降、パーソナルコン ピュータという言葉が使われるようになりました(1979年)。 PC-8001 は Z-80 という 8080 と互換 CPU が使われ、タイプライターキーボー ドが付き、専用モニターテレビに接続して BASIC 言語を使用するものでした。 この後、各社で 8bit CPU を搭載した BASIC 言語を使用するパソコンが発売 されました。 この Z-80 という CPU はインベーダゲームに使われたもので、当時は最もポ ピュラーな CPU でした。 そして 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 用しか作られず、PC-9801 の一人勝ちの 時代が長く続きました。 なお、当時のパソコンでは、漢字を画面に出すために特別の装置を組み込み、 MS-DOS を改造する必要がありました。 そのため、IBM PC の互換機も何度か参入してきましたが、結局失敗していま した。 ただ、東芝は勝手に Dynabook を名乗った、漢字表示機能 を搭載した IBM PC 互換のラップトップパソコンを発売し、これは、 その小型さから一定の支持を得ていました。
当時のコンピュータの画面出力では、文字を出力する仕組みと、グラフィック を出力する仕組みは別々でした。そのため、英字を出力する仕組みに対して、 漢字を出力する仕組みは解像度や文字の種類などで大きく異なり、コストもか かりました。 日本 IBM はVGA 規格(640×480 ドット、 16 色)という グラフィックアダプ タに対してソフトウェアのみで文字を図形として出力するディスプレイドライ バを作成し、PC-DOS version 4/V として発売しました(1989年)。 この技術を使うと、従来のハードウェアの変更や、 OS の大幅な改造なしで漢 字の出力をソフトウェアで全て処理できるようになりました。そのため、外国 製のソフトウェアも日本語のソフトウェアも PC-DOS/V 上で動き、中には改造 せずに漢字を入力できるようになるものもありました。 この DOS/V 技術(DOS の文字出力を VGA グラフィック画面に表示する技術)に より、 IBM の互換機が日本でも売れるようになってきました。 当時、 PC-9801 が一番良く売れてましたが、高値安定でした、。 そのため、拡張パーツが豊富にあり、漢字 ROM の付いてない安い 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 は市場から消えていきまし た。 また、マイクロソフトは Windows 一色の市場に自社のワープロ Word と表計 算 Excel を抱き合わせ(プレインストール)で販売したため、一太郎や Lotus 1-2-3 の人気は薄らいでいきました。
年代 | コンピュータの発達 | ソフトウェア | パソ コンの発展 | 日本のパソコン |
---|---|---|---|---|
1930 | Turing 機械、シャノンによる電気回路でのブール代数の実 現 | |||
1940 | 初の電子計算機 | |||
1950 | ノイマン型計算機、対話型コンピュータ、構造型プログラ ミング言語 | COBOL, FORTRAN, ALGOL | ||
1960 | インターネット、 1 チップ CPU、オブジェクト指向 | Multics, UNIX, LISP, BASIC, PL/I, SIMULA67 | ||
1970 | Dynabook 構想 | Smalltalk, パソコン用 BASIC インタプリタ | Altair 8800, CP/M, Apple II | TK-80 |
1980 | Lotus 1-2-3, Excel | IBM the PC, Macintosh, Compaq DeskPro 386 | NEC PC-9801, ファミコン, DOS/V, 一太郎 | |
1990 | WWW, Windows 95 | Intel Pentium |
コンピュータには、ハードウェアと呼ばれる装置と、それに与え るソフトウェアという情報があります。
コンピュータは次のような部品で成り立ってます。
これらが「バス」という配線方式でつながってます。 バスの由来は大量の固まったデータが同じ線を行き来する様から来ています。
なお、CPU は他の装置のやりとりしながら状態を変化させて計算を行います。 そのため、装置のやりとりや状態を変えるタイミングをとる必要があります。 現代のほとんどのコンピュータはこれをクロックと呼ぶ発振器の パルスに合わせて同期させて動かします。 当然状態が速く変化した方が計算を高速にできますので、クロックの周波数は コンピュータの性能を表す一つの指針になります。
最近のコンピュータは、さらに次のようになってます。
一番最初に作られたコンピュータでは、プログラムは配線により組まれてまし た。しかし、現代のノイマン型コンピュータではプログラムは全てメモリーに記憶 されるデータとして扱われます。 プログラムはコンピュータを動作させるのに必ず要るものですが、「装置(ハー ドウェア)」ではありません。 コンピュータを動作させる装置以外の、データやプログラムのことをソフ トウェアと言います。
ハードウェアの項で説明しましたように、基本的には CPU はメモリー内の 0 番地から一つのプログラムを実行するだけの機能しかありません。
ハードウェアを変更せずにコンピュータに幾つかのプログラムを処理させるた めには、複数のプログラムを取り扱うようなプログラムが必要です。 そのようなプログラムをオペレーティングシステム(OS)とか「基本 ソフト」と呼びます。OS に与えるプログラムをアプリケーションソフト ウェアとか「応用ソフト」などといいます。
OS はプログラムの管理の他に次のような管理もします。
各装置を動かすためのソフトウェアをドライバと言うことがあります。
家電に組み込まれているコンピュータのように一つのプログラムしか実行しない コンピュータには、基本的にはオペレーティングシステムは必要ありません。 但し、画面に字を出す機能など複数の製品でも同じような機能が必要なので、最近 は「組み込み用 OS」が入ってます。 日本製の携帯電話の多くには ITRON が入ってます。
OS は、複数のプログラムを実際に動かしたり機器を管理したりする部分 (カーネル(核))と、 利用者とコミュニケーションをする部分(シェル(殻))に分けること ができます。 ユーザからは複雑な核の部分は見えず、殻の部分だけが見えます。 シェルには、文字によるコミュニケーションをするシェル(CUI シェル)とグラフィックによるコミュニケーションをするシェル(GUI)シェルが あります。
マイクロソフト Windows は OS と呼ばれるものです。 OS は人間がコンピュータを操作し、プログラムを実行することを可能にしま す。
コンピュータはソフトウェアであるプログラムの指示(命令)に従って動作します。 従って、素朴な考え方をすれば、指示の全てはコンピュータが主体になります。 しかし、特定のプログラムに複数のデータを扱わせるような場合、実は主語がコン ピュータの構文は考えづらいです。 また、一般にデータはそれを処理するプログラムがないとコンピュータは処理 できませんが、人間の思考パターンとしては、データを主語として考えたい場 合があります。
料理の作り方
オブジェクト指向とは、コンピュータの中にオブジェクトというも の(簡単なアプリケーションソフトのような情報処理の単位)を作り、それに対 してメッセージを送ることでオブジェクトの操作を行おうというも のです。 コンピュータ操作はコンピュータそのものに対して命令の羅列により情 報を処理していました。 しかし、オブジェクト指向では、情報はオブジェクトに対してメッセージとし て送られ、さらに別のオブジェクト間でメッセージをやりとりして情報交換し ます。
アラン・ケイらが開発した Smalltalk というオブジェクト指向言語はグラフィッ ク機能が実現されていました。 ユーザの操作をグラフィック画面を通して行う GUI という機能もオブジェク ト指向の考えに基づいて構築されてました。 オブジェクト指向では操作の対象となるものを全てオブジェクトとして考え、 オブジェクトにメッセージを送ることでコンピュータを操作するようになって ました。 そのため、画面上に個々のオブジェクトを表すためのアイコンと呼ばれる絵を 表示し、そのアイコンにメッセージを送る方法をとりました。
メッセージの種類を表示するのに Smalltalk ではポップアップメニューという方式をとりました。これはアイコ ンを指定してメニュー表示ボタンを押すとメニューが表示される仕組みです。 階層構造がある場合はさらに別のメニューが表示されます。 一方 Smalltalk を真似た Macintosh ではプルダウンメニュー方式という方式をと りました。これは、画面上部にメニューを表示する領域を用意し、アイコン を指定するとそのアイコンに送ることができるメッセージの一覧をメニューに 表示するものです。階層構造があるものは、メニューが垂れ下がるようになっ てます。 Windows ではこのポップアップメニューとプルダウンメニューの操作が混在し ています。アイコンを右クリックするとポップアップメニュー、アプリケーショ ンソフトの操作はプルダウンメニュー、スタートボタンを押すと、プルダウン メニューを 90度横に倒したものが表示されます。
アラン・ケイらは Smalltalk をさらに改良し、現在 Squeak というソフトウェ アを開発し、無料で配布しています。 Squeak は Windows, Macintosh, UNIX の他、 Windows CE や Zaurus でも動 作します。
リックライダーが開発した対話型という仕組みは今でもコマンドプロンプトや
MS-DOS プロンプトとして生きています。
これはユーザが命令を送ると、答をコンピュータが返すということをインタラ
クティブに行うものです。
利用者は命令を送りますが、その文法は基本的には英文法と同じようなもので
す。つまり、さいしょに動詞(コマンド) を書き、空白で区切って目的語(引数)
を書きます。
最後に Enter キーを押すと、命令の入力が終了したことを伝えることになり、
コンピュータは処理を開始します。
例えば、
コンピュータのプログラムは、入力、処理、出力の部分に分けることができま す。プログラム言語を使って計算をさせるには、入力、処理、出力の全てのプ ログラムを書く必要があります。簡単な計算をさせる時にもです。一方、表計 算ソフトは、簡単な計算を簡単に行うため、次のような工夫がされています。 (1)セルと呼ばれるますにデータを入力し、計算式や結果をもセルに入れるこ とにより、入力、出力のプログラミングの手間を省き、(2)処理に必要な情報 を視覚化し、(3)二次元までのデータの処理に特化することにより、基本的な 情報処理を簡単な操作で可能にします。さらにリレーショナルデータベースは 表の集まりによって作られていることもあり、表計算ソフトでも簡易データベー ス機能が実現されています。 このように表計算ソフトは次のような処理に向いています。
但し、複雑な情報処理はしないように設計されてますので、 (1)1000 件を越えるような情報の操作や、(2)状態を遷移しながら動作するよ うなプログラム、(3)入力や出力のデザインを変えるようなことはしない方が 良いです(できないわけではありません)。
画面はセルと言われる長方形の記憶領域が表の形に集まっていて、 ここにデータや式を入れて、計算するようになっています。
カーソルはセルを囲むような太線の長方形です。 目的のセルを左クリックするとそこにカーソルが移動します。 また、矢印キーでも移動できます。
カーソルにより選択されているセルの内容は数式入力ボックス(Input Line)に 表示されます。
セルには、数字、文字列、日付、式などを入れることができます。 入力の際、矢印キーは修正には使えないことに注意して下さい。矢印キーを押 すと入力が確定し、矢印の方向へカーソルが移動します。 セルの内容の修正には「F2」キーを押すか、数式入力ボックスをクリックして 下さい。 数式入力ボックス中ではカーソルキーが使用できます。修正が終ったら Enter を 押して下さい。 セルの内容の削除は Delete キーを使います。 シート全体の消去は「Edit→Delete Sheet」とします。
式の中にセルの名前を入れることができます。
セルの名前は行と列の名前の組合せで表します。
例えば、上の演習問題の「123」
の入っているセルの名前は A1 と呼ぶことができます。
式の中で、セルに入っている内容をセルの名前で参照できます。
なお、セルの名前の入力は、そのまま英字と数字の組合せでも入力できますが、
マウスのクリックやカーソルの移動+Enter でも入力できます。
このように特定のセルの値をセルの名前で指すことを「
一次方程式の解は次のようにすると求まります。
これを計算させましょう。
A | B | C | |
---|---|---|---|
1 | 'a | 'b | 'ax+b=0 の解 |
2 | 10 | 20 | =-B2/A2 |
このように表を作ると解が求まります。 10 や 20 という数字を他の値に変えてみましょう。 数字を変更した瞬間に再計算が行われ、瞬時に解が求まります。
セル上で次のことをすると長方形の領域を反転(指定)することができます。
又、式の中で「左上のセルの名前:右下のセルの名前」とすることでも領域を 指定できます。
領域の選択はいろいろな用途に使えます。
領域を引数とする関数があります。 領域を関数の引数として指定する場合、長方形の領域のうち「左上のセル名: 右下のセル名」という形で指定します。 もちろん、上記のようにマウスのドラッグや、カーソルキーの移動でも指定で きます。
以下は領域を引数とする関数の例です。
次の表を考えます。
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | =A1 | ? |
2 | 30 | 40 | ? | ? |
ここで、 C1 のセルを D2 にコピーすると D2 にはどんな内容が入るのでしょ うか? 実は、この時、D2 には「=A1」は入らず、「=B2」が入ります。 右に一つ、下に一つ移動すると、A が B にずれ、 1 が 2 にずれます。コピー のこのような性質を使うと、表を作る時便利です。
さらに、ハンドルを使用するとコピーが簡単に行えます。 コピー元にカーソルを合わせ、ハンドルをドラッグするとドラッグした範囲に コピーが行われます。 また、横に複数の範囲を選択してからハンドルを縦にドラッグすると、複数の 範囲をそのまま縦方向にコピーできます。
セルの参照の入ったセルをコピーすると、移動先に応じて参照先が変化します。
しかし、これでは都合の悪い場合があります。
例えば、一つの値をいろいろなセルから参照したい場合をなどが考えられます。
このような場合、A1 などの書式で参照をすると、コピーをすれば、コピー先
には A1 ではなくコピー元からコピー先までの距離に応じて参照先が変化して
しまいます。
このような場合、必要とされるのはコピーしても参照先が変わらない
ような参照の仕方です。
このため、
絶対参照は参照を直接キーボードで入力することもできますが、式の入力時に、 カーソルやポインタで指定してから「Shift+F4」を押すことでも指定できます (マイクロソフトエクセルやロータス 1-2-3 では F4 のみ)。
値(数、日付)の入っているセルのハンドルを引っ張ると、その値を 1 ずつ増 やした値が埋められます。
二つのセルを選択した後、選択した方向にハンドルを引っ張ると、等差数列を 作ります。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 3 | 3.1 | 3.2 | 3.3 | 3.4 |
2 | 2004/5/1 | 2004/6/1 | 2004/7/1 | 2004/8/1 | 2004/9/1 |
このような表を作るには、 (1) A1 に 3 、 B1 に 3.1 を入力し、A1 と B2 を選択してハンドルを引っ張り、 (2) 同様に、A2 に 5/1/2004 と B2 に 6/1/2004 を入力し、 A2 と B2 を選 択してハンドルを引っ張る。
ここで、言う行列式とは数学の行列式(Determinant)ではありません。 データの集まりに対する式のことで、各データに対して同じ計算を行うと言う ものです。 式の項として領域を指定し、入力終了時に Ctrl+Shift+Enter を Enter の代 わりに押します。すると必要なセル領域が確保され、複数のセルに渡って値が 得られます。
なお、関数の中には LINEST のように値を行列式で返すものもあります。
データの入っている領域を選択して、「挿入→グラフ」とするとグラフが描 けます(「挿入→グラフ」をしてから領域を選ぶこともできます)。
Meadow をダウンロードしておいて下さい。
次のウィンドウ上のアイコンにはどのようなメッセージを送ることができるか 調べなさい。
ヒント: アイコンを右クリックしてみる
MS-DOS プロンプトやコマンドプロンプトに次のコマンドを入れ、何が返って くるか調べなさい。 そして、どんな意味のコマンドなのか想像しなさい。
次のようにセルに値を入れなさい。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 123 | あいうえお | 2005/4/18 | =1+1 | =SIN(PI()/2) |
なお、日付は入力した通りには表示されず、特定の書式で表示されます。表示 の書式を変更するには変更したいセルを左クリックした後、「セルの書式設定」 を選んで書式を変更して下さい。 また、式は、入力すると入力したものではなく計算結果が表示されます。
次の一次方程式を表計算ソフトを使って解きなさい。
二元一次連立方程式を解くシートを作りなさい。
A | B | C | D | |
---|---|---|---|---|
1 | 'a | 'b | 'e | 'x |
2 | 1 | 2 | 3 | ? |
3 | 'c | 'd | 'f | 'y |
4 | 4 | 5 | 6 | ? |
シートを作成した後、以下の連立方程式を作成したシートを使って求めなさい
次の表を作り、データの合計を求めなさい。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 1 | 3 | 8 | 2 | 5 | =SUM(A1:E1) |
上記の演習3-7の表に対して、 G1 のセルに平均値を求めなさい。
ハンドルを使って次の表を完成させなさい。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 'X | 'Y | 'X^2 | 'X*Y | |
2 | 30 | 40 | =B2*B2 | =B2*C2 | |
3 | 50 | 60 | =B3*B3 | =B3*C3 | |
4 | 70 | 80 | =B4*B4 | =B4*C4 | |
5 | 90 | 100 | =B5*B5 | =B5*C5 | |
6 | '合計 | =SUM(B2:B5) | =SUM(C2:C5) | =SUM(D2:D5) | =SUM(E2:E5) |
ヒント
東京電機大の工学部第一部大学入試センター試験利用試験で情報通信工学科は 次のような集計を行います。
次のような素点表があった時、各受験生に対して合計得点を求めなさい。
A | B | C | D | E | F | G | H | I | J | K | |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 受験番号 | 国語 | 数学I・A | 数学 II・B | 総合理科 | 物理IB | 化学IB | 生物IB | 地学IB | 外国語 | 得点 |
2 | C1001 | 50 | 70 | 75 | 63 | 45 | 65 | 0 | 0 | 130 | ? |
3 | C1002 | 65 | 62 | 33 | 54 | 71 | 0 | 76 | 0 | 98 | ? |
4 | C1003 | 60 | 80 | 93 | 0 | 70 | 80 | 0 | 0 | 65 | ? |
次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | =$A1 | ? |
2 | 30 | 40 | ? | ? |
次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | =A$1 | ? |
2 | 30 | 40 | ? | ? |
次の表で C1 セルの内容をハンドルを使って ? 記号が入っているセルにコピー すると、どのような値が入りますか?
A | B | C | D | |
---|---|---|---|---|
1 | 10 | 20 | =$A$1 | ? |
2 | 30 | 40 | ? | ? |
sin の関数表を作りなさい(次の演習で使用するので消さないこと)。
A | B | |
---|---|---|
1 | 0 | =sin(A1) |
2 | 0.1 | =sin(A2) |
3 | 0.2 | =sin(A3) |
: | : | : |
: | : | : |
64 | 6.3 | =sin(A64) |
ヒント: (1) 0 と 0.1 を入力し、選択して、ハンドルを引っ張り、 6.3 までの等差数列を作り、(2) =sin(A1) を入力し、ハンドルを引っ張り 6.3 ま での表を作る。
上の演習で作成した sin の関数表を元に、 sin 関数のグラフを描きなさい。
なお、「 X 座標を並べ替える必要がある」と警告が出ますが無視します。
次の集計表を完成させなさい。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | tax rate | 0.05 | |||
2 | Price | No. | Subtotal | Tax | Total |
3 | 70 | 3 | ? | ? | ? |
4 | 20 | 5 | ? | ? | ? |
5 | 40 | 2 | ? | ? | ? |
6 | 30 | 4 | ? | ? | ? |
税率(Tax rate)は一か所にだけ記入するので、参照するには絶対参照を使う
下の成績処理表を完成させなさい。
A | B | ||
---|---|---|---|
1 | Average | Stdev | |
2 | ? | ? | |
3 | Point | Rank | 偏差値 |
4 | 10 | ? | ? |
5 | 30 | ? | ? |
6 | 60 | ? | ? |
7 | 50 | ? | ? |
8 | 40 | ? | ? |
素点を 、 平均点を とした時、 標準偏差 の定義は次の式のとおりです。
東京電機大の工学部第一部大学入試センター試験利用試験で情報通信工学科は 次のような集計を行います。
次のような素点表があった時、各受験生に対して合計得点、順位、偏差値を求めなさい。
A | B | C | D | E | F | G | H | I | J | K | L | M | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 人数 | 平均点 | 標準偏差 | ||||||||||
2 | ? | ? | ? | ||||||||||
3 | 受験番号 | 国語 | 数学I・A | 数学II・B | 総合理科 | 物理IB | 化学IB | 生物IB | 地学IB | 外国語 | 得点 | 順位 | 偏差値 |
4 | C1001 | 50 | 70 | 75 | 63 | 45 | 65 | 0 | 0 | 130 | ? | ? | ? |
5 | C1002 | 65 | 62 | 33 | 54 | 71 | 0 | 76 | 0 | 98 | ? | ? | ? |
6 | C1003 | 60 | 80 | 93 | 0 | 70 | 80 | 0 | 0 | 65 | ? | ? | ? |