24
( ) 1 はじめに Windows 、インターネット HTML (ホームページ ) 、フォートラン ( プログラミング ) に学ん いく。 パソコン しており、インターネットに している えてい (アメリカ がメールアカ ントを っている たり りつつある)してパソコン インターネット 対に ある われる する。 1. ワープロ、 がパソコン える。 2. インターネット ち、インターネット モラル かを っている。 3. パソコンを って メール りが きる。 4. WWW サーバーから きる。 げた 活に をきたすように ってくる えられ る。まだ いか しれ いが 、パソコン インターネット する があり、 みが に変わろう している。10 、メーカー がほ していたが 、 メーカー がインター ネットを じて きるように ってきている。 って うに をする 、インターネットを する える ある。 さらに すれ 、パソコン インターネット によって、 マージンを ってい ( えず、 から右にただ すだけ ) される いか われる。つまり した それを する が インターネット ダ イレ クトに れるため、 アイデアを され る。 ロボ ット している まえれ 、こ ってくる あろう。こ において、こ って らえれ ある。 2 計算機センターのパソコンを使用する際の注意 ここ ける 意を する。 1. テキストを するこ 、こ テキストに 沿って う。 2. フロッピーデ ィスク して ってくるこ 。これから する 、パソコン 1

情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

情報処理 (物理学科向け)

郡司 修一

1 はじめに

この授業では、Windowsの基本的操作方法、インターネットの使い方、HTMLの書き方(ホームページの書き方)、フォートランの初歩 (プログラミングの初歩)を順番に学んでいく。現在パソコンは非常に普及しており、インターネットに接続している人口も爆発的に増えている (アメリカでは小学生がメールアカウントを持っているのが当たり前になりつつある)。今後数年間、社会人としてパソコンやインターネット関連で絶対に必要であると思われる事を以下に列挙する。

1.ワープロ、表計算等の基本的操作がパソコンで行える。2. インターネットの基礎知識を持ち、インターネット上でのモラルとは何かを知っている。3.パソコンを使って電子メールのやり取りができる。4. WWWサーバーから必要な情報を検索できる。

以上に挙げた事ができないと、今後一般生活にも支障をきたすようになってくると考えられる。まだ実感は湧かないかもしれないが、パソコンやインターネットの進歩は想像を絶するものがあり、流通の仕組みが現在大幅に変わろうとしている。10年程度前には、メーカーと消費者の間には中間的な業者がほとんど存在していたが、現在はメーカーと消費者がインターネットを通じて直接商品を取引できるようになってきている。従って物を買うにも何をするにも、インターネットを使用する頻度が急激に増えるはずである。さらに極論すれば、パソコンやインターネットの普及によって、中間マージンを取ってい

た人間 (付加価値を与えず、物を左から右にただ流すだけの人間)が駆逐されるのではないかと思われる。つまりものを作り出した人間とそれを購入する人間がインターネットでダイレクトに結ばれるため、物を生み出さない人間やアイデアを持たない人間は段々必要とされなくなる。現在ロボットの開発も非常に進歩している現状を踏まえれば、この現象は今後激しくなってくるであろう。この様な社会情勢を念頭において、この実習を行ってもらえれば幸いである。

2 計算機センターのパソコンを使用する際の注意

ここでは授業を受ける際の注意を説明する。

1.授業の時には、情報処理テキストを必ず持参すること。授業の前半は、このテキストに沿って行う。

2.フロッピーディスク購入して持ってくること。これから実習を開始すると、パソコンで

1

Page 2: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

ファイルというものを沢山作ることになる。しかしパソコンに自分の作ったファイルを沢山書き込んでおくと、他の人が迷惑する。そのため、自分が作ったファイルは、自分で購入したフロッピーディスクに保存するような習慣をつけなくてはいけない。

3.パソコンでは、自分が使いやすいように設定を変更することができる (カスタマイズと言う)。しかし、計算機センターのパソコンは個人の持ち物ではないので、絶対に設定を変更してはいけない。

4.最近、コンピューターウイルスなるものが蔓延している。このコンピューターウイルスとは、パソコンの動作を狂わせるプログラムの様なものである。計算機センターのパソコンには、ウイルス防止機構が施されているが、完全ではない。そのため、素性が分からないファイル等をインターネットから拾ってくるような事をしてはいけない。

5.大学は研究と教育を行う機関であり、遊び場ではない。従ってインターネットを自分の遊びのために使用してはいけない。また当然の事ながら、パソコンやワークステーションを使って商売することも行ってはいけない。ちなみに、インターネットがどの様に使用されていたかを調べることは原理的に可能である。従って、余りにも変な行為を行っていると即座にばれる。

3 Windowsの基礎的な操作

この部分は情報処理テキストを各自読んで実習を進めること。特にテキストの第 2章はパソコンの基本的な使い方が書いてあるので、パソコンに触ったことがない人は、ちゃんと読んでパソコンの電源の入れ方や切り方等を正しく学習すること。すでにパソコンの基本操作を理解している人は、以下の情報処理テキストの第 7章と第 8章に書かれているMS WordとMS Excelを使用して以下の課題を行え。

1. MS Wordを使用して、物理学科に入学した動機を 600字程度にまとめて、プリントアウトし、提出せよ。

2.以下のデータは、ある学年のテストの点数を示している。そのデータをMS Excelに打ち込んで、平均点を求めてみよ。また横軸に点数、縦軸にその点数を取った人数を取り、グラフにして表わせ。

学籍番号  点数1 34

2 83

3 23

4 70

5 100

6 45

7 58

8 29

9 68

10 72

11 37

12 12

2

Page 3: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

13 92

14 70

15 42

16 81

17 100

18 73

19 55

20 19

21 29

22 80

23 69

24 99

25 25

26 56

27 70

28 91

29 61

30 100

31 51

32 18

33 74

34 69

35 79

4 インターネットの基礎

最近ネットワーク,インターネット,マルチメディアという様な言葉はもはや専門用語では無くなってきた感がある。ネットワークとは簡単に言えば,計算機と計算機をケーブルでつないで,複数の計算機を使用したり,様々な情報をやり取りできる様なシステムを構築する事である。インターネットとは,その様なネットワークの一つの種類と考えればよい。世界中の大学のほとんどが現在このインターネットに加入しており,山形からでも,アメリカの計算機にアクセスする事が可能である。また最近WWW(World Wide Web)サーバーというものが企業や大学で数多く構築されている。これは一種の情報局みたいなもので,計算機からWWWサーバーにアクセスすると,色々な情報 (画像及び音声等)が引き出せる。この章では、インターネットを使って、様々なコミニケーションや情報取得の手法を学習する。

