授業中にわからないことがあったら、すぐにここに書き込んでください。できれば授業中に解説します
前回の課題は、厚生労働省統計表データベースシステムで公開されている、「1C 上巻 死亡 第5.12表_ 死因年次推移分類別にみた性別死亡数・率(人口10万対)」の表から1986年以降の男女別死亡数のみ抜粋した表(2009_情報#05課題.xls)を使って課題の操作を行うことだった。多くの人ができていたが、並べ替え・集計はクラス全員に理解してもらいたい大事な項目なので、もう一度おさらいをする。また、関数とデータ型についても、少し説明する。
この説明はもう聞く必要がないという人は、次の正規表現のところを読んで、練習問題をやっておこう
エクセルの'関数'というはとても便利だ。たとえば、前々回の授業で使ったSUM()という関数は、()の範囲のセル中の値を合計してくれる。その他にも平均を出したければAVERAGE()という関数を使えばいいし、文字列の一部を抜き出したければLEFT()等の関数が使える。いろんな関数とその使い方は、ヘルプファイルに書かれているので見ておこう。
ここも一緒に操作しておさらい。よくつかう関数として、
average() round() countif() 注意:関数は非常に沢山あるので、全部覚えようなどと思う必要は無い。 こんなことができると知っていれば、使う時にヘルプを見れば良い!
これまでに基本的な正規表現の使い方をマスターした。今日は1つ上のレベルの正規表現「後方参照」にチャレンジしてみよう。K2Editorのヘルプで後方参照に関する項目を見てみると、次のように書かれている。
後方参照 正規表現の中で()を使ってグループ化された部分にマッチ文字列は、 \1,\2などの表現で、 再度正規表現の中に埋め込むことが可能です。 \の後ろに続く数字は、何番目のグルーピングされた文字列かを示します。 たとえば、(\w+)[ ]+\1 は "ABC ABC"や"ppp ppp"に対してマッチしますが、 "ABC ppp"にはマッチしません。 \の後ろに続く数字には制限はありません。ただし、1〜9までは常に後方参照と解されますが、 \10以降は、その後方参照に対応するグループがない場合は、8進数のコントロール文字と 解されますので注意が必要です。 また、本当に一桁の8進数のコントロール文字を書く場合には、 \001などという風に書きましょう。 (K2Editorのヘルプファイルから後方参照の部分を抜粋)
ちょっと分かりにくいかも知れないが、半角の
()
の中で指定したパターンにマッチした文字列を、
¥1
などという記号を使うことで、呼び出すことができるということだ。
まず簡単な例で操作をしてみよう
K2Editorで実際に試してみると:
テキストデータ A9JA49K6 ・AかKの次の1文字を削除 検索文字列 ([AK]). 置換文字列 ¥1 ・Aに続く1文字とAの順序入れ替え 検索文字列 (A)(.) 置換文字列 ¥2¥1
では、もう少し具体的な例をつかって、段階的に説明してみよう。
まず、次のような書籍のリストがある。このリストを、K2Editorで開いてみよう。書籍リスト.txt
このリストには、出版年が含まれているにも関わらず、出版年の順番に並んでない。どうすれば、出版年で並び替えられるだろうか?
リストをよく見てみると
タイトル・著者,出版年,ページ・価格
という順番で並んでいる。ここで、
出版年だけを切り出して、 出版年 <タブ> タイトル・著者,出版年,ページ・価格
というリストを作り、エクセルにペーストして並び替えれば良いということまでは、想像できるだろう。
では、出版年だけを切り出すにはどうすればいいだろうか?
まず、これまでにならった正規表現で表現できるところだけを書いてみると、
^ は行の先頭を表す [0-9]+年 は、数字の出版年を表す .*, は全角の,で終わる任意の文字列を表す $ は行の終わりを表すこれらを組み合わせて、
^.*,[0-9]+年.*$で1行の情報全てを表せるだろう。
検索文字列: ^.*,[0-9]+年で、
・琉球弧の成立と生物の渡来 木村政昭編著,沖縄タイムス社,2002年 ・植物の観察と実験を楽しむ−光と植物のくらし− 松田仁志著,裳華房,2004年 .....という出版年で終わる文字列は表せるけれど、これを年度に置換するときには、
置換文字列: 2002年 ^^^^今まで習った通りだと、何か置換文字列を指定しなければならない。
2002年 2004年 ....という異なる年度に置換したいので、一度の置換ではできそうにない。
検索文字列と一致した文字列を保存しておいて、置換文字列に使うということをやってくれるのが、後方参照だ。
前置きはともかく、まずやってみよう。新しく登場するのは、
( ) 半角のカッコで、検索文字列を囲んでおくと 置換文字列に半角の¥マークと数字を使うことで、 (例: ¥1 ¥2 こんな風に) 上でカッコで囲んだ検索文字列を呼び出せる。 では、上の書評リストを出版年と出版年以外のパートに分けて、カッコで囲んでみよう ^(.*,)([0-9]+年)(.*)$こうすることで、検索文字列で使われた( )内の文字列を、左から順番に置換文字列として指定することができる
(.*,) → \1 ([0-9]+年) → \2 (.*) → \3具体的に上の例の1行目で考えると
・絵でわかる細胞の世界 黒谷明美著,講談社, → ^(.*,) → \1 2001年 → ([0-9]+年) → \2 ,162ページ,2,000円 → (.*)$ → \3
出版年 <タブ> タイトル・著者,出版年,ページ・価格に置き換えてみよう。
検索文字列: ^(.*,)([0-9]+年)(.*)$ 置換文字列: \2\t\1\2\3
下に友達の誕生日リストが月、日、年の順で書かれている。
April 29, 1984 March 20, 1987 September 23, 1980 December 23, 1982 February 11, 1984 January 1, 1999 May 3, 1988 May 4, 1993 May 5, 1987 November 23, 1985 November 3, 1994
検索文字列:([A-Za-z]+) ([0-9]+), ([0-9]+) 置換文字列:¥3 ¥2 ¥1 あるいは 検索文字列:^([^ ]+) ([^ ]+), ([^ ]+)$ 置換文字列:¥3 ¥2 ¥1
また、上の例では
^ には2つの意味があるので注意!! ■検索文字列の最初においた場合は行頭から始まることを示す ^[A-Z].* で、行頭がアルファベット大文字で始まる任意の文字列 ■文字集合を表す[ ]の中で最初に置かれた場合、それに続く文字以外を表す [^a-z]+ で、英小文字以外の任意の文字からなる文字列 参考:$は検索文字列の最後に置かれた場合、行末であることを示す [a-z]+$ は、行末に続く英小文字の連続を示す正規表現の例のいくつかは、昨年度の学生の要望で作った、授業/H20/情報処理/正規表現熟語帳を参照してみよう。
最初のアンケート調査でも多くの人がWordの使い方を知りたいと書いていた。MS Wordは現実的にパソコン上で動くワープロの標準ソフトになっているし、多くの人は、レポート作成を意識して使い方を知りたいと思っているのだろう。そこで、今回の授業では、Wordを使って文書を作る方法を解説する。
でも、その前に、
WinShotというソフトウェアをダウンロードして、インストールしておこう。パソコン画面の保存・印刷等を行うことができる、とても便利なスクリーンキャプチャソフト。ウェブページからの画像の取り込みや、モニタに表示されている情報をそのまま画像として扱えるので、レポートの中に画像を添付したいときなど、とても便利。下のURLからLZH版をダウンロードして、インストール。
http://www.woodybells.com/winshot.html
あなたのメッセージを分かりやすく相手に伝えるために、Wordを使ってできる限りのことをしよう
採点者は、たくさんのレポートに目を通さなければならない。そんなとき、読みやすいレポートがあると、良い点をつけたくなる。自分の主張を採点者に少しでも分かってもらうためには、ワープロを使ってできる限り読みやすくしたいもの。では、どんなレポートが読みやすいか、いくつか列挙しておこう。
要旨(摘要) 本論 結論 引用文献とか
要旨 序論 材料と方法 結果 考察 引用文献とか、最初に構成を決めておくと書きやすくなる
いろんな証拠を使って、自分の意見ややったことを相手に納得させること!
野外実習のレポートを提出。観察した植物の学名リストと、注目した植物の観察結果は必ず提出すること。
植物分類野外実習レポート 07s4099 東浪見花子 2007年5月31日
はじめに 目次 1.実習場所と実施日 2.観察植物リスト ・リストの作成方法 ・作成したリスト 3.注目した植物の観察結果 1. 2. おわりに 参考文献
内容:上で作成したような仮想レポートを
学籍番号.doc
というファイル名で保存して、メールの添付書類として に送信しなさい。なお、メールの件名は
情報処理06(学籍番号)
とすること。内容は自由です(架空のもので構いません)。以下の点に注目して評価します。
表紙の見やすさ・レイアウト 目次が作成できているかどうか 見出のみやすさ ページ番号がついているかどうか 新たな画像が追加されているかどうか ワードの機能を利用して、いかに見やすく作成してあるか
George Washington (1789-1797) John Adams (1797-1801) Thomas Jefferson (1801-1809) James Madison (1809-1817) James Monroe (1817-1825) John Quincy Adams (1825-1829) Andrew Jackson (1829-1837) Martin Van Buren (1837-1841) William Henry Harrison (1841) John Tyler (1841-1845) James K. Polk (1845-1849) Zachary Taylor (1849-1850) Millard Fillmore (1850-1853) Franklin Pierce (1853-1857) James Buchanan (1857-1861) Abraham Lincoln (1861-1865) Andrew Johnson (1865-1869) Ulysses S. Grant (1869-1877) Rutherford B. Hayes (1877-1881) James A. Garfield (1881) Chester Arthur (1881-1885) Grover Cleveland (1885-1889) Benjamin Harrison (1889-1893) Grover Cleveland (1893-1897) William McKinley (1897-1901) Theodore Roosevelt (1901-1909) William Howard Taft (1909-1913) Woodrow Wilson (1913-1921) Warren G. Harding (1921-1923) Calvin Coolidge (1923-1929) Herbert Hoover (1929-1933) Franklin D. Roosevelt (1933-1945) Harry S Truman (1945-1953) Dwight D. Eisenhower (1953-1961) John F. Kennedy (1961-1963) Lyndon B. Johnson (1963-1969) Richard Nixon (1969-1974) Gerald Ford (1974-1977) Jimmy Carter (1977-1981) Ronald Reagan (1981-1989) George Bush (1989-1993) Bill Clinton (1993-2001) George W. Bush (2001-2009) Barack Obama (2009-present)
来週は次のような課題を出して、班ごとのプロジェクトの内容を提出してもらいます。来週までに必ず班分けを終わらせておいてください。各班5名を目安にしていますが、多すぎる場合は来週の授業中に相談して2つに分割してもらいます。
来週の課題で提出してもらう企画書には、
などが含まれますので、もう班分けが終わっている班は、プロジェクトを進めて貰って構いません。