中間試験

提出先: s4の自分のクラス専用提出板

練習問題

「出席番号,氏名,身長(cm),体重(kg)」が記されたCSVファイル sntw.csv がある。以下のことを行なうプログラムを どれか1つ選んで作成し、実行結果とともに提出せよ。

  1. このcsvファイルを自動的に開いて全ての行をそのまま出力するプログラム printline.rb(2)
  2. このcsvファイルを自動的に開いて全ての氏名を順次出力するプログラム printname.rb(4)
  3. このcsvファイルを自動的に開いて全員の体重の合計を出力するプログラム printaw.rb(5)
  4. このcsvファイルを自動的に開いて全員の体重の平均値を出力するプログラム printaw.rb(6)
  5. このcsvファイルを自動的に開いて全員のデータを読んでから 身長について降順に「氏名、身長」を出力するプログラム sortheight.rb(7)
  6. このcsvファイルを自動的に開いて全員のデータを読み取ったあと 出席番号を質問し、その出席番号の生徒の氏名・身長・体重を 出力するプログラム searchcsv.rb(8)
  7. このcsvファイルを自動的に開いて全員のデータを読み 身長、または体重での並べ換えどちら好きな方で並べ換えた 順で全てのデータを出力するプログラム sortany.rb(10)

注意

  1. 実際にプログラムを動かしてみること。
  2. 「自動的に開く」の部分はopenでも#06にあるCSV.readいずれでもよい。

上記条件を満たす解答例プログラム: sntw.rb

問題(月1)

2025年度問題: 早めに着いた人は隣人と会話せず先に進めてよい。

https://www.mlit.go.jp/river/toukei_chousa/kasen/jiten/toukei/birn88p.html

日本の一級河川について
「地建名等,水系番号,水系名,河川数,幹川流路延長(km),流域面積(Km2),流域関係都道府県」
が記されたCSVファイルriver-1.csv がある。 以下のことを行なうプログラムをどれか1つ選んで作成し、 実行結果とともに提出せよ。

  1. このcsvファイルを自動的に開いて全ての行をそのまま出力するプログラム printline.rb (5点)
  2. このcsvファイルを自動的に開いて全ての水系名列の値を順次出力するプログラム printname.rb (6点)
  3. このcsvファイルを自動的に開いて全水系の幹川流路延長(km)の 合計を出力するプログラム printtotal.rb (7点)
  4. このcsvファイルを自動的に開いて全てのデータを読んでから 全水系の幹川流路延長(km)の値の平均値を出力するプログラム printavg.rb (8点)
  5. このcsvファイルを自動的に開いて一級河川中、幹川流路延長(km)最も短いものをプログラムで 検出し、その水系名と幹川流路延長を出力するプログラム printmin.rb (10点)
  6. このcsvファイルを自動的に開いて全てのデータを読み取ったあと 水系名を質問し、その水系がまたがる流域関係都道府県を出力するプログラム searchcsv.rb (12点)
  7. このcsvファイルを自動的に開いて全てのデータを読み 3つ以上の都道府県にまたがる水系名とそれに関する情報を 出力するプログラム river3pref.rb (16点)

    ヒント: 「流域関係都道府県」の値が空白で区切られた 3つ以上の県名になっている正規表現パターンを指定すればよい。 /\S+\s+\S+/ というパターンだと2つ以上にマッチする。

問題(水1)

2025年度問題: 早めに着いた人は隣人と会話せず先に進めてよい。 月曜とは問題文が違うので予習してきた場合は注意すること。

https://uub.jp/cty/fukushima.html

福島県の市町村人口について「区分,よみ,人口,面積(km2)」が記されたCSVファイル fukushima-2025.csv がある。 以下のことを行なうプログラムをどれか1つ選んで作成し、 実行結果とともに提出せよ。

  1. このcsvファイルを自動的に開いて全ての行をそのまま出力するプログラム printline.rb (5点)
  2. このcsvファイルを自動的に開いて全ての市町村名(区分)を順次出力するプログラム printname.rb (6点)
  3. このcsvファイルを自動的に開いて全市町村の人口の合計を出力するプログラム printtotal.rb (7点)
  4. このcsvファイルを自動的に開いて全てのデータを読んでから 全市町村の人口の値の平均値を出力するプログラム printavg.rb (8点)
  5. このcsvファイルを自動的に開いて人口が最も少ない市町村をプログラムで 検出し、その市町村名と人口を出力するプログラム printmin.rb (10点)
  6. このcsvファイルを自動的に開いて全てのデータを読み取ったあと 市町村名を質問し、その区分の人口と面積を出力するプログラム searchcsv.rb (12点)
  7. このcsvファイルを自動的に開いて全てのデータを読み 「大」「中」「小」いずれかの文字が含まれる市町村の名称と それに関する情報を出力するプログラム daichusho.rb (16点)

    ヒント: 区分の列の値が正規表現 /[大中小]/ にマッチする場合のみ出力するようにする。

提出方法


目次