4.1 WWWサーバーにアクセスする

まず、Internet Explorer(以後 IEと略す)というソフトを起動せよ。そして各自以下に示すサーバーにアクセスしてみよ。自分の選んだサーバーにアクセスするには、IEの画面のアドレスと書かれた横に長い帯状の箇所に、自分がアクセスしたいサーバーのアドレスを書いて、キーボードのリターンキーを押せばよい。

3

Page 4: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

http://www-sci.kj.yamagata-u.ac.jp/~phys/phys.html

http://ksjoho1.kj.yamagata-u.ac.jp/

http://kspirit.kj.yamagata-u.ac.jp/

http://www.yahoo.co.jp/

http://www.infoseek.co.jp/

以上のリストで、最後の 2つサーバーは検索サーバー呼ばれるものである。この様なサーバーでは、自分が知りたい情報を検索する手助けをしてくれる。この様なサーバーにアクセスすると、画面に文字を打ち込めるような箇所が存在しているのに気がつくであろう。そこで、自分が調べたいものに関するキーワードを打ち込むと、この検索サーバーが自動的に、そのキーワードにマッチするサーバーをリストアップしてくれる。それでは練習として、検索サーバーを使って以下のどれかの情報を検索してみよ。

山形の蕎麦屋鉄腕アトム量子力学

4.2 ワークステーションにログインする (telnetの使用)

前のWWWサーバーへのアクセスは、自分の目の前にあるパソコンに付属しているソフトを通して行われた。次はインターネットを通して、ワークステーションを遠隔操作してみよう。ワークステーションとは、高機能なパソコンだと思えば良いが、一つだけ大きく異なる部分がある。それはパソコンは、目の前に座っている人だけが使用できるのに対して、ワークステーションの場合、多人数の人がネットワークを通じて同時にワークステーションに命令を与えることができる。しかし、誰でもがワークステーションに命令を与えられる権利を持っているわけではない。これから遠隔操作をするワークステーションは、山形大学の計算機センターのワークステーションだが、すでにそれを遠隔操作する権利を皆さんは与えられている。そこでまず、基本的な遠隔操作の手続きを学習する (ただし当然ではあるが、通常のユーザーが完全にワークステーションを操作することはできないようになっており、操作は制限されている)。まずパソコンの画面から「Telnetへのショートカット」と書かれたアイコンを見つけて、こ

れをマウスで選んでダブルクリック (2回マウスの左ボタンを押すこと)する。すると新しいウインドウが開くであろう。そこでそのウインドウの左上に「接続」というメニューがあるので、これをマウスでクリックする。するとサブメニューが現れるので、そのサブメニューの「リモートシステム」という箇所をクリックする。するとさらに新しい小さな画面が現れるので、その画面のホスト名と書かれている場所にキーボードから kdeveと打ち込む (このkdeveというのが、これから遠隔操作を行うワークステーションである)。すると先ほどのウインドウに login:という文字が現れるはずである。そこに計算機センターから渡された、自分のユーザーネームを打ち込んでみよ。そして次に Passwd:というプロンプトが出て来ると思うので,そこで自分のパスワードを打ち込む ( ここで一つ注意が必要。kdeveでは大文字と小文字は区別されるので、小文字で打たなくてはいけない所を大文字で打っても kdeveは理解してくれない)。すると色々な英語の文章が出て来た後,sg046@kdeve%という様なプロンプトが出て来るはずである (人によりプロンプトは若干異なるが)。以上の手続をログインと

4

Page 5: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

言う。ログインとは,これから計算機を使い始めるための手続きである。ログイン操作で自分の使用しているパソコンからワークステーションに,入り込む事ができる。ログイン手続により,kdeveは自分に命令を与える資格があるかどうかを,最初にチェックする (パソコンなら電源を入れるだけだけど ... そこがパソコンとワークステーションの違う所)。またプロンプトとは計算機が人間の命令を待っている時に計算機が画面に表示する印の様なものである。従ってこのプロンプトから、様々な命令を打つことにより、ワークステーションを操作することができる。もしログインした時点で、ウインドウに表示される文字が文字化け (正しく文字が見えない現象)を起こしていたら、このウインドウの左上の「ターミナル」というメニューをマウスで選ぶ。するとサブメニューが出てくるので、そのサブメニューの中で「設定」という項目を選ぶ。その中で漢字コードの設定を「日本語 EUC」にして、OKという箇所をマウスでクリックする。この操作により、今後文字化けが解消されるはずである。またワークステーションの操作を止める時には,exitというコマンドを打てばワークステー

ションから抜けられる (抜けられないで,更にプロンプトが出てきたなら,もう一度 exitというコマンドを打つ)。ワークステーションから抜けたら、画面の上の sessionという箇所をマウスで選んで、そこの終了という項目を選ぶ。そしてその画面の左上隅にあるマイナスマークをマウスで選ぶとメニューが出てきたはずである。そこで閉じるという項目を選ぶ。これで一応ワークステーションの使用を完全に終えた状態になる。

4.3 メールを使う

それでは、ワークステーションを使って電子メールの送信を行ってみよう。電子メールを送るには、まずその文章を書かなくてはいけない。ワークステーションを使って文章を書くには、muleというソフトウエアを使用することになる。まず以下のコマンドで test.txtというファイルの中にこれから送るべきメールの内容を書く。

sg046@kdeve% mule test.txt <---これから test.txtというファイルを作る

すると画面が白くなると思う。そこでキーボードからアルファベットを打ち込むと,画面に入力したものがそのまま画面に現れるはずである。もしローマ字で書かれたメールや英語のメールを送るのであれば、そのまま書き続けて、書き終わったらコントロールキーを押しながらxを押し,cを押す。すると今書いたファイルを保存するかどうか聞いてくるので,yを押すと保存される。これが muleによる最も簡単なファイルの作り方である (muleのもっと進んだ使い方は付録を参照)。そして、次に以下の操作により、相手にメールを送ることができる。

sg046@kdeve% mailx sg046 <test.txt

ここで、mailxというのがメールを送るコマンドである。そして次に書かれている sg046がメールを送りたい相手を表している (sg046は kdeveでの僕のユーザーネーム)。この部分をメールアドレスと呼ぶ。さらに <につづく test.txtが送りたいメールのファイルである。ここで一言メールアドレスに関して簡単に説明しておこう。以上で説明したように、kdeve

からぼく宛にメールを打つ場合には、以上の様にすればいいが、他の大学や kdeveにアカウントを持っていない人にメールを打つ場合には、アドレスの指定方法が異なってくる。例えば他の大学から僕にメールを送りたい人は、以下のようなメールアドレスを指定してメールを打つ。

