| Top Page | プログラミング | Perl 目次 | 索引 |

小川みふゆさん による 逆引きPerl基礎の基礎


[おみくじ・運勢プログラム]
[四角形内のランダムな点]
[行番号]
[体重測定]
[ハチの訪花行動]
[データの間違い探し:ハチの訪花行動の例で]
[長期間の温度データ・データロガー]
[共通要素を探し出す]
[ファイル名に関連]
[400本の樹木個体データ]
[樹木の情報のデータ整理]
[平均値と標準偏差]
[正規表現とパターンマッチのいろいろ]
[正規表現の付録]
[実験条件が6通りで,それぞれの場合について 4回の測定データ]
[その他]

[おみくじ・運勢プログラム]
運試しプログラム(おみくじプログラム)・・・3. 関数を使う:rand を利用してランダムなパターンを生成する

今日の運勢を占うプログラム・・・16. サブルーチン:長いプログラムを読みやすく,管理しやすく

天気系列を生成するプログラム・・・3. 関数を使う:rand を利用してランダムなパターンを生成する

キーボードから番号を入力して,ラッキー番号を出す
人間かキーボードからデータを入力して,対話的に 処理を進めたい・・・21. こまごまとした(有用な)補足


[四角形内のランダムな点]
四角形内のランダムな点の分布パターンを生成するプログラム・・・3. 関数を使う:rand を利用してランダムなパターンを生成する

四角形内のランダムな点の分布パターンを生成するプログラム
の数,x軸方向の長さ,y軸方向の長さをコマンドライン引数で 指定できるようにする.・・・9. コマンドラインで与えたパラメータを使う


[行番号]
コマンドラインで指定したファイルから一行ずつ読み込み,行番号をつけて画面に表示する.・・・4. ファイルからの入力とsplit:簡単なデータ処理がすぐできる

コマンドラインで指定したファイルからデータを 読み込んで行番号付きで表示するプログラムを, プログラム中でファイル名を指定するように改変・・・10. ファイル名を指定してファイルの読み書きをする


[体重測定]
各人の BMI (Body Mass Index, 体重/身長(m)2)を 計算・・・4. ファイルからの入力とsplit:簡単なデータ処理がすぐできる

配列に記憶させて,各人の BMI (Body Mass Index, 体重/身長(m)2)を 計算・・・7. 配列:データをまとめて管理する

名前,身長,体重が並んだデータファイルを読んで, 今度は配列ではなくてハッシュにしまう・・・12. ハッシュ:キーワードと値のペアをたくさんまとめて管理する

名前,身長,体重データの区切りをすべてカンマ ',' に変換する プログラム
出来合いのソフト間でのデータのやり取りなどに使えそう・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで


[ハチの訪花行動]
ハチの訪花行動データの解析プログラム
どれだけの時間とどまっていたか, そのあいだに何個体のキクを訪れたかを求めたい・・・5. ファイルからの入力とsplit(続):延々と続くマウス作業からの解放

メダマランの開花・結実数を求めるプログラム
個体ごとに花序の数,花の総数,実の総数を求めたい・・・5. ファイルからの入力とsplit(続):延々と続くマウス作業からの解放


[データの間違い探し:ハチの訪花行動の例で]
個体番号,花序番号,花の数,実の数に分割
間違い探し1 実の数が花の数より多い?・・・6. [余談] プログラムのまちがい,データのまちがい.

個体番号,花序番号,花の数,実の数に分割
間違い探し2 データの個数が明らかに間違っている?・・・6. [余談] プログラムのまちがい,データのまちがい.


[長期間の温度データ・データロガー]
長期間の温度データを読み込み,さまざまな閾値に応じて積算温度を計算・・・8. 配列を活用する

気温データを読み込んで積算温度を計算・出力するプログラム
温度の閾値(生物学的0度)を,プログラム中で用意するのではなく, コマンドライン引数として指定しする.・・・9. コマンドラインで与えたパラメータを使う

積算温度を計算するプログラムの改変
コマンドラインから与えた温度データファイルの名前のあたまに cum_ という文字列を加えたあたらしいファイルを作り,これに温度と積算温度を並べて 書き出す・・・10. ファイル名を指定してファイルの読み書きをする

データロガーから取り出したデータをファイル形式を変更して,グラフを描きやすくする・・・14. ハッシュの活用:柔軟なデータ集計(その2)

光合成生産量を求めるサブルーチン・・・16. サブルーチン:長いプログラムを読みやすく,管理しやすく


[共通要素を探し出す]
2つのデータセットの共通要素と非共通要素を探し出す
2回の植生調査で確認された種類を比べて,共通する種ど,どちらか一方にしか 出てこない種とを抽出したい・・・8. 配列を活用する

サブルーチンを使った共通要素の見つけ方・・・16. サブルーチン:長いプログラムを読みやすく,管理しやすく

