ITPASS 実習レポート 1

名前 溝口 雄斗

担当情報実験機 joho19

問 1 円周率100万桁の中から、自分の好きな4桁の数字を探すスクリプト

スクリプトの URL

円周率の小数点100万桁の中から、自分の好きな4桁の数字の並びが何桁目から始まるのかを表示するスクリプト  quiz1.sh.txt

スクリプトの使い方の解説

円周率の小数点以下100万桁の中から、自分の好きな4桁の数字の並びが何桁目から始まるのかを表示する事が出来るスクリプトです。

スクリプトはホームディレクトリにおいてください。 ITPASSサーバ上の円周率のデータを自分のホームディレクトリに持ってきた後、スクリプトの拡張子を .txt から .sh に変更し

chmod 744 quiz1.sh で実行権を与え、

./quiz1.sh (好きな数字4桁)

と入力してください。小数点以下何桁目から始まるかが表示されます。4桁の数字を入力しなかった場合や、100万桁のなかに好きな数字4桁がなかった場合エラー処理を行います。

実行結果へのリンク

問1実行例

参考資料

ITPRO by 日経コンピューター 「Linuxコマンド集INDEX」

共同作業した人の名前

澤田達哉 上野友輔 高木一樹

工夫したこと, 感想

澤田くんからループ構造についての助言をもらい、このスクリプトを完成させました。

また、同じスクリプトでも、OSがwindowsの私のコンピューターと、Linuxが入った学校のコンピューターとでは動作が少し変わるらしく、正常に動作しないトラブルが続きましたが、上野くんの協力もあって正常に動作するスクリプトに仕上げることが出来ました。

しかし、このスクリプトでは、100万桁中の後ろの方にある数字の列を入力した場合、処理に何時間もかかってしまうという問題点があり、短縮する方法がないか考えましたが、これ以上のものは思いつきませんでした。

エラー処理については、船橋さんの助言のおかげで文字化けが解決されたこともあり、他の人のレポートを参考にすることができ、高木くんのレポートを参考に、完成させることが出来ました。

問 2 気象データを解析するスクリプト

スクリプトの URL

問2では2つのスクリプトを作りました。

データの末尾に年月日を付加するスクリプト   quiz2-1.sh.txt

気象データを解析するスクリプト quiz2-2.sh.txt

スクリプトの使い方の解説

スクリプトをホームディレクトリに置き、ITPASSサーバ上の気象データ を自分のホームディレクトリにもってきます。

スクリプトの拡張子を .txt から .sh に変更した後、chmod 744 quiz2-1.sh でスクリプトに実行権を与え、./quiz2-1.sh で実行します。kadai2-2_dataが作成されていれば完了です。この操作は一度のみにして下さい。2回以上 quiz2-1.sh を実行するとエラー処理がなされます。

それが完了すれば、同じように次は chmod 744 quiz2-2.sh で実行権を与え、./quiz2-2.sh. (○ ○) と入力してくださいい(○ ○)は日最高気温、日最低気温、日積算降水量、日最小湿度のどれかが入ります。

 

日最高気温のベスト10の気温と年月日・日最低気温のベスト10の気温と年月日・日積算降水量のベスト10の降水量と年月日・日最少湿度のワースト10の湿度と年月日をそれぞれ表示されます。違う文字を入力した場合や、文字を入力しなかった場合、エラー処理がなされます。

実行結果へのリンク

quiz2-1.sh実行例

quiz2-2.sh実行例

参考資料

ITPRO by 日経コンピューター Linuxコマンド集 INDEX

ファイルやディレクトリの存在をチェックする方法

共同作業した人の名前

上野友輔

工夫したこと, 感想

主に上野君が助言してくれたアルゴリズムやコマンドを参考にこのスクリプトを作りました。

スクリプトを二つに分けることで、行の末尾に年月を付加するという操作だけを別のスクリプトで行いました。

quiz2-2.shを実行する際構文エラーが表示され正常に動作せず、船橋さんに全角スペースが入っているためエラーが生じる事を教えて頂きましたが、そこの修正だけでは正常に動作しませんでした。

/bashよりも/shの方がなぜか処理が早かったためスクリプトの1行目で#!/bin/shとしていたのですが、そこも#!/bin/bash修正することで正常に動作するようになりました。

また、quiz2-1.shを2回以上行った際のエラー処理の修正についても自力で出来、船橋さんの助言を頂いてですが、quiz2-2.shで引数がなかった場合のエラー処理の修正まで出来たので、良かったと思います。 

最後に

TAの皆様、先生方、4日間と短期間でしたが、本当にお世話になりました。 わからなかった箇所に対する丁寧な解説や、私のミスのフォローに至るまで、親切な御指導ありがとうございました。

計算機の組み立てや、OSのインストール等、普段では出来ない貴重な経験が多く非常に充実した4日間でしたが、特に印象深かったのはパスワードの重要性について学んだ事です。 この実習を受ける前までは、パスワードに関してルーズな面もありましたが、それが自分だけでなく、仲間、そしてネットワーク全体を危険に晒していることを知り、自分の考えを改める必要があることを実感しました。

これからはこの実習で学んだ事を忘れずに、最低限の情報のマナーを守ることの出来る大人になるとともに、それを下の世代へと伝える発信者になれるよう努力していきたいと思います。