5

Page 6: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

% mailx [email protected] <mail.dat

この@以下の所は何を意味するかというと、まず kdeveは僕の使用している計算機、kjとは小白川 (kojirakawa)の kと jという文字を取ったもの。また yamagata-uは山形大学という意味である。また acとは academyの略で、日本の学術機関を意味する。また最後の jpは日本(japan)を意味している。例えば以下の様にメールを打つと、僕の東大で使っているワークステーションにメールが送られる。

% mailx [email protected] <mail.dat

もし学外の友達にメールを送りたい場合には、単にその人のユーザーネームを聞くだけでなく、ちゃんとしたフルアドレスを聞いておく必要がある。次にもし日本語で文章が書きたい場合には、muleを起動した段階で、cannaと呼ばれる日

本語変換ソフトを使いながら日本語を書くことになる。この方法は付録に書いてあるので、各自参照して、日本語のメールが打てるようにすること。

またメールを受け取る場合には以下のようにコマンドを打てばよい。

sg046@kdeve% mailx

もし、自分宛のメールがきていれば、自分宛のメールのリストが表示される。そこで読みたいメールの番号を打ち込めば、そのメールを読むことができる。なおメールを読み終わったら、アルファベットの qと打つことで、通常のプロンプトに戻ることができる。

(課題)ティーチングアシスタントにメールを出してみよ。

4.4 ftpを使ってみる

ftpとは、ファイルをパソコンとワークステーションでやり取りする時に使うプログラムである。まず最初に購入しておいたフロッピーディスクをパソコンに挿入する。次にパソコンから ftpというプログラムを動かして、ワークステーションに接続する事を行う。そのためにWindowsのスタートキーのプログラムというメニューから、”MS-DOSプロンプト ”というのを選ぶ。すると新しい画面が現れるはずである。そこから以下のようなコマンドを打つ。

C:\WINDOWS>A:

A\> ftp kdeve

すると kdeveがユーザーネームとパスワードを聞いてくるので、telnetと同じ要領でユーザーネームとパスワードを打ち込む。するとプロンプトが FTP>というプロンプトに変わったと思う。もし転送したいファイルが、テキストファイル (muleで開いたときにちゃんとファイルの中身が見れるようなファイル)であるなら、get若しくは putというコマンドを打つ。getはワークステーションにあるファイルをパソコンに持ってくるためのコマンドである。またputはパソコンにあるファイルをワークステーションに転送するためのコマンドである。例を以下に示す。以下の例では、ワークステーションにある test.txtというファイルをパソコンにtest1.txtという名前で保存する例である。

FTP>get test.txt test1.txt

6

Page 7: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

また以下の例は、パソコンにある test.txtというファイルをワークステーションに test1.txtという名前で転送する例である。

FTP>put test.txt test1.txt

もし、テキストファイルでなく、muleやWordで開いても意味不明な事が書かれているファイルであれば putや getというコマンドを打つ前に、binaryというコマンドを打ってから開始する。皆さんが、ftpというプログラムの恩恵に預かるのは、パソコンで作った文章をワークス

テーションに転送して、それを他の人にメールで送る場合であると思われる。

5 ホームページの作り方

以前に実習でWWWサーバーにアクセスする事を学んだ。では自分がホームページを作るにはどの様なことをすれば良いのであろうか。完全に他人の手を借りず独りでそれを行うには 2段階の手続きを踏まなくてはいけない。まず第一段階は、インターネットに繋がっているパソコンやワークステーションで、まず自分のホームページを作る。そして、第二段階はホームページを他人に公開するためのソフトウエアの設定をパソコンやワークステーションで行う。この第二段階は、かなりの知識が必要であり、通常のインターネットユーザーは自力では行わないのが普通である。たいていの場合には契約しているプロバイダーがそれを代行してくれたり、または研究室の教官や会社のシステム管理者が行ってくれる。そのため、本実習では第一段階の事を学ぶことにする。最近は非常に便利なソフトが増えてきて、ワープロで文章を書くと、即座にそれをホーム

ページに変換してくれるソフトがある (実際実習で使うWordというワープロはその様な機能を備えている)。そのため、現在ではほとんど複雑なことを行わなくても、自分のホームページが簡単に作れるが、凝ったホームページを作りたい場合には、HTMLという一種のプログラム言語を修得しなくてはいけない。しかしこの HTMLという言語も、それほど難しく無く、ワープロで文章を書くのに毛の生えた程度のものである。そこで以下に、WWWのホームページを作成するための基本的な事柄を紹介する。

5.1 基本中の基本

まずWWWサーバーのホームページを作成する場合、ワープロを使ってそのホームページを表示するためのプログラムを書くことになる。そこでまずなんでも良いから、ワープロソフトを立ち上げよう。そして以下の様にまず書くこと (Wordで文章を書く場合には、以下のものを書く必要はなく、いきなり自分の表示したい文章を書けばよい。そして文章を保存する際に、HTMLで保存を選んでファイルを保存すれば、自動的に以下の部分をWordはつけ加えてくれる)。

<HTML>

<HEAD>

<TITLE>

7

Page 8: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

</TITLE>

</HEAD>

<BODY>

</BODY>

</HTML>

そして次に<TILTE>と</TITLE>の間に、自分のホームページのタイトルを書く。例えば、僕の場合であれば「郡司のホームページ」とか書けばよい。そして<BODY>と</BODY>

の間に、何か適当な文章を打ってみよ。「これはテストです、これはテストです」でも何でも良い。そしてそこまで出来たら、この今作っているファイルを、Plain Textとして保存して、Explorer等のブラウザーでこのファイルを指定して見てみよ。いまやったことだけで、ちゃんと自分のホームページが画面に表示されたはずである。上に書いたプログラムを見ると、気づくと思うが、対になっているものが幾つか発見でき

るであろう。例えば <HTML>と </HTML>、<BODY>と</BODY>などである。例えば HTMLの文法では、<HTML>と</HTML>の間に、HTMLのプログラムを書くという規則がある。また、<BODY>と </BODY>の間には、HTMLのプログラムの文章を書くという規則がある。非常に馬鹿ちょんな HTMLであれば以上の規則だけ知っていれば書けてしまう。そこで先

ほどの「これはテストです、これはテストです」という箇所を色々変更してみると良い。そして Explorer等のブラウザーで書き換えた文章を見てみるとよい。ちゃんとそれだけで自分のホームページを作ることが出来るのである。

5.2 基本的な文法