2ケ所の調査地での生物相の調査データから,共通種を探し出したい・・・22. リファレンス:配列やハッシュをスカラーに?

ふたつの種名リストを比較して共通種とどちらか一方にしか含まれない種を 探すという プログラムをサブルーチンを使うように 書き直す・・・23. ファレンスの利用:サブルーチンに配列やハッシュを渡す


[ファイル名に関連]
何らかのルールにしたがって文字列を作りたい
TH0001.txt から TH0100.txt まで100個のデータファイルを順次読んで, なんらかの処理をした結果をそれぞれ TH0001_A.txt から TH0100_A.txt に 記録したい・・・11. sprintf の利用:ファイル名などの文字列を自動生成する

ファイル名を作り出す例
何ヶ所かの調査地で,それぞれ4反復で,ときどき何かの調査を 行った結果がファイルにしまわれているという状況の例・・・11. sprintf の利用:ファイル名などの文字列を自動生成する

ファイル名から特定の情報を取り出す
カレントディレクトリ中のファイルすべてのなかから 特定の形式のファイル名のものを探しています. そして,そのファイル名に含まれる情報を取り出して表示します. ファイル名は,調査年(4ケタの数字),調査区(数文字のアルファベット), そして ".dat" という形式をしているもの.・・・18. 正規表現とパターンマッチ:融通無碍な文字列処理


[400本の樹木個体データ]
樹木400個体のデータの集計をする
一本一本の木の位置(x座標とy座標), 高さ(m),DBH(人間の胸の高さでの直径, cm) の データから種名と個体数の集計をする・・・13. ハッシュの活用:柔軟なデータ集計

樹木400個体のデータで最大樹高を求める・・・13. ハッシュの活用:柔軟なデータ集計

樹木400個体のデータで大きい方から5本の高さを知りたい・・・14. ハッシュの活用:柔軟なデータ集計(その2)

樹木400個体のデータで,5メートル間隔の格子状区画ごとに材積を計算する・・・14. ハッシュの活用:柔軟なデータ集計(その2)


[樹木の情報のデータ整理]
* 森林の木の調査データをもとにして作った種名がキー,個体数が値というハッシュを受けとる.
* 種名がキー,その種が属している科 (family) の名前が値というハッシュを受けとる.
* 受けとったふたつのハッシュをから,科の名前がキー,その科の個体数が値というハッシュを作る
・・・23. リファレンスの利用:サブルーチンに配列やハッシュを渡す

一本の木の高さの値,太さの値,x座標の値…をハッシュにまとめてみます・・・25. リファレンスの利用:無名ハッシュを使って「もの」を表現する

2本の木へのリファレンスを受けとって,間の距離を計算して返す サブルーチンを書いてみましょう. ・・・25. リファレンスの利用:無名ハッシュを使って「もの」を表現する


[平均値と標準偏差]
平均値と標準偏差を求めるサブルーチン・・・16. サブルーチン:長いプログラムを読みやすく,管理しやすく


[正規表現とパターンマッチのいろいろ]
文字列のあたまの区切りパターンを削除する・・・正規表現とパターンマッチ:融通無碍な文字列処理

"DNA シーケンス中から TATATA…とか CGCG… といった 2塩基のペアの反復を探し出す・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

"2002/11/23" という形式の文字列を "2002年11月23日"に変換・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

"1 と 0 が混在した文字列の中に何個の 1 が含まれてるか・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

" 文字列中に含まれる小数点付きの数値を すべて小数点3ケタ表示にする・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

"hh:mm:ss 形式の時刻データをすべて 夜中の0時からの経過秒に置換する・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

"DNA 断片があったとして,それと相補的なシーケンスを求める・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

"1 と 0 が混在した文字列の中に何個の 1 が含まれてるか・・・19. 正規表現とパターンマッチ(その2):DNA の塩基配列の解析まで

[正規表現の付録]
正規表現を整理した 別表


[実験条件が6通りで,それぞれの場合について 4回の測定データ]
実験条件の名前をキー,その条件で得られたデータの配列への リファレンスを値とするハッシュを作る・・・24.  リファレンスの利用:無名配列を使って複雑なデータ構造を作る


[その他]
たくさんの要素を含む集合から何個かをランダムに選ぶ
平面上に存在する多数の点のなかから, ある個数の点をランダムに選ぶ・・・8. 配列を活用する

各商品ごとの合計販売個数が知りたい・・・13. ハッシュの活用:柔軟なデータ集計

サイコロをいくつかまとめて振って1が出た 数を返すサブルーチンを 100 回呼び出し・・・17. 変数の局在化で安心して使えるサブルーチンを作る

学会の参加登録情報を一件ずつ無名ハッシュにしまって, それらを登録番号をキーにしたハッシュに貯めこむ・・・25. リファレンスの利用:無名ハッシュを使って「もの」を表現する


| Top Page | プログラミング | Perl 目次 |