このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
本日は Meadow をインストールしますので、 ダウンロードしておいて下さい。
OS は人間が情報を扱いやすくするために、さまざまなサポートをしてます。
OS はファイルと、ディレクトリ(フォルダ)とい う機能を提供しています。
コンピュータのデータの基本は 0 と 1 です。 この 0 または 1 という 2 通りの情報を記憶する単位を bit(ビッ ト)と言います。 8 bit を 1 Byte(バイト)と言います。 1 Byte には 28=256 通りの情報を記憶することができます。 英字や数字などは一文字 1 Byte で記憶されます。 一方、ひらがな、かたかな、漢字などは数 Byte で記憶されます。 1000 Byte を 1kB と言うこともありますが、 1024=210Byte を 1KBと表すこともあります。 bit, Byte などもともと 2 進数と関係 がある単位なので、 2 の巾乗の数で区切ることが多いです。
データとは数字や文字列など、情報を表現しているものをいいます。 例えば、「10」「東京電機大学」「(1,2,3)」などはデータです。
レコードとは情報の意味のある組合せです。 例えば、「コンピュータ基礎および演習 I, 月曜日3,4 限, 1C1 , 必修, 前期」 や、「飲み会、お茶の水駅前、18:00、会費 3000円」のような複数のデー タの組合せはレコードになります。
ファイルは処理の対象となるひとまとまりのレコードの集まりを言 います。 クラスの名簿、スケジュール表などはファイルの例です。
コンピュータではファイルに名前をつけ、名前で管理します。 通常のコンピュータの処理はファイルを対象にします。 CUI シェルでは通常命令は次の文法になってます。
コマンド名 対象ファイル名
文字列を改行で区切ったファイルをテキストファイルと言い ます。 改行で区切られた文字列を行ということがあります。行はレコード に対応します。 電子メールの内容やコンピュータのプログラムはテキストファイルでで きています。 テキストファイルはほとんどのコンピュータで取り扱えるため、情報をやりと りする際に便利です。
MS-DOS やコマンドプロンプトのコマンドの例
複数のファイルをまとめる仕組みをディレクトリやフォルダ と言います。ディレクトリも名前をつけて管理します。 ディレクトリはディレクトリも含むことができます。
ディレクトリ A がファイル B とファイル C を含んでいる。
ディレクトリ A がディレクトリ B とファイル C を含んでいる。
ディレクトリ A がディレクトリ B とファイル C を含んでいて、ディレクト リ B がファイル D を含んでいる
ディレクトリ A がディレクトリ B とディレクトリ C を含んでいる。 ディレクトリ B はファイル D とファイル E を、ディレクトリ C はディレク トリ F とファイル G を含んでいる。
「A が B を含んでいる」という関係をA→Bで表すと上の関係はそれ ぞれ次のようになります。
ディレクトリ A がファイル B とファイル C を含んでいる。
ディレクトリ A がディレクトリ B とファイル C を含んでいる。
ディレクトリ A がディレクトリ B とファイル C を含んでいて、ディレクト リ B がファイル D を含んでいる
ディレクトリ A がディレクトリ B とディレクトリ C を含んでいる。 ディレクトリ B はファイル D とファイル E を、ディレクトリ C はディレク トリ F とファイル G を含んでいる。
数学では、このように対象物の関係を→の接続で表したものグラフといいます。 さらに、グラフの中で、 すべてが連結しているが合流がない形を木(tree)と言います。 木やグラフを表す時の特有の用語には、頂点、節(対象物)、枝(関係)などがあ ります。また、木特有の用語として、根(すべての始点)、葉(端点)があります。
さらにある頂点から別の頂点への道筋、あるいは道筋の頂点の列挙を道 (path)と言います。 この場合の道は B,A,C,G と表すことができます。
木の節から見て、自分に接続している節を親と言い、自分が接続している 節を子と言います。 ディレクトリでは親ディレクトリ、サブディレクトリとい う言い方をします。
CUI シェルでは命令の次に対象ファイル名を指定します。 Windows はファイルシステムを提供していますので、次に述べるような方法に よりディレクトリを利用したファイルを指定できます。
CUI シェルでは、注目しているディレクトリ(カレントディレクトリ) があります。 カレントディレクトリに関連するコマンドには次のものがあります。
Windows では次の特別な約束があります。
path を表す時、ディレクトリ名の区切りに使う。 もともと UNIX では /(スラッシュ)を使っていた。それを真似て、 MS-DOS(MS Windows の原型)のアメリカ仕様では\(バックスラッシュ)が使われた
日本向けのコンピュータでは、文字の構成が違い、バックスラッシュの代りに 円記号が登録されているため、枝の表現に似ても似つかないがそのまま円記号 を使うようになった。 キーボードで右shift の左側に というキーがある。 これはバックスラッシュを入力するキーだが、日本語の Windows では¥記号 として扱われる。
Windows でファイルを指定する場合、「カレントディレクトリからのパス (相対パス)」で表現します。 但し、パスの先頭が区切り記号の時は、「ルートディレクトリからのパス (絶対パス)」を表します。
MS-DOS やコマンドプロンプトのコマンドの例
ディレクトリやパスの表現を説明しましたが、これは一般社会で良く使われて います。 例えば、市区町村の分割と住所表示がその例です。
市区町村の分割
住所の書き方
有名なエディタ emacs の Windows 版 Meadow を使用します。ソフトウェアのぺージの説明にしたがって、 Meadow をインストールしましょう。
Meadow は、Windows の「メモ帳」などと違い、キーボード上の手をホーム ポジションから動かさなくても多彩な機能を使えるように設計されています。 Ctrl や Alt キーを押しながらアルファベットのキーを押すことによりさまざ まな状態に変化します。 このような設計のため使いこなせば便利ですが、使いこなすまでは戸惑うかも 知れません。 操作が分からなくなってしまった時は、 Ctrl-g を押すと、 文字を入力する基本的な状態へ戻ります。
情報を編集するものをエディタと言います。また、テキストファイルを編集す るエディタをテキストエディタと言います。 ここではどのようなエディタにもある機能を紹介します。
一般的な Windows のソフトウェアでは、初期画面で「名称未設定」という名 前のウィンドウが出ます。 ここに情報を入力した後、保存する際にファイル名を決定します。
一方、Meadow は一般的な Windows のソフトウェアと違い、目標のファイルを 作成する時、まず、ファイル名を指定します。 「Files→Open File...」を選び、ファイル名を入力して下さい。 一番下の画面に「Find file:~/」という表示がでます。この状態でカレントディ レクトリは c:\work になってます。 この画面では Windows のパスの区切り文字はスラッシュ「/」が使えます。 また、円記号「¥」も入力できますが、画面内ではバックスラッシュ「\」が 表示されます。
文字を押すとその文字が入力されます。通常は挿入モードといい、 カーソルのある位置へ文字が挿入されます。 insキーを押すと上書きモードになり、カーソル 位置の文字を押した文字と取り替えるように文字が入力されるようになります。 Backspace キーやDel キーで修正ができます。 また「半角/全角 漢字」キーを押すと日本語入力が可能になります。
但し、マイクロソフト Wordでは、押した文字と違う文字(大文字や漢字と同 じ幅の文字)が入力されることがあります。 また、特に Word 2002 は ins キーを押しても上書きモードになりません。
文字の特定部分を指定して、切り取り、コピーができます。
通常、ポインティングデバイスを使用して、文字上をドラッグすると、左ボタ ンを押したところから、離したところまでの範囲を指定できます。
Meadow ではさらに、一番最近 Ctrl-Space を押した位置から、カー ソルまでの文字を指定できます (これを利用すると何ページにも渡る領域を複雑なマウス操作なしで指定でき ます)。
「Edit」や「編集」のメニューから「切り取り」や「Cut」を選ぶと指定領域 を削除できます。 一番最近削除した領域は、メモリーの中に保存されます。 この削除した領域を一旦保存しておくメモリーの領域をカットバッファ (またはクリップボード)と言います。 「Edit」メニューの中から「貼り付け」、「ペースト」、「Paste」を選ぶと、 カーソル位置に先ほど削除したものが挿入されます。 カーソルを移動して、そこで「貼り付け」を行うと、そこに削除されたものが 挿入されます。
「Edit」メニューの中の「コピー」「copy」を選ぶと、指定領域はカット バッファにコピーされ、指定領域はそのまま残ります。つまり画面上はなにも 変わりません。 指定位置に指定したものをコピーするには、このコピー操作をした後、コピー する位置を指定して「貼り付け」を行って下さい。
このように領域を指定して、その領域の内容を切り取りった後貼り付けを行う ことで指定された領域を移動させることをカットアンドペースト と言います。 また、コピーして貼り付けることで指定領域のコピーを作ることをコピー アンドペーストと言います。
どのテキストエディタでも「検索(Find)」はあるはずです。 Meadow では Ctrl-s で検索ができます。 探したい文字を入れていくと、入力の途中でも検索を行います。 次の候補を見つけたいときはさらに Ctrl-s を入力します。 目的の位置へ移動できたらEsc キーを押します。 途中で検索を止めたくなったらCtrl-gを押します。 文書を最後から最初の方へ検索する時はCtrl-rを押します。
また、どのテキストエディタでも「置換(replace)」はあるはずです。 Meadow では「Search→Query Replace」を使用します。 これは複数ある対象を一気に置換するのではなく、ひとつずつ確認しながら置 換します。 操作は次の通りです。
なお、検索や置換を行うとき、現在のカーソルの位置が重要になります。 通常、検索や置換は現在のカーソルより後ろに対して作用します。 ファイルの全体を対象にしたい場合は、カーソルをファイルの先頭に持っていく 必要があります。 Meadow では Alt+Shift+, (Alt+<) を打つとファイルの先頭にカーソルが 動きます。また、 Alt+Shift+. (Alt+>) を打つとファイルの最後にカーソ ルが移動します。
上で説明した「カットバッファ」は、アプリケーションソフトウェア間のデー タのやりとりに使えます(Windows では Macintosh と同様にクリップボー ドと呼ぶようです)。 例えば、Web ブラウザの内容の一部を電子メールで送ることも可能です。
なお、さまざまなソフトウェアでカット、コピー、ペーストの機能は実現され ていますが、それぞれ微妙に呼び方が異なることがあります。 以下はそれぞれのソフトウェアでの画面写真です。
表計算ソフトウェアやデータベースなどでもっとも基本的なデータ形式は、 CSV(Comma Separated Value)と呼ばれる、カンマ「,」でデータを区 切った形式です。 この形式でやりとりする限りは、ほぼ間違いなくデータ交換がうまくいきます。
一方、電子メールや Web など通常のテキストファイルの形式でデータをやり とりするにはどうすれば良いでしょうか? 作成した表を電子メールなどで送るには、OpenOffice の表の部分を選択して、 Copy & Paste で電子メールソフトにデータを貼り付けると、各々のデー タが Tab コードで区切られた形式で貼りつけられます。
しかし、一方、電子メールや Web 上のデータに関しては、データ同士が Tab で区切られていないかぎり、 Copy & Paste ではうまくいきません。 空白などで区切られていたらどのようにすればよいでしょうか? この場合、次のような手順で読み込みます。
表計算の関数には IF という関数があります。
A | B | |
---|---|---|
1 | 1 | =IF(A1=3;5;10) |
このような場合、B1 の値は A1 の値が 3 の時だけ 5 に、それ以外の時は 10 になります(この場合 10)。 IF を使うと一つの式で表せなかったような計算をすることができるようにな ります。
二次方程式 の実根の数は、判別式 の値により、次のようになります。
これを計算させましょう。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 'a | 'b | 'c | '判別式の値 | 実根の個数 |
2 | 10 | 20 | 30 | =B2*B2-4*A2*C2 | =if(D2>0;2;if(D2=0;1;0)) |
コンピュータのソフトウェアの設計では、どんな入力が来ても正常に動作する ことが期待されます。一番初めに取り上げた一次方程式の解法においても a=0 が入力されることは予想され、その場合も正常に動作するこ とが期待されます。
方程式 の解は を考慮すると、 と の値により、次のようになります。
これを計算させましょう。
A | B | C | |
---|---|---|---|
1 | 'a | 'b | 'ax+b=0 の解 |
2 | 10 | 20 | =if(A2=0;if(B2=0;"任意の値";"解なし");-B2/A2) |
このように表を作ると、 が 0 の時でも解が求まります。
註: このように式に文字列を入れる時は、ダブルクォーテーションマークで 「"文字列"」というように括ります。
次回までに Gimp をダウンロードしておいて下さい。 また、Gimp のインストールに使いますので、モノサシを持ってきて下さい。
次の情報を記憶するのに必要なビット数を求めよ。
ヒント: log2(場合の数) の切り上げを考える
次の問いに答えなさい。
を実行しなさい。 そしてecho abc > def
qwer asdf zxcv
qwerasdf asdf zxcv
qwerghjk ghjk zxcv
表計算ソフトで保存できる形式について調べます。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 'あいうえお | 1 | 2006/5/1 | =B1+1 | =SIN(PI()/4) |
次の手順に従って電子メールを送りなさい。
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
補足: 画像も同様にカット、コピー、ペーストの操作ができます。 なお、ウィンドウの表示を画像としてカットバッファ(クリップボード)|に取り込み たい時は、「Alt+PrtSc(PrintScreen)」を押します。
次の表を上記の方法で表にし、表を完成させなさい。 合計は、数量、小計、値引き、販売価格について求めなさい。そして、 出来上がった表を宛先 literacy@edu.net.c.dendai.ac.jp へ電子メールで送 りなさい。
割引率 30 商品名 単価 数量 小計 値引き 販売価格 りんご 120 5 デコポン 300 3 バナナ 60 10 キウイ 100 7 いちご 400 5 合計
但し、タブで区切られているので、文字数により表示が乱れることがあります。 この演習の場合、表示が乱れたまま電子メールを送っても構いません。
例4-8の表を利用して、次の方程式の実根の数を求めなさい。
例4-9 の表を利用して、次の方程式を解きましょう。
二次方程式 の実根を求めるシートを作りなさい。 もし実根が無かったら「解なし」と表示しなさい。 なお、平方根を求める関数は SQRT() とします。 そして次の問題を解きなさい。
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | 'a | 'b | 'c | '判別式の値 | 解 | |
2 | 10 | 20 | 30 | =B2*B2-4*A2*C2 | 大きい方の解 または重解 または"解なし" | 小さい方の解 または表示しない |
解は最大 2 個ありますので、解を計算するセルは 2 個用意します。 一個目のセルは次のような働きをするようにします。
一方、二個目のセルは次のような働きをするようにします。
前回の演習で作成したシートに対してさらに「合格人数」を入力できるよう にして、合否判定を行えるようにしなさい。
A | B | C | D | E | F | G | H | I | J | K | L | M | N | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ? | ? | ? | ? |
次の方程式の組みを満たす x, y の組みを求めるよう なシートを作りなさい。 但し、 の時は、解が無限に存在したり、解がなかったりするので、注意すること。
そして、次の連立方程式を解きなさい。
二元一次方程式は二つの直線の共通部分と考えることができます。平面上の二 つの直線の関係は次のうちのどれかになります。
つまり、与えられた二つの式が平行かどうかを調べてから、さらに平行なら一致す るかどうかを調べると、この場合分けができます。 但し、これは二つの式が両方とも直線を表している時に、初めてできる場合わけ です。 一方、 aとb、cとdの組が 0 になると直線を表さなくなります。 少なくとも一方の式が直線でない場合は、その式に関しては例4-9の方 程式で変数の係数が 0 の場合と同じになります。 つまり、直線でない式 ではその式を満たす x, y は f が 0 か そうでないかで場合わけし、「全ての x, y」あるい は「解なし」となります。 この式で「解なし」の場合はもう一方の直線の式を考慮せずに連立方程式の解 が「解なし」となります。 一方、「全ての x, y」の場合は、もう一方の式を満 たす x, y が、この連立方程式の解になります。 つまりこの場合に出力すべき解は 「 を満たす全てのx, y」と表示することになります。
なお、例えば「解は 5x+ 3y = 1 を 満たす全ての(x, y)」と表計算のセルに表示させるに は、式の中に文字列を埋め込む必要があります。 その場合は次のようにダブルクォーテーションマークで文字列を括り、 & 記号で他の値と結合させます。
="解は"&A2&"x+"&B2&"y="&C2&"を満たす全ての(x,y)"