以上の説明が一番簡単な HTMLの書き方である。しかし色々な他人のホームページを見るともっとカッコいいはずである。ではここでは段々自分のホームページをかっこよくする方法で基本的なものを説明する。まず最初にタグという言葉を覚えて欲しい。<BODY>と</BODY>の間に書いた文章は、ブラウザーで見るとそのまま表示されたはずである。しかし <BODY>という文字は画面に表示されてはいないであろう。この様な <BODY>等の文がタグと呼ばれるものであり、画面には直接表示されず、画面の制御を行う文である。タグには基本的に 2種類ある。一つは対になって現れるタグである。例えば <BODY>には、対になって</BODY>というタグが書かれているであろう。それに対して、対になっておらず1つのタグも存在する。以下ではこの 2種類あるタグで非常に基本的なものを紹介する。

改行 <BODY>と </BODY>の間に文章を沢山書いていると、自分の思ったところで改行をしたいと思うであろう。しかしただ単純に文章を書いていっただけでは、自分の思ったところでは文章は改行されてくれない。そこで自分の思ったところで改行を行わせるタグがある。これが <BR>というタグである。例えば以下の例を見てみよう。以下の文章を <BODY>と</BODY>の中に書いたとする。

これはテスト 1です。

8

Page 9: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

これはテスト 2です。これはテスト 3です。<BR>

これはテスト 4です。

もしこれをブラウザーでみたとすると、以下のように見えると思う。

これはテスト 1です。これはテスト 2です。これはテスト 3です。これはテスト 4です。

つまり <BR>というタグを書くと強制的に改行が行われるのである。

文字の大きさ 画面に表示される文字の大きさを変えたい場合がある。以下のような文を<BODY>

と</BODY>の間に書いてみよ。

<H1>これはテスト 1です。</H1><BR>

<H2>これはテスト 2です。</H2><BR>

<H3>これはテスト 3です。</H3><BR>

<H4>これはテスト 4です。</H4>

この文章を保存してブラウザーで見ると分かるとおり、段々文字の大きさが小さくなっているであろう。つまり <H1>と </H1>で囲まれた部分は、文字の大きさが制御されるのである。

線を引く ある文章を書いて、次の文章を書く際にその間に横方向に線を引きたい場合がある。その場合には以下のように書く。

これはテストです。<HR>

これはテスト 1です。

この <HR>というタグは線を引きなさいというタグである。

文字の点滅 人のホームページを見ると、文字が点滅を繰り返しているものがある。この様にしたいのであれば、以下のような文章を書いてみると良い。

これはテストです。<BLINK>

これはテスト 1です。</BLINK>

すると「これはテスト 1です。」という文章が点滅したであろう。<BLINK>と</BLINK>

というタグは対で使って、その間に囲まれた文章を点滅させるという働きをする。

リンクの張り方 ホームページを見ていて、ある部分をマウスでクリックすると、違うページに飛ぶというのは、非常によくある方法である。これは以下のように書く。

9

Page 10: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

ここをクリックすると、<A HREF="http://ksjoho1.kj.yamagata-u.ac.jp/

~phys/phys.html">物理のホームページ</A>に飛ぶよ。

この様に書いて、ブラウザーで見てみるとよい。「物理のホームページ」という部分の色が変わっていて、ここをマウスでクリックすると、物理学科のホームページにとんだであろう。http://ksjoho1.kj.yamagata-u.ac.jp/ phys/phys.htmlというのが実際に飛びたいホームページのアドレスを指定してある。</A>の直前にある「物理のホームページ」という部分が、画面で色が変わって見える部分になる。

箇条書きの方法 よく人のホームページを見ると箇条書きになっている部分がある。これを実現するには、以下のようにする。

<UL>

<li>箇条書きの方法 1です。<li>箇条書きの方法 2です。<li>箇条書きの方法 3です。</UL>

画像の張り込み 自分のホームページに画像を張り付けたい場合には、以下のようなタグを使う。

<IMG SRC="test.gif">

ここで test.gifというのは自分が張り付けた画像ファイルの名前である。画像ファイルはどんなファイルでも良いかというとそうでもない。大抵はGIFフォーマットか JPEGフォーマットか PICTフォーマットと呼ばれる種類のファイルを使う。

(課題)以上のタグを駆使して、自分のホームページを作ってみよう。そして、できたらそれを教官にフロッピーディスクを提出すること。

6 Fortranの実習 (プログラミングの初歩)

よくプログラムという言葉をちまたで聞くと思うが、では実際にはいったいなんの事なのだろうか? プログラムとは、ある一連の仕事をコンピューターにさせるために、その作業の流れをコンピューターに解るように書いた一連の文章である。しかし言語にも日本語や英語やフランス語があるように、コンピューターにも言語というものが存在する。コンピューターに一連の仕事をさせるには、当然コンピューターが理解できるような言語で命令を与えなくてはならない。計算機センターのワークステーションは、フォートラン言語や C言語と呼ばれる言語を初めとする様々な言語を理解することができる。その中でもフォートランという言語は、物理学の分野で非常に使われる言語であり、半年程度あれば基本的な事を覚えるのはそれほど難しいことではない。そこで本実習ではフォートラン言語でプログラミングの実習を行う。

10

Page 11: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

6.1 プログラミングの流れ

まずプログラムを書くには、ワークステーションにログインする事からはじめる。ワークステーションへのログインの方法はすでに実習で行っているはずなので、手続きを忘れてしまった人はその箇所を参考にすること。ログインできたら、以下のコマンドを打つこと。

sg046@kdeve%mkdir program

上のコマンドは、programというディレクトリーを作りなさいという命令を意味している。ディレクトリーとはファイルを格納する箱だと思えばよい。皆さんは、Windowsを動かしていたから分かると思うが、ディレクトリーとは、フォルダーの事だと考えれば良い。つまり、これから書くプログラムを一つのフォルダーにまとめるために、programというフォルダーを作ったのである。ではその今作った programというディレクトリーにファイルを作ってみよう。このディレクトリーにファイルを作るには、まずそのディレクトリーに ”移動”する。Windowsの場合、自分の作ったフォルダーの中にどの様なファイルが入っているかを見たい場合には、そのフォルダーをマウスでダブクリックするであろう。すると、フォルダーのウインドウが画面前面に出てくる。ワークステーションの場合、以下の cdというコマンドを使って、それを行うのである。

sg046@kdeve% cd program

これにより、現在 programというディレクトリーに ”移動”したことになる。その他にも沢山のコマンドがあるが、それは付録に整理しておいたので、各自参照すること。それでは次に、以下のコマンドでファイルを作ってみよう。

