第07回の基本課題
試験の実施方法
kiso2 コマンドで 「試験」 表示されたファイルは、試験として実施されます。 「試験」 として出題されたファイルもkiso2 コマンド を用いて提出しますが、これらのファイルは試験実施中のみ提出することができます。
試験の実施方法は、以下の通りです。
- 端末(ターミナル)上から、kiso2 コマンドに –start-exam オプションを付けて実行(kiso2 –start-exam )することで試験が開始されます。表示フォントの関係で見にくいかもしれませんが、kiso2 の後にスペースを開けて –start-exam (先頭のハイフンは2つ 「マイナス・マイナス・start・マイナス・exam」) です。
- 試験が開始されると、試験開始のメッセージと共にウェブブラウザで試験用Webページが自動的に表示されます(本試験でないときは科目ページが表示)。
- 試験の実施中は、端末(ターミナル)上で経過時間と残り時間が不定期に更新され、kiso2 コマンドで「試験」表示されたファイルが提出できます。
- kiso2 コマンドで「試験」ファイルを提出する場合は、kiso2 –start-exam で試験を開始した端末(ターミナル)とは別の端末(ターミナル)をもう一つ起動し、その端末で kiso2 コマンドによるファイルの提出を行ってください。
- 試験実施中は、不定期にデスクトップ画面のスクリーンショットが取得されます。
- 試験の残り時間が100秒を切ると1秒毎のカウントダウンが表示され、残り時間が 0 になると kiso2 -start-exam コマンドと共に試験が終了します。
- kiso2 –start-exam コマンドが強制終了された後や、すでに起動している場合は kiso2 –start-exam の再実行が行われます。ただし、kiso2 –start-exam コマンドは、再起動される度に残り試験時間が10分ずつ減るので注意して下さい。
ex07-1.c
次のように定義されるフィボナッチ数列 $\{a_n\}$ の初項(n=1)から第88項までを出力するプログラム ex07-1.c を作成し、kiso2コマンドを用いて提出しなさい。 $$a_1=0,\quad a_2=1,\quad a_{n+2} = a_{n} + a_{n+1}\qquad (n \ge 1)$$
実行例:
t190900@s01cd0542-160:~/kiso2-2019/ex07$ ./ex07-1 a1=0 a2=1 a3=1 a4=2 a5=3 a6=5 a7=8 a8=13 a9=21 a10=34 : a80=14472334024676221 a81=23416728348467685 a82=37889062373143906 a83=61305790721611591 a84=99194853094755497 a85=160500643816367088 a86=259695496911122585 a87=420196140727489673 a88=679891637638612258
第88項までの値を整数値として保持するためには long型が必要です。
ex07-2.c
次のような掛け算九九表を出力するプログラム ex07-2.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、表には乗数・被乗数と積の値の間に適当なスペースなどを表示し、乗数・被乗数と積が区別できるような出力とする。
実行例:
t190900@s01cd0542-160:~/kiso2-2019/ex07$ ./ex07-2 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 3 3 6 9 12 15 18 21 24 27 4 4 8 12 16 20 24 28 32 36 5 5 10 15 20 25 30 35 40 45 6 6 12 18 24 30 36 42 48 54 7 7 14 21 28 35 42 49 56 63 8 8 16 24 32 40 48 56 64 72 9 9 18 27 36 45 54 63 72 81
printf() 関数の変換指定子は、その変換指定子で表示する数値などの文字幅を % 直後の数字で指定することができます。たとえば、%10d は整数値を右寄せ10文字幅で表示し、文字幅を超えた部分は空白文字が表示されます。
より具体的には、a=10 を %10d で表示すると “ 10” (空白8文字+”10” で合計10文字)が表示されます。ただし、もし表示する数値などが文字幅を超えた場合は、%d が指定されたときと同じように(左寄せで必要な文字幅ぴったりに)なります。
実数値を表示するための %f についても、%10f (10文字幅)や、%10.2f (10文字幅で小数点以下2桁) のように文字幅を指定することができます。ただし、桁数ではなく、あくまで文字幅を指定するものなので、小数点も1文字幅として指定した数字に含まれます。