<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>ITPASS 実習レポート1
<style type="text/css">
<!--
a {text-decoration : none ;}
a:hover {text-decoration : underline ; color : #ff3333 ;}
-->
</style>
</head>
<body bgcolor="#ffff93" link="#006633" alink="yellowgreen" vlink="darkviolet">
<font color="#33cc00"><a name="top">TOP
<SCRIPT Language="JavaScript">
<!--
ar1=new Array("日","月","火","水","木","金","土");
kyou = new Date();
yy = kyou.getFullYear();
mm = kyou.getMonth() + 1;
dd = kyou.getDate();
da = ar1[kyou.getDay()];
document.write( + yy + "/" + mm + "/" +
dd + "/("+ da + ")");
//-->
</SCRIPT>
<SCRIPT Language="JavaScript">
<!--
kyou = new Date();
hh = kyou.getHours();
mm = kyou.getMinutes();
ss = kyou.getSeconds();
document.write( hh + "時" + mm + "分" +
ss + "秒");
//-->
</SCRIPT>
<center>
<h1>ITPASS 実習レポート 1
</center>
<font face="富士ポップ">
名前: 高木 瑠美
<p align="right">担当情報実験機: joho 07
<hr size="3" width="98%" color="mediumseagreen">
<center><blink><a href="#kazuate">問1.数当て <a href="#soinsuu">問2.素因数分解 <a href="#jack">問3.ブラックジャック
<hr size="3" width="98%" color="mediumseagreen">
<font face="有澤太楷書P"><h2><a name="kazuate">問 1 数当てゲーム
<dl>
<dt>スクリプトのURL
<dd><a href=http://epa.scitec.kobe-u.ac.jp/~takagiru/report01/scripts/quiz1.sh.txt>
⇒ [ 数当てゲーム ] スクリプト(quiz1.sh.txt)
<br>
<dt><h3>◇スクリプトの使い方の解説◇
<dd>以下の手順に従って下さい。
<p>
<ol>
<li>quiz1.shの実行権限のある状態で./quiz1.shを実行する。
<li>2桁の正の整数を当ててくださいという導入メッセージが出る。答えの数は、コンピュータによってランダムに選び出される。
<li>What's your number?というメッセージが出るので、任意の二桁の数を入力す
る。
<li>その数が当てる数より大きいか小さいかが表示されるので、それをヒントに
当てる数により近い数を入力していく。
<li>これを繰り返していき、入力した数が当てる数と一致すると、当たりましたというメッセージが出てプログラムが終了する。
<br>
</p>
<dt>実行結果へのリンク
<p>
<dd>
⇒ [ 数当てゲーム ] 結果テキスト(quiz1.txt)
</p>
<dt>〜参考資料〜
<p>
<UL>
<LI type="circle">Arnold Robbins・Nelson H.F.Beebe,2006「詳細シェルスクリプト」オライリー・ジャパン
変数(シェル変数)について , #!/bin/bashについて , testや[ ]コマンドの使い方(特にオプションのつけ方 P.133など)について
<LI type="circle">後藤陽香さんのsuiz1.sh.txt
照らし合わさせてもらえたことで、What's your number?の'の前に\でエスケープすると良いことに気づきました。
</UL>
</p>
<dd>
共同作業した人の名前: 後藤 陽香 さん , 高橋 由実子 さん , 箕浦 舞 さん
アドバイスを頂いた方: 後藤 陽香 さん
</p>
<table cellspacing=1 bgcolor=white>
<tr>
|
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white width=2 height=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
<td bgcolor=80ff80 width=2>
<td bgcolor=white>
<font color="#ff9966">◎工夫したこと◎
数当て中に、なるべく分かりやすいようなコメントを作りました。打ち込まれた数値をreadで読み込み、それをシェル変数として$aで自由に出せるようにしました。はじめのうちは、Fortranのように整数指定など設定をしようとしてしまっていました。
問3のブラックジャックのスクリプトを作るまでは、プログラム実行の際にユーザーが引数を渡さなければいけない状態でしたが、quiz3.sh.txtの方でも利用しているm=$RANDOMコマンドを利用してランダムに答えの値が選ばれるようにしました。
<font color="#ffcc33">*感想*
シェル変数の使い方など、短いスクリプトで試しながらだんだん感覚が分かってくる気がしました。until文とif文を組み合わせる際に、頭をひねりました。この行まででどうなっているのかをきちんと考えないと上手く作れないなと感じました。また、作業中辞書片手に調べていて、コマンドやメッセージを理解する際に英語の勉強にもなるなと思いました。
<font color="#cc6633">¥苦労した点¥
testや[ ]の中身の記述で、演算記号を用いるかオプションのローマ字を用いるかで何度か混乱しました。数の大小でふるいにかける際に、caceコマンドを使おうか迷いました。簡単そうなifで作ってみたのですが、caceでも上手いことコマンドをやりくりして作れたらよいなと思いました。
</font>
<td bgcolor=80ff80 width=2>
<td bgcolor=white width=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white width=2 height=2>
</table>
</dl>
<hr size="3" width="98%" color="mediumseagreen">
<font face="有澤太楷書P">
<dl>
<dt>スクリプトのURL
<dd>
⇒ [ 素因数分解 ] スクリプト(quiz2.sh.txt)
<br>
<dt>◇スクリプトの使い方の解説◇
<dd> 以下の手順に従って下さい。
<p>
<ol>
<li>quiz2.shの実行権限のある状態で./quiz2.shを実行する。
<li>素因数分解をしますという導入メッセージが表示される。
<li>What's your number?というメッセージが出るので、任意の数を入力す
る。<br>ただし、10桁ぐらい桁数が大きくなってくると、数値によっては処理時間がかかるのでオススメできません。
<li>打ち込んだ値と、その素因数が表示される。素因数分解が完了したことが告げられ、プログラムが終了する。
</font>
</p>
<dt>実行結果へのリンク
<p>
<dd>
⇒ [ 素因数分解 ] 結果テキスト(quiz2.txt)
</p>
<dt>〜参考資料〜
<p>
<UL>
<LI type="circle">Arnold Robbins・Nelson H.F.Beebe,2006「詳細シェルスクリプト」オライリー・ジャパン
終了ステータスについて , exprのコマンドの使い方について (P.172,173) , echoのオプションについて
<LI type="circle">UNIX & Linux コマンド・シェルスクリプト リファレンスhttp://www.geocities.jp/geo_sunisland/exit_status.html
終了ステータスが何かについてを調べている時や実際にプログラムを試しているときに参考にさせていただきました。
</UL>
</p>
<dd>共同作業した人の名前: 後藤 陽香 さん , 高橋 由実子 さん , 箕浦 舞 さん
アドバイスを頂いた方: 河合 佑太 さん , 後藤 陽香 さん
</p>
<table cellspacing=1 bgcolor=white>
<tr>
|
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white width=2 height=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
<td bgcolor=80ff80 width=2>
<td bgcolor=white>
<font color="#ff9966">◎工夫したこと◎
計算できるコマンドとしてexprだけでなく、$(( ))というコマンドも使ってみました。
echo $?を用いて、どこまでのコマンドは正常に処理されているかを調べました。
無限ループに陥った際に、Ctrlキーを押しながらcキーを押すことで簡単に止められることを調べ、利用しました。
<font color="#ffcc33">*感想*
この構文できちんと素因数分解できるのか自信のない状態で、無限ループやcommnd not foundなどの警告メッセージとひたすら戦うのは、とても疲れました。友達が横で同じ課題を進めていたので、それが励みになりました。プログラムが上手くいかないときに、原因を突きとめるセンスをもっと鍛えたいと思いました。
<font color="#cc6633">¥苦労した点¥
無限ループに悩まされました。はじめのうちは、プログラムのどこに欠陥があるか全く分からず、それでも少しづつ、条件を増やしていったりと試行錯誤でした。構文が中途半端だと返り値が行き先をなくして変なことになっていたのか、ある程度書ききると上手くいったりすることがありました。構文が終わる目印のdoneやfiをどこに置くのかということや、doの書き損じなどに原因がありました。
</font>
<td bgcolor=80ff80 width=2>
<td bgcolor=white width=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white width=2 height=2>
</table>
</dl>
<hr size="3" width="98%" color="mediumseagreen">
<font face="有澤太楷書P">
<dl>
<dt>スクリプトのURL
<dd>
⇒ [ ブラックジャック ] スクリプト(quiz3.sh.txt)
<br>
<dt>◇スクリプトの使い方の解説◇
<dd> 以下の手順に従って下さい。
<p>
<ol>
<li>quiz3.shの実行権限のある状態で./quiz3.shを実行する。
<li>ブラックジャックを始めるぞ〜!!という導入メッセージが出る。
手札の合計点が21か、21以下で21に一番近い者が勝ちとなるトランプゲーム「ブラックジャック」の
一人参加バージョンを、コンピューター相手にできるプログラムとなっている。
<li> Do you take a card?[Y/n] というメッセージが出るので、初めは、カードを引かなければ手札がないので、Yと答えてほしい。
nと答えたり、間違った入力をすると、全てやり直しとなる。
<li> Your card is 〜.とあなたがひいたカードの数値を知らせてくる。(絵札は全て10点となるので、最高10点。)
また、Now, your score is 〜.とその時点での総得点も知らせてくる。
<li>再び Do you take a card?[Y/n] と尋ねてくるので、Yかnを入力する。
ここでも間違えた値を入力すると、すべてやり直しとなる。
<li>nと答えた場合は、そこでゲームが終了し、その時点での持ち点が最終的なスコアとなる。
Now, your score is 〜 and finish!とスコアが表示され、プログラム終了となる。
<br>Yと答え続ければ、カードが次々引けるが、持ち点が22点以上になると、
Now, your score is 〜.So, your score is over 21.とスコアが表示され、ゲームオーバーとなり、その場合もプログラムが終了する。
<br>21にちょうどなったときや、間違った文字入力をした際にも、コメントがそれぞれ表示され、きちんとプログラムが終了するようになっている。
</ol>
<br>
</p>
<dt>実行結果へのリンク
<p>
<dd>
⇒ [ ブラックジャック ] 結果テキスト(quiz3.txt)
</p>
<dt>〜参考資料〜
<p>
<UL>
<LI type="circle">Arnold Robbins・Nelson H.F.Beebe,2006「詳細シェルスクリプト」オライリー・ジャパン
exitコマンドについて , echoコマンドの/nオプションについて
<LI type="circle">変な環境変数RANDOM - 計算機と戯れる日々http://d.hatena.ne.jp/n9d/20071102/1193981434
<LI type="circle">シェルスクリプトでランダムな数字を得る方法1http://yoosee.net/d/archives/2006/11/17/002.html
<LI type="circle">UNIXの基本操作http://web.kanazawa-u.ac.jp/univ/center/ma5-6.html
</UL>
</p>
<dd><p style="background-color:#ffccff;">共同作業した人の名前: 高橋 由実子 さん <br>アドバイスを頂いた方: 高橋 由実子 さん
</p>
<table cellspacing=1 bgcolor=white>
<tr> |
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80ff80 width=2 height=2>
<td bgcolor=white width=2 height=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
<td bgcolor=80ff80 width=2>
<td bgcolor=white>
<font color="#ff9966">◎工夫したこと◎
プログラムを実行した人が、分かりやすいように日本語の導入部分や終りの言葉を添えました。間違えて文字を押してしまう可能性が高そうだなと考え、その場合にきちんと対処できるプログラムにしました。スクリプトをすべて下まで読み切らずにプログラムを終了させる方法がないか調べ、exitコマンドを発見し、活用しました。総得点がちょうど21点になったときに特別コメントを用意しました。改行や余白を上手く作る方法を研究しました。
<br>*感想*
quiz1.shやquiz2.shの制作を経て、スクリプト制作に少しずつ慣れてきたなと自分でも実感できて楽しく作業できました。また、自分ならではのプログラムにする面白さも味わえたような気がしました。スクリプト作成中は、クイズや推理をやっているような気持ちになりました。パソコンやプログラムに疎い自分でも、ちょっとずつできるようになっていくことが嬉しかったです。
<br>¥苦労した点¥
testコマンドのオプションで-aや-oを用いてみたのですが、はじめ上手くいかずにクオーテーションを用いなければならないのかなど思案しました。22以上になったときにゲームが終わるようにすることや、カードの得点が1〜10までという設定をする際に以下にするか未満にするかなどで微妙に違ってくるので、正しい設定にしなければいけないと最後の方に気づきました。exitコマンドをこのスクリプト制作の途中で知ったので、それまでは上手いこと場合分けやループを作れずにと何度も座礁しました。
</font>
<td bgcolor=80ff80 width=2>
<td bgcolor=white width=2>
<tr> |
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 height=2>
<td bgcolor=b3ffb3 width=2 height=2>
<td bgcolor=80ff80 width=2 height=2>
<tr> |
|
|
|
|
</table>
</dl>
<br>
<hr size="3" width="98%" color="mediumseagreen">
<p align="right">このページのソースを表示
<dl>
<dt>〜HTML作成の参考資料〜
<ul>
<li>HTML手打ちで作るホームページ講座http://homepage2.nifty.com/tomoarai/
<li>超初心者のためのホームページ作成講座http://park16.wakwak.com/~html-css/index.html
<li>シーズ,平成10年:改訂新版 HTML ポケットリファレンス,技術評論社 テキスト・リスト・リンクの項
タグのしくみや使い方について , スタイルシートについて
<li><a href=http://epa.scitec.kobe-u.ac.jp/~harukag/report01/>後藤陽香さんのレポートと高橋由実子さんのレポートと、2008年度に提出されたレポートを参考にさせて頂きました。
<li>Color Tablehttp://www.finitojapan.com/cltable.html
フォントや背景色などのカラーコードを指定する際に、利用させて頂きました。
<li>JavaScrip基礎:日付関連http://www2s.biglobe.ne.jp/~iryo/java/java1/date.html
タグの書き方を参考にさせて頂きました。
<li>HTMLhttp://non.chu.jp/-html/
テーブルのサンプルタグを利用させて頂きました。
</ul>
<br>
<table cellspacing=1 bgcolor=white>
<tr><td bgcolor=white width=2 height=2>
<td bgcolor=80b3ff width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80b3ff width=2 height=2>
<td bgcolor=white width=2 height=2>
<tr> |
<td bgcolor=b3e6ff width=2 height=2>
<td bgcolor=80b3ff height=2>
<td bgcolor=b3e6ff width=2 height=2>
<td bgcolor=80b3ff width=2 height=2>
<tr> |
<td bgcolor=80b3ff width=2>
<td bgcolor=white>
<font color="#ff9966">◎HTML作成で工夫したこと◎
自分でタグを書いてホームページを作るのが初めてだったので、いろいろなタグを試しながらなるべく沢山の種類のタグを使ってみようと試みました。画像の表示や現在の日時と、最終更新日が表示されるようなタグも、上にあげたサイトなどを参考にしてチャレンジしてみました。
<br><font color="#ffcc33">*課題制作全体に対しての感想*
豚インフルエンザによる休講期間を利用して、じっくり課題に取り組めました。自分では初めてやってみる作業が多く、戸惑うことも多かったです。こんなにパソコンとずっと向き合っていたことは、今までの人生の中に覚えがないです。プログラミングやホームページ作成などに慣れ、パソコン自体ももっと使いこなせるようになりたいと思いました。
¥課題制作を終えて大変だった点、残った疑問点¥
家でもikaサーバーに接続できるようにするための過程が、難しかったです。WinSCPを日本語表示にする方法が分からず、今だにjp[1]のファイルがWinSCPファイルと別に存在しています。
素因数分解のスクリプト作成が自分の中で一番難しかったのですが、レポート作成全体を通してところどころでつまづき、とても時間がかかってしまいました。
<br> 具体的には、http://epa.scitec.kobe-u.ac.jp/~takagiruのアドレスにアクセスしても、真っ白な画面しか表示されないのですが、index.htmlの置き場所となるディレクトリは、現在のpublic_htmlで本当に良いのか、編集することができるのだろうかなど、疑問が残ったままです。
<br> 文字化けを防止するために、学校でプラウザを利用する際のエンコードはUTF-8、自宅のWindowsではシフトJISを指定したいのですが、並列して指定できるのだろうかということも分かりませんでした。メタタグで現在は、<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">としています。お使いのOSの種類により文字化けするかもしれませんが、エンコード設定を調整してもらえたらと思います。(文字化けしていたらこの文も読めないですね;)
<br> ホームページ上にアクセスカウンタを設置をしてみたかったのですが、ikaサーバはSSIやCGIなどが許可されているのか分らず断念しました。
</font>
<td bgcolor=80b3ff width=2>
<td bgcolor=white width=2>
<tr><td bgcolor=80b3ff width=2 height=2>
<td bgcolor=b3e6ff width=2 height=2>
<td bgcolor=80b3ff height=2>
<td bgcolor=b3e6ff width=2 height=2>
<td bgcolor=80b3ff width=2 height=2>
<tr> |
<td bgcolor=80b3ff width=2 height=2>
<td bgcolor=white height=2>
<td bgcolor=80b3ff width=2 height=2>
<td bgcolor=white width=2 height=2>
</table>
</dl>
<p>
拝見していただきありがとうございます。修正点のご指摘やアドバイスを頂けたらと思います。宜しくお願い致します。
<hr size="3" width="98%" color="mediumseagreen">
<font color="0000ff">