Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

平成16年度秋期基本情報午後問4

平成16年度秋期 基本情報技術者試験(FE)の午後問題4は、

  • M進文字列をN進文字列に基数変換するプログラム

に関する問題でした。

f:id:rahaema:20190520051649p:plain

プログラム例(h16a_fe_pm4.c)

実行結果

実行例の1行目は、10進数の255を2進数へ。2行目は16進数のFFを2進数へ。最後の行は、16進数のFFを2進数に変換後すぐに16進数に戻しています。

$ gcc h16a_fe_pm4.c && ./a.out
11111111
11111111
FF

関連

平成16年度秋期基本情報午後問10

平成16年度秋期 基本情報技術者試験(FE)の午後問題10は、

  • タートルグラフィックス(簡易版)

に関する問題でした。本問ではマーカ(亀)の進行方向が上下左右の4通りしか指定できませんが、t60などと角度指定できるように拡張すれば、もっと面白くなりそうですね。

f:id:rahaema:20190519170221p:plain

プログラム例(h16a_fe_pm10.c)

描画先をTikZにしてみました。それに伴い以下のような変更を行なっています。

  • キャンバスのサイズ、マーカの初期値を1/10に設定
  • 座標の原点が左上から左下へ

実行結果

$ gcc h16a_fe_pm10.c && ./a.out > picture.tex
$ ptex2pdf -u -l picture.tex && open picture.pdf

f:id:rahaema:20190519165216p:plain

注意点

空欄eは、要注意です。}に到達した時点で繰り返し回数の1回分を実行したことになりますね。引っかかってしまいました。

関連

平成17年度春期ソフトウェア開発午後問5

平成17年度春期 ソフトウェア開発技術者試験(SW)の午後問題5は、

  • リスト

に関する問題でした。

f:id:rahaema:20190518103351p:plain

プログラム例(h17h_sw_pm5.c)

実行結果

リストに対して設問1を実行してみました。

$ gcc h17h_sw_pm5.c && ./a.out
(10, 40, 20)

関連

平成17年度春期基本情報午後問4

平成17年度春期 基本情報技術者試験(FE)の午後問題4は、

に関する問題でした。ヒープソートについては、平成30年度春季基本情報午後問8でも出題されていますね。こちらでは、バブルソートとの速度比較も行なっています。また、同じヒープソートでも両者の実装の違い(再帰と繰り返し)に注目するのも面白いかもしれません。

f:id:rahaema:20190503054525p:plain

プログラム例(h17h_fe_pm4.c)

実行結果

$ gcc h17h_fe_pm4.c && ./a.out
Before : 5 17 1 5 7 14 12 3 16 19 13 8 12 18 13 16 8 2 10 0
After  : 0 1 2 3 5 5 7 8 8 10 12 12 13 13 14 16 16 17 18 19

関連

平成17年度春期基本情報午後問2

平成17年度春期 基本情報技術者試験(FE)の午後問題2は、

  • 照合文字列に一致する文字列を置換するプログラム

に関する問題でした。

f:id:rahaema:20190502070126p:plain

プログラム例(h17h_fe_pm2.c)

実行結果

図の例を実際に実行してみました。

$ gcc h17h_fe_pm2.c && ./a.out
Before: aabcabb
After : aABCcABCb

関連

平成17年度秋期基本情報午後問4

平成17年度秋期 基本情報技術者試験(FE)の午後問題4は、

  • 中置表記法による正しい数式を、スタックを用いて後置表記法(逆ポーランド記法)に変換するプログラム

に関する問題でした。

f:id:rahaema:20190501163025p:plain

プログラム例(h17a_fe_pm4.c)

実行結果

$ gcc h17a_fe_pm4.c && ./a.out
(2+4)*3+5*6
24+3*56*+

関連

平成18年度春季ソフトウェア開発午後問5

平成18年度春季 ソフトウェア開発技術者試験(SW)の午後問題6は、

に関する問題でした。ちなみに、平成29年度春季基本情報午後問8でも出題されています。

f:id:rahaema:20190429152718p:plain

プログラム例(h18h_sw_pm5.c)

実行

図1 グラフGのデータで実行してみました。実行結果のそれぞれの行はA地点から各地点に行くための経路とその最短距離を示しています。例えば、E地点に行くためには、A→C→Eと辿れば、距離18で最短になります。

$ gcc h18h_sw_pm5.c && ./a.out
A A (0)
A C B (5)
A C (3)
A C B D (10)
A C E (18)

関連