sg046@kdeve% mule temp.f

以上のコマンドはエディターであるmuleを使用して、temp.fと言う名前のファイルにフォートランプログラムを書きますという意味である (最後の.fというのがフォートランプログラムによく使うファイルネームである)。このコマンドを打つと、画面が白紙に変わる。そしてそこにプログラム言語の文法の規則に従って、一連の仕事の流れを書いていく。フォートラン言語でワークステーションにやらせたい仕事の流れを書いたら、muleというワープロを終了して、そのフォートランプログラムを保存する (muleの終了の方法は、メールの実習の箇所を参照する事)。自分が書いたフォートランプログラムは、よくソースプログラムと呼ばれる( ソースとは sauceでなく sourceである、大本という意味である)。それでは、すぐこのプログラムを実行できるかというとそうはいかない。ワークステーションはフォートラン言語で書かれたプログラムを直接理解することはできない。そこで、ワークステーションが理解できる形にソースプログラムを直してやる必要がある。その直すためのコマンドをいかに示す。

sg046@kdeve% frt -o temp temp.f

上の例は、temp.fというソースファイルをワークステーションが理解できる tempというファイル (実行ファイルと呼ばれる)に変換した例である。ここで初めて、ワークステーションが理解できるような形の tempというファイルができあがった (逆に tempというファイルの中身は人間にはほとんど理解不可能であろう)。ここでちょっと覚えておいてもらいたい事は、もし temp.fというソースファイルを作ったら、実行ファイルの名前は、tempにして欲しい

11

Page 12: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

し、sample1.fというファイルを作ったら、実行ファイルの名前は sample1にして欲しいという事である。この様な名前の付け方をしておくと、どのソースファイルでどんな実行ファイルを作ったのかが一目瞭然になるからである。以上がフォートランプログラムを組んで、指定した作業をコンピューターに行わせる手順

である。では実際にどのような作業をコンピューターにやらせることができるのだろうか。もし簡単な仕事なら、なにもフォートランプログラムを組む必要はなく、手で計算すればよい。しかしもしあなたが量子力学の問題をコンピューターに解かせたいとしよう。これはとてもじゃないけど、一言では言い表せないぐらい大変な仕事だとする。そんなときに、あなたは手で計算を行うより、手順だけ書いて (プログラムを書いて) ワークステーションに行わせた方が楽である。

6.2 フォートランの基礎的な規則

フォートランでプログラムを組む場合、基本的にフォートランの文法に従って、文章を並べていくことになる。この文章の並びをメインプログラムと言う (それに対して副プログラム(サブルーチン)というのもあるが、これは今回の実習では行わない)。では、最も簡単なプログラムを例にとって、フォートランの文法を勉強していこう。例として、画面にただ TESTと表示させるためのプログラムを書こう。このプログラムは

以下のようなプログラムで実現できる。

c----------

c test

c----------

Write(6,*)’TEST’

End

上から見ていこう。まず 1行目から 3行目までは、一列目が cで始まっている。フォートランの規則で、一列目が cで始まる文章は、コメントを意味する。コメントとは、プログラムで何をやっているのかを明確にするために、自分の覚え書きとして書く文章の事である。だから 1行目から 3行目はプログラムの実行の際には、意味をなさない。4行目は空行であり、何も書いていない。この様な行はプログラムの実行には何も影響を与えない。単にプログラムを読みやすくするために、この様な空行を入れただけである。5行目には、7列目からWriteという文で始まる文章がある。このプログラムでは、この行がプログラムの本体である。フォートランではプログラムは 7列目から 72列目までの間に書かなくてはいけないという規則がある。そのためWriteという文章が 7列目からかかれているのである。Write(6,*)とは、画面に文字を打ち出しなさいという命令を表している。そしてその打ち出したい文字は、TESTという文字であるが、打ち出したい文字はクオーテーションで囲いなさいという規則がフォートランにはあるので、文字がクオーテーションで囲まれている。6行目には、7列目から Endという文章が書かれている。この Endという文は、プログラムの終わりに書くという規則がフォートランにあるので、その様に書いている。このプログラムでは、Writeとか Endといったフォートラン固有の文が出てきたが、フォートランでは基本的に、文字は大文字で書こうが小文字で書こうがどちらでもよい。従ってEndでなく、ENDと書いてもよい。以上のソー

12

Page 13: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

スプログラムを実行プログラムに直して、実行させてみよ。画面に TESTという文字が出たはずである。次にもう少し長いプログラムを書いてみよう。以下がその例である。このプログラムは、自

分が打ち込んだ 2つの数を足し算するプログラムである。もう少し詳しく言えば、a,b,cという 3つの実数変数を用意して、ユーザーに aと bに数字を代入してもらって、その 2つの代入した数字を足して cに代入て、その答えを書かせるプログラムである。

c--------

c sample

c--------

Implicit none

Real a,b,c

Write(6,*)’a=’

Read(5,*)a

Write(6,*)’b=’

Read(5,*)b

c=a+b

Write(6,*)’c=’,c

End

このプログラムでは 1行目から 3行目までは、以前と同様コメント行である。次に 4行目に7列目から Implicit noneという文章が出てくる。これは、プログラムの中で変数を使いたい場合に使う文である。これも同様に 7列目から書き始める。5行目には、プログラムで使用する変数が定義されている。ここでは a,b,cという 3つの実数変数がプログラムで使われると言う事を宣言している。Realとは実数を意味している。7,9はそれぞれ画面に、a=と b=という文字を打ち出しなさいという事を意味している。また 8行目と 10行目は 7文字目から Readで始まる文が書いてある。この文は、キーボードから打ち込んだ数字を aに代入しなさいという事を意味している。10行目は、同様にキーボードから打ち込んだ数字を bに代入しなさいという事を意味している。11行目は、aと bを足した結果を cに代入しなさいという事を意味している。=とは、等しいという意味ではなく、右辺の結果を左辺に代入しなさいという意味である。そして 12行目には、Write(6,*)’c=’,cという文があるが、これは画面に c=という文字を打ち出した後に、cの値を画面に書きなさいという事を意味している。そして最後に End文でプログラムを終了している。以上のソースプログラムを書いて、実行させてみよ。この先プログラムを自分で書いたら必ず sample1.fとか sample2.fという様に.fで終わるファイルネームにすること。また実行ファイルの名前は,ソースファイルの名前が sample1.fなら sample1,sample2.fなら sample2というようにすること。また実行ファイルが正しく作れなかったり、実行ファイルを動かそうとしても、動かないようであれば、それはプログラミングに失敗している。もう一度muleを立ちあげて、文法が正しいかチェックすること。いままでに、フォートランの規則が幾つか出てきたので、それをまとめる。

