無理ゲー実習攻略・Fortran、Perl、Ruby、Javaの裏技

2015年7月24日 0 投稿者: khws4v1

C言語以外全く触れたことのない学生にCのコードをFortran、Perl、Ruby、Javaで再実装させるというマジキチな実習がありました。
どう考えても無理ゲーです、本当にありがとうございました。

無理ゲーな理由はこの表を見ればなんとなく分かっていただけるのではないでしょうか。

C Fortran Perl Ruby Java
関数の定義 必要 必要 不要 不要 必要
繰り返し for do~end do for for
Integer.upto
Integer.times
for
標準出力に出力 printf print
write
print puts
print
System.out.println
System.out.print
べき乗 pow ** ** ** Math.pow

C言語の決まりに縛られてるといくらインターネットでやり方を調べようにも調べられないという難しさ。
ちなみにC言語のソースはこちら

改行をするかしないかで難易度を地味にあげているのがお分かりでしょうか。
FortranのprintやRubyのputsは自動で改行するので改行なしで出力するには別の関数が必要です。

ちなみに真面目にやるなら

  1. (言語名) hello worldでググってコードをコピペ
  2. (言語名) 変数 整数でググってC同様に変数ijを宣言
  3. (言語名) 繰り返しでググってC同様にループをするコードを書く
  4. (言語名) 画面出力でググってC同様に文字を標準出力に出力するコードを書く
  5. 必要ならばコンパイルして終了

ですね。
これができれば英文のエラーが出てもパニックにならない人なら誰でもできます。

言語ごとの難易度は
Fortran > Ruby > Java > Perl
らしいですが、個人的には
Fortran > Java > Ruby > Perl
ですかね。
JavaはCと構文が似ているけれどクラス定義とか名前空間とかがややこしいはずです。

超簡単な攻略法

そんな無理ゲーですが、実は超簡単な攻略法があります。

それは簡単、Cで書かれたコードを再実装できないならそのまま使えばいいのです。
ね?簡単でしょう?

このように外部コマンドを呼び出し、コンパイルして実行するだけ!

なお、普通にやったほうが簡単な模様