第06回の基本課題
試験の実施方法
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分ずつ減るので注意して下さい。
以下の ex06-1.c, ex06-2.c は「試験」の練習用課題として出題されています。「試験の実施方法」をよく読んで、試験に参加できるようにしておいてください。
現在は、1回の試験時間を5分とし、何度でも試験に参加できるように設定されていますので、繰り返し試験への参加を練習しておいてください。
演習課題 ex06-1.c
switch 文は、if〜else 文のような条件分岐のための構文である。ただし、if 文などと異なり、条件には整数型のみを利用することができる。
この switch 文を用いて、キーボードから何月かを 1〜12 の整数値として入力すると、その月が前期(4〜7)、夏休み(8〜9)、後期(10〜1)、春休み(2〜3)のいずれかを出力することを繰り返すプログラム ex06-1.c を作成し、kiso2 コマンドを用いて提出しなさい。 ただし、入力した月が 1〜12 の範囲外であるときには、メッセージを出力してプログラムを終了するものとする。
実行例:
t190900@s01cd0542-160:~/kiso2-2018/ex09$ ./ex06-1 m? 1 後期です m? 3 春休みです m? 5 前期です m? 8 夏休みです m? 10 後期です m? 12 後期です m? 14 なんですって?
演習課題 ex06-2.c
キーボードから実数値として角度 x の値を度数法(°)で入力すると、そのときの正弦 $\sin(x)$ と余弦 $\cos(x)$ の値を小数点以下4桁まで出力することを繰り返すプログラム ex06-2.c を作成し、kiso2 コマンドを用いて提出しなさい。 ただし、x の値として 0 が入力されるとプログラムを終了するものとする。
実行例:
t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-2 x? 10 sin(10.000000) = 0.1736 cos(10.000000) = 0.9848 x? 90 sin(90.000000) = 1.0000 cos(90.000000) = 0.0000 x? 180 sin(180.000000) = 0.0000 cos(180.000000) = -1.0000 x? -180 sin(-180.000000) = -0.0000 cos(-180.000000) = -1.0000 x? -270 sin(-270.000000) = 1.0000 cos(-270.000000) = -0.0000 x? 504 sin(504.000000) = 0.5878 cos(504.000000) = -0.8090 x? 0.01 sin(0.010000) = 0.0002 cos(0.010000) = 1.0000 x? -0.3 sin(-0.300000) = -0.0052 cos(-0.300000) = 1.0000 x? 1.2 sin(1.200000) = 0.0209 cos(1.200000) = 0.9998 x? 0
math.h で定義される数学関数を利用します。$\pi$ の計算は、自分で適当な精度の $\pi$ の近似値を #define を用いてマクロ定数として定義し利用する。あるいは、math.h に定義された定数 M_PI を利用して下さい。