1.一列目が cで始まる文は、コメント文で、プログラムには影響を及ぼさない文である。2.意味のある文は 7列目から 72列目までの間に書かなくてはいけない。3.プログラムの終わりには、Endという文を書かなくてはいけない。

13

Page 14: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

4.プログラムは基本的に上から実行されていくことを念頭において書かれなければいけない。5. Implicit noneという文は変数の宣言の前に書かれていなくてはいけない。また変数の宣言は、プログラムの本体より先に書かれていなくてはいけない。

6. Write(6,*)という文は、文字や変数を画面に表示するために使用する。クオーテーションで囲まれた部分は、そのまま画面に現れる。クオーテーションで囲まれていない部分は、変数だと解釈され、その変数の中身が画面に打ち出される。

7.コンマ (,のこと)は、区切りを意味している。例えば、Real a,bであれば、aと bの両方を実数変数として定義する事を意味する。またWrite(6,*)’c=’,cであれば、c=という文字と cという変数の中身を表示することを意味する。

8. Read(5,*)という文は、キーボードから打ち込まれた数 (若しくは文字)をその次に書かれた変数に代入することを意味する。例えば Read(5,*)aであれば、キーボードから打ち込まれた数が aに代入される。

9. =は等しいことを意味するのではなく、右辺を左辺に代入することを意味する。

6.3 フォートランの実習 (初歩の初歩)

ここでは今まで学習した文法に加え、様々なフォートランの文法を学習する。このテキストに書かれている事だけで、一応簡単なプログラムを書くことはできるはずでだが、簡単なフォートランの本を購入する事を薦める。

6.3.1 Do文

Do文とは,ある操作を繰り返し行わせたい時に使用する。下にサンプルのプログラムを示す。各自muleで打ち込んでみて、プログラムを実行させてみよ。

c----------

c sample do

c----------

Implicit none

Integer i

Integer sum

sum=0

Do i=1,100

sum=sum+i

End do

Write(6,*)’sum=’,sum

End

上のプログラムは 1から 100まで足し算した結果を表示するプログラムである。上のプログラムでは、Integerという宣言文が出てきて、iと sumという 2つの整数の変数が定義されている。そして最初に、sumにゼロを代入している。その次がメインの Do文である。繰り返

14

Page 15: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

しの有効範囲はDoとEnd doの中のみである。一番最初にDo文に出会うと、iの値は 1になる。sum=sum+iという文は、現在の sumの値 (0)と現在の iの値 (1)を足し算して、結果をsumに代入する事を意味する。従ってこの時点で sumの値は 1になっている。次に End doの所までプログラムが進むと、もう一度Doの直ぐ下の文が実行されるが、その時の iの値は2になっている。つまり sum=sum+iという文は、現在の sumの値 (1)と現在の iの値 (2)を足し算している。従って Do文が 2回繰り返された時点で sumの値は 3になる。上の例では iが 100になるまで Do文が繰り返されており、iが 100になった時に、Write文が実行される。このプログラムを見て気が付くのは,sumという変数と iという変数は,小文字で書かれて

いるが DoとかWriteとか Integerとか,フォートラン自身であらかじめ定義されている文字は最初は大文字で書かれている。なるべくこの様にプログラムを書くと分かりやすいプログラムになる。(当然この様にしなくてもプログラムはちゃんと動作するが...) また Doと Enddoの間に囲まれた行は少し文が始まる位置が下がっている。Doと End doで囲まれる部分は,必ず何文字かの字下げをして書くこと (Muleではタブキーを押す事である程度自動的にこの様な作業を行ってくれる)。これもプログラムを見易くするこつです。このプログラムが動作したら,自分で少しこのプログラムを書き換えてみよ。(問題)(1+∼+11)+(2+∼+12)+∼+(10+∼+20)を Do文を使って計算せよ。そしてその結果を手で計算した結果と比べてみよ。

6.3.2 If文

If文は,プログラムの中で条件分岐が必要な場合に使う。下がサンプルプログラムである。このプログラムは最初に、aと bという変数をキーボードから打ち込み、その 2つの数の大小関係を調べるプログラムであるが、その様な条件判定を行わせるのに If文は使われる。

c--------

c sample If_1

c--------

Implicit none

Real a,b

Write(6,*)’a=’

Read(5,*)a

Write(6,*)’b=’

Read(5,*)b

If(a.gt.b) Then

Write(6,*)’a>b’

End If

If(a.lt.b) Then

Write(6,*)’a<b’

End If

If(a.eq.b) Then

Write(6,*)’a=b’

15

Page 16: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

End If

End

基本的には If文は Ifのカッコの中に囲まれている条件を満たせば,その次の文章に処理が移るというものである。もし条件を満たさなければ,End Ifに飛ぶ。例えば 12から 14行目は、aよりも bが大きいなら、If() Then.... End Ifの中に書かれた文が実行されるが、もしその条件に合わない場合には、中に書かれた文は実行されないという仕組みである。プログラムを書くときに頭の中で「If(もし)aが bより大きいならば、その時に (Then) a>bと書け」という様に思い浮かべながら書くと良いだろう。またフォートランでは大小関係を表す記号として、.gt.、.ge.、.eq.、.ne.、.le.、.lt. 等の記号を使う。.gt.は「より大きい」を、.ge.は「以上」を、.eq.は「等しい」を.ne.は「等しくない」を、.le.は「以下」を、.lt.は「より小さい」を示す。また Do文と同じく Ifで囲まれている所は,字下げして書いたほうがプログラムが読みやすい。また上で示したプログラムは以下の様にも書く事ができる。このプログラムはさらに Else

という文を使ったプログラムである。

c--------

c sample If_2

c--------

Implicit none

Real a,b

Write(6,*)’a=’

Read(5,*)a

Write(6,*)’b=’

Read(5,*)b

If(a.gt.b) Then

Write(6,*)’a>b’

Else if(a.lt.b) Then

Write(6,*)’a<b’

Else

Write(6,*)’a=b’

End If

End

上のプログラムでは、Elseという新しい言葉が出てくるが、これは”そうでないなら” と訳して考える。つまり上のプログラムの If文の所は、「もし aが bより大きければ、その時 a>bと書き出しなさい。”もしそうでなく”、aが bより小さいなら、その時 a<bと書き出しなさい。また”そうでもないなら ”a=bと書き出しなさい。」という様に読む事ができる。上のプログラムはさらに以下の様にも書ける。それぞれのプログラムが全く同様に動作する事を確認せよ。

