#姫路IT系勉強会 Vol.11
##第0回 姫路L-1グランプリ
###課題1. fizzbuzz
1から100までの数を出力する。
ただし、その数が3で割り切れるならば数字の代わりにFizzと、5で割り切れるならBuzzと出力する。
3でも5でも割り切れる場合は、FizzBuzzの順に出力する。
出力はプログラム起動直後に行う(入力に対して出力を返すのではない)。
具体的な出力方法に関しては出力例を参照されたい。
###課題2. GPA(Grade Point Average)
GPA(Grade Point Average)とは各科目の成績から特定の方式によって算出された学生の成績評価値のこと、
あるいはその成績評価方式のことをいう。
欧米の大学や高校などで一般的に使われており、留学の際など学力を測る指標となる。
各単位に対する評価(A,B,C,D,F)を点数に換算して平均した値である。
各評価の点数への換算は以下のように行う。
- A評価 -> 4点
- B評価 -> 3点
- C評価 -> 2点
- D評価 -> 1点
- F評価 -> 0点
たとえばすべてF評価だった場合はGPAは0になる。
入力は以下の形式で標準入力から与えられる。
N
r1r2r3......rN
1行目は単位の総数を表す整数N(1≦N≦100)が与えられる。
行目には単位に対する評価を示すN文字の文字列が与えられる。
i文字目の文字riはA,B,C,D,Fのいずれかである。
入力として与えられた単位の評価を元にしたGPAを標準出力に1行で出力せよ。
なお、最後には改行を出力せよ。
具体的な入出力の内容に関しては
入力例および、
この入力例に対する出力例を参照されたい。
###課題3. 「tail -n 5」相当の動作をするプログラム
後述するいずれかの入力から与えられた行のうちの最後の5行のみを表示する(それ以外は表示してはならない)。
なお、以下の2つの動作に成功しなけらばならない。
- 5行以上の入力を与えられたとき、最後の5行を表示する。
- 5行未満の入力を与えられたとき、その全ての行を表示する。
入力は次のいずれか一方を受け付けられればよい。
- 引数として与えられたファイルの内容(
tail -n 5 foo.txt
相当の動作) - 標準入力(
tail -n 5
相当の動作)の内容を
出力例は各自のUNIX/Linux系端末でtail n -5
を実行されたい。
####主催
姫路L-1グランプリ実行委員会
実行委員長:田窪守雄(@takubo_morio)
審査委員長:野方純(@nogajun)
司会:いかたけ(@ikatake)
####後援
姫路IT系勉強会HiStudy
####開催趣旨
「どの言語がいっちゃんか決める」ために言語信者がお題に対しての回答コードを持ちよりバトル。
信者による言語の機能や特徴をいかした工夫、言語に対する偏愛をぶつけ合うことで、言語に対する相互理解を計り、世界平和を実現する。
実行日:11/17(土)の全体(14:00~17:00)
####時間の使い方(実際は出たとこ勝負で)
14:00~14:15 - 前説@司会
14:20~14:45 - 1つめ
14:50~15:15 - 2つめ
15:15~15:25 - 休憩
15:25~15:50 - 3つめ
15:55~16:20 - 4つめ
16:20~16:30 - 休憩/得点集計
16:30~16:45 - 〆
16:45~17:00 - 片付け
####発表と質問
1言語あたり30分(発表25分+質疑応答5分)、なお登壇は複数名でも構わない。
発表スタイルは自由であるが、以下の3点を抑えてもらう。
- 回答の動作・回答コードの出力例
- 実装上の工夫
- 言語のかわいいところ、言語への愛、なれそめ(いわゆる嫁自慢)
####採点方法
各言語の名前の隣にいいね!が書いてあるカードを作り、よかった言語にいいね!してもらう。
いいね!が多い言語が優勝。