c--------

16

Page 17: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

c sample If_3

c--------

Implicit none

Real a,b

Write(6,*)’a=’

Read(5,*)a

Write(6,*)’b=’

Read(5,*)b

If(a.gt.b) Then

Write(6,*)’a>b’

Else

If(a.lt.b) Then

Write(6,*)’a<b’

Else

Write(6,*)’a=b’

End If

End If

End

どちらかと言うと,sample If 2や sample If 3の様な書き方を勧める。If文はバラバラに書くよりも,Elseを使った方がすっきりするし,なお条件の数え落としを防ぐ事ができる。

If文にはいろんなパターンがあるが以下に示すのは,プログラムの一部での If文の使い方である。参考にするとよいであろう。

If((a.ge.c).AND.(a.le.b)) Then <---aが c以上かつ b以下であるなら aの値をWrite(6,*)’a=’,a 書け。

End If

If((a.ge.c).OR.(a.le.b)) Then <---aが c以上若しくは b以下であるならWrite(6,*)’a=’,a aの値を書け。

End If

(問題)キーボードから 3つの数字を打ち込んで,もしこの 3つの数字を 3辺とする 3角形が作れるなら,コンピューターの画面に successと打ちださせ,もし 3角形ができなければ,failと打ち出させるプログラムを作れ。

6.3.3 goto文

goto文は,If文や Do文の中から外に抜ける時に主に使用する。サンプルのプログラムを以下に示す。

c-------------

17

Page 18: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

c sample goto1

c-------------

Implicit none

Real a

Write(6,*)’a=’

Read(5,*)a

10 Continue

a=a+0.001 <---aの値を少しづつ増やして,aが 1を越えたらIf(a.lt.1.0) Then プログラムを終了しなさいというプログラム

goto 10

End If

Write(6,*)’a=’,a

End

goto文は continue文といっしょに使う。goto文までプログラムが進んだ時に,goto文の指定する番号の所に制御を戻すという様な使い方である。Continue文の前にある番号は,2列目から書き始めるようにすること。また Continue文は 7列目から書き始めること。(問題)キーボードから自分で好きな自然数 (Nとする)を入力し,N<2nの条件を満足する最小の nを求めるプログラムを goto文を使って製作せよ。

6.3.4 Implicit noneについて

Implicit noneという文はすでに学んだが、その意味はあまり触れなかった。実は Implicitnoneという文は、定義していない変数がプログラムの中に現れる事を禁止する文である。そのため必ず、Implicit noneの後には、プログラムで使われる変数を書いていた。しかし本来、Implicit noneという文が無ければ、Realや Integerで変数を宣言する必要はない。本来フォートランの文法では,ユーザーが定義をしなければ、i,j,k,l,m,nで始まる変数は整数として定義され、それ以外の変数は実数として自動的に定義される。これを暗黙の型宣言と言いうが、この様なフォートランの仕組みはあまりよい仕組みとは言えない。ここで一つ休憩がてらに Implicit noneがなぜ重要かという問題について触れてみたいと思う。以下のプログラムを見て欲しい。これは 2つの数を足すプログラムを書くつもりで書かれたプログラムである。しかしこれは正しく機能しない。なぜだろうか?

c----------

c implicit

c----------

Write(6,*)’a1=’

Read(5,*)a1

Write(6,*)’a2=’

Read(5,*)a2

18

Page 19: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

Write(6,*)’a1+a2=’,al+a2 <---この部分に注意!!

End

これが分かる人は相当目が良い人だろう。実は al+a2の部分の下線部は数字の 1 でなくてエルの小文字である。「なんだつまらない」と言うかもしれないが,一日中プログラムを打っていると,必ずと言っていい程タイプミスをする。上の例は疲れている時にはまず発見できないだろう。しかしもし Implicit none をちゃんと入れていれば,話はまったく違ってくる。実行ファイルを作る際に、ワークステーションが間違っている箇所を教えてくれるのである。Implicit noneはタイプミスを防ぐ強力な方法である。

6.3.5 組込み関数

フォートランは四則演算 (+,-,*,/)の他に色々な関数をサポートしている。この様にあらかじめフォートランが最初から持っている関数を組み込み関数と言う。例えば三角関数や指数関数や対数関数などはフォートランに最初から用意されている。以下は組み込み関数を使用した例である。

c----------

c test_func

c----------

Implicit none

Real a,b

Write(6,*)’a=’

Read(5,*)a

b=sin(a) <---aの sinの値を求めている。Write(6,*)’sin(a)’,b

End

組込み関数でよく間違うのは,sinと sindの違いとか,logと log10の違いである。sinはラジアン単位で使われ,sindは度の単位で使われる。logは対数の底が自然対数で log10は底が 10なので間違わないように!! またよく使う組み込み関数を以下に載せておいたので、参照すること。(問題)x2 = yと e−x/0.3 = yの交点をフォートランで解かせてみよ。ただしその交点は 0.01程度の誤差を含んでも良い。

6.3.6 行列

計算で行列を扱う事がよくある。以下に行列を使った簡単なプログラムの例を挙げておく。下のプログラムは 2行 2列の行列の足し算をするプログラムである。その他に行列として,a(6)とか a(2,3)とか a(3,4,5)等の色々なものが使える。

c-------

19

Page 20: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

関数 機能sin(a),cos(a),tan(a) aの sin,cos,tanを求める。aはラジアン単位で指定する。sind(a),cosd(a),tand(a) aの sin,cos,tanを求める。aは度の単位で指定する。asin(a),acos(a),atan(a) sin,cos,tanの逆関数,aはラジアン単位で指定する。asind(a),acosd(a),atand(a) sin,cos,tanの逆関数,aは度の単位で指定する。exp(a) eaを意味する。log(a),log10(a) それぞれ logea,log10aを意味する。sqrt(a) aの平方根を意味する。max(a,b,c),min(a,b,c) それぞれ a,b,cの最大値と最小値を求める。mod(a,b) a/bの余りを計算する。int(a) aの値を少数以下切り捨てる。float(a) 整数 aの値を実数に変換する。abs(a) aの絶対値を求める。

表 1: フォートランの組込み関数

c matrix

c-------

Implicit none

Real a(2,2),b(2,2),c(2,2) <---2行 2列の行列を定義している。Integer i,j

Do i=1,2

Do j=1,2

Read(5,*)a(j,i)

End do

End do

Do i=1,2

Do j=1,2

Read(5,*)b(j,i)

End do

End do

Do i=1,2

Do j=1,2

c(j,i)=a(j,i)+b(j,i)

Write(6,*)’c(’,j,i,’)=’,c(j,i)

End do

End do

20

Page 21: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

End

(問題)2行 2列の逆行列を計算するプログラムを書け。もし逆行列がない場合には,その胸を画面に表示させよ。

7 最後に

最初はプログラムを組むのは大変だと思うが、物理を勉強する上でプログラムは大きなメリットになるので、大変だとは思うが頑張って勉強してもらいたい。なお本テキストには幾つか問題があったが、すべて宿題として提出してもらう。提出期限は、2月 22日までとする。また提出方法は、gunji@kspirit宛に自分で書いたプログラムをメールで送ること。

8 付録

8.1 UNIXのコマンド一覧

コマンド 機能説明exit 計算機を使うのをやめる (ログアウトするという)。ls ファイルの一覧を表示するmore filename ファイルの中身を見るcd dirname ディレクトリーを移動するpwd 現在いるディレクトリーを確認するmkdir dirname 新しくディレクトリーを作るrmdir dirname ディレクトリーを削除するcp file1 file2 file1を file2にコピーするmv file1 file2 file1という名前のファイルを file2という名前に変更するrm filename ファイルを消すfrt フォートランコンパイラーを起動するman コマンドの使い方を表示するfinger 現在計算機を使用している人を調べるgrep keyword filename ある言葉がファイルの中に含まれているか探すmailx 電子メールを送ったり読んだりするtalk 計算機を通してお話しをするtelnet 計算機にログインするftp 他の計算機からファイルを持ってくるlpr プリンターにファイルを打ち出すlprm プリンターにプリントアウトを停止させるlpq 自分のプリンターに出した要求番号を確認する

表 2: UNIXでよく使用するコマンド一覧。上の表で manの所まではよく使う。それ以外はおいおい覚えるとよい。

21

Page 22: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

8.2 Muleの使い方

コマンド 機能説明CTRL-x CTRL-c 編集を終了する

CTRL-n 一行カーソルを下へCTRL-p 一行カーソルを上にCTRL-f カーソルを右にCTRL-b カーソルを左にCTRL-a カーソルを行の先頭にCTRL-e カーソルを行の最後にCTRL-v カーソルを一ページ後ろに移動ESC-v カーソルを一ページ前に移動ESC-> カーソルをファイルの最後にESC-< カーソルをファイルの先頭に

ESC-x goto-line カーソルを自分の指定した行にCTRL-d カーソルの位置の存在する文字を消去CTRL-k カーソルのある行をカーソルの位置から終わりまで削除

CTRL-SPACE リージョンのセレクト開始 (マークを付ける)CTRL-w マークされた場所から,現在カーソルのある場所までを削除CTRL-y 計算機に読み込まれた部分をペーストCTRL-s 順方向に言葉を検索CTRL-r 逆方向に言葉を検索ESC-% 単語の置換

CTRL-x i ファイルを includeするCTRL-x CTRL-w ファイルをセーブ

CTRL-x 2 ウインドウを 2つに分割CTRL-x o 別のウインドウに移動CTRL-x 1 ウインドウを一つにする

CTRL-x CTRL-b 現在のバッファーの一覧表示 (カーソルを合わせて qで選択)CTRL-x b バッファーの交換

表 3: Muleでよく使用するコマンド一覧。CTRL-とはコントロールキーを押しながらという事,ESC-はエスケープキーを押してという意味。

8.3 仮名漢字変換 cannaの使い方

通常プログラムを書いている場合には,ほとんどローマ字だけで事足りてしまうが、メールを書く時には,日本語を打ちたくなる。そのために cannaというシステムが現在計算機センターで使用できる。cannaの役目はMule上で入力したローマ字を漢字、ひらがな若しくは片仮名に直し、画面に表示させる働きをする。それでは cannaの使い方を勉強してみよう。まず以下コマンドで muleを起動せよ。

22

Page 23: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

sg046@kdssf% mule test.dat

そこで,コントロールキーを押しながら,アルファベットの oを押してみよ (以下では CTRL-oと略す)。すると画面の下の部分にひらがなの”あ”という文字が出てきたと思う。そこで例えば,キーボードから以下の様な文字を打ったとする。

watashihahajimetenihongowotsukaimasu

すると画面にはそれがひらがなで表示されたはずである。そこでスペースキーを打つと,ひらがなが漢字に変換されましたと思う。また cannaは各文節毎に言葉を区切るので,文節毎にちょっとした空白が開いたはずである。もしちゃんと思った通りに漢字変換されていたら,リターンキーを押す。それで漢字が確定される。次に以下の様にキーボードを打ってみよ。

yatsunokanojyohaiijimaaininiteiruna

そしてスペースキーを押すと,以下の様に変換されたのではないだろうか。

奴の 彼女は 飯島 会いに 似ているな

これは明らかに”会いに”という部分が間違っている。その場合には CTRL–fを押す。するとカーソルが一文節づれたはずである。そこで間違っている箇所まで CTRL–fで進む。間違っている箇所にきたら、そこでスペースキーを押す。2回スペースキーを押すと下に変換の候補が出てくるのでスペースキーを続けて打って自分の変換したい漢字を選ぶ。また試しに以下の様に入力してみよ。

watashikamone

すると”私かもね”と出てくるだろう。もしそれを”私鴨ね”にしたかったとする。その時には,CTRL–iを押して文節をちじめる。以上の様な操作で漢字を打ち込む事ができる。また英数字を打ちたい時にはもう一度 CTRL–oで cannaの漢字モードから抜けられる。

コマンド 意味CTRL–o 漢字入力モードに移動若しくは英数字入力モードに移動スペースキー 漢字変換CTRL–f 次の文節に移動CTRL–b 前の文節に移動CTRL–i 現在カーソルがある文節をちじめるCTRL–o 現在カーソルがある文節を伸ばす

表 4: cannaでよく使うコマンド。CTRL–oを変換中に打てば文節を伸ばす事になり,変換中でなければ入力モードの変換になる。

8.4 参考文献

• 情報処理テキスト (-2000-)、山形大学情報処理専門部会。今年度は自動的に配られているはずである。

23

Page 24: 情報処理 物理学科向け - Yamagata Uxpolar.kj.yamagata-u.ac.jp/eduprint/kyouyouinfo.pdf情報処理(物理学科向け) 郡司修一 1 はじめに この授業では、Windows

• Fortran 77プログラミング、原田賢一著、サイエンス社。フォートランの入門書としては最適だと思う。

• インターネットホームページデザイン、吉村信著、翔泳社。ハンドブック的に簡単にまとまったほんである。ただし上級者には物足りないであろう。

24