Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

情報処理技術者試験

令和5年度秋期 応用情報午後問3(3)

「令和5年度秋期 応用情報午後問3 - Mae向きなブログ」、「令和5年度秋期 応用情報午後問3(2) - Mae向きなブログ」の続きです。 graphvizを使うと、2分探索木を見える化できるので、もう少し多くの要素を持つ2分探索木を描いてみました。 プログラム例(r05a_…

令和5年度秋期 応用情報午後問3(2)

昨日、作成した2分探索木のプログラムを使って、 最悪の場合の2分探索木と 平衡2分探索木 が作られていく様子を見ていきたいと思います。 プログラム例(r05a_ap_pm3.py) 最悪の場合 107行目以降を以下のように変更します。 関数insertを使って、1から順番に7…

令和5年度秋期 応用情報午後問3

令和5年度秋期 応用情報技術者試験(AP)の午後問題3は、 2分探索木(AVL木) に関する問題でした。2分探索木については、何度か出題されてますが、木の回転が出題されたのは初めてかもしれませんね。 学生時代に作った記憶がありますが、復習のつもりで取り組ん…

令和5年度春期 応用情報午後問3

令和5年度春期 応用情報技術者試験(AP)の午後問題3は、 多倍長整数の演算(カラツバ法) に関する問題でした。 多倍長整数の加減算については、学生時代の課題で取り組んだ記憶があるのですが、乗算についてはこんな手法があるんですね。 問題を解くだけでも勉…

平成29年度春季基本情報午後問8(優先度付きキューを使って)

「優先度付きキューにも使われる二分ヒープ構造をRubyで実装してみる - $shibayu36->blog;」という記事を見かけましたので、Heapクラスを使ってダイクストラ法に取り組んでみました。 題材は、以前も取り組んだ「平成29年度春季基本情報午後問8」です。 問題…

令和4年度秋期 応用情報午後問3

令和4年度秋期 応用情報技術者試験(AP)の午後問題3は、 迷路の探索処理 に関する問題でした。 春の「数独」に続き、今回も楽しい題材ですね。 問題文(pdf) プログラム例(r04a_ap_pmq3.py) 問題文の図1,2では、左下が原点になっていますが、プログラムでは、…

令和4年度春期 応用情報午後問3

令和4年度春期 応用情報技術者試験(AP)の午後問題3は、 数独(パズルの解答を求めるプログラム) に関する問題でした。 問題文(pdf) 数独は、Project EulerのProblem 96で取り組んだことがあるのですが、試行錯誤を繰り返しながら作ったプログラムを今、振り返…

令和3年度秋期 応用情報午後問3

令和3年度秋期 応用情報技術者試験(AP)の午後問題3は、 有向グラフを用いた一筆書き に関する問題でした。 問題文(pdf) グラフの問題というと2次元配列というイメージがあるのですが、一次元配列start,end,edgefirst, edgenextなどをうまく使って有向グラフ…

令和3年度春季 応用情報午後問3 その2

令和3年度春季 応用情報技術者試験(AP)の午後問題3は、 クラスタ分析に用いるk-means法 に関する問題でした。 問題文(pdf) 先日は、問題文の中で分類方法の例として取り上げられていた7個の点を実際に分類してみたのですが、今回は点の数を1000個に増やし、5…

令和3年度春季応用情報午後問3

令和3年度春季 応用情報技術者試験(AP)の午後問題3は、 クラスタ分析に用いるk-means法 に関する問題でした。 問題文(pdf) プログラム例(r03h_ap_pm3.rb) 実行結果 問題文の説明で使用されている以下の7個の点を2つのクラスタに分けてみました*1。 P0=(1,0)…

令和2年度10月 応用情報午後問3

令和2年度10月 応用情報技術者試験(AP)の午後問題3は、 誤差拡散法による減色処理 に関する問題でした。 減色処理とは、画像の情報量を落として画像ファイルのサイズを小さくしたり、モノクロの液晶画面に画像を表示させたりする際に行われる処理で、誤差拡…

令和元年度秋期基本情報午後問12

令和元年度秋期 基本情報技術者試験(FE)の午後問題12(CASL)は、 16ビットのパック10進数を加算するプログラム に関する問題でした。 問題文(pdf) プログラム例(r01a_fe_pm12.casl) aに関する解答群について 空欄aの次の行で符号部の退避処理を行っていること…

令和元年度秋期応用情報午後問3

令和元年度秋期 応用情報技術者試験(AP)の午後問題3は、 ニューラルネットワーク に関する問題でした。 ニューラルネットワークという言葉を初めて知ったのが、30年近く前の学生時代。閾値とかシナプスとか、脳の仕組みをコンピュータで模倣しているというと…

令和元年度秋期基本情報午後問9

令和元年度秋期 基本情報技術者試験(FE)の午後問題9は、 入力ファイルの内容を、文字および16進数で表示するプログラム に関する問題でした。 問題文(pdf) プログラム例(r01a_fe_pm9.c) 実行結果 $ gcc r01a_fe_pm9.c && ./a.out main.c 0 int main() {.. /*…

基本情報技術者試験午後Pythonサンプル問題

令和2年度春期 基本情報技術者試験(FE)からプログラム言語の選択問題で追加されるPythonのサンプル問題が公開されています。 出典:基本情報技術者試験 Pythonサンプル問題 今まで、Pythonを学習しようと思ったことは何度となくあるのですが、Rubyに慣れてい…

令和元年度秋期基本情報午後問8

令和元年度秋期 基本情報技術者試験(FE)の午後問題8は、 Bitap法を使って文字列検索を行うプログラム に関する問題でした。 問題文(pdf) プログラム例(r01a_fe_pm8.c) 実行結果 設問1,2の内容で実行 対象文字列(text)と検索文字列(pat)は図1を利用しています…

タートルグラフィックス

平成16年度秋期基本情報午後問10で出題されたタートルグラフィックスは、マーカー(亀)の方向を上下左右の4方向しか指定できない簡易的なものでした。 左右の回転コマンドを追加すると、もう少し面白くなるのではと思い、rコマンド(右回転)とlコマンド(左回転…

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

平成16年度春期 ソフトウェア開発技術者試験(SW)の午後問題5は、 Base64の変換プログラム に関する問題でした。 問題文(pdf) プログラム例(h16h_sw_pm5.c)*1 実行結果 設問1(1)、(2)を実際に実行してみました。 出力結果1行目が、4バイトのデータ(10,20,30,4…

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

平成16年度春期 基本情報技術者試験(FE)の午後問題10は、 C言語の注釈を除去して標準出力へ出力するプログラム に関する問題でした。 問題文(pdf) プログラム1(h16h_fe_pm10_1.c) 実行結果 コンパイル後、自分自身(h16h_fe_pm10_1.c)の注釈を除去してみまし…

平成16年度春期基本情報午後問6

平成16年度春期 基本情報技術者試験(FE)の午後問題6は、 n個の点が与えられたとき、これらの点を全て含む円のうち、半径が最小である円の中心座標と半径を求めるプログラム に関する問題でした。n個の点の座標やLOOPMAXを色々と変化させて試してみると面白そ…

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

平成16年度春期 基本情報技術者試験(FE)の午後問題4は、 マージソート に関する問題でした。「情報処理技術者試験の過去問を実際に動かしてみよう!」のリストを見ると、マージソートは過去少なくとも3回は出題されていますね。 問題文 プログラム例(h16h_fe_…

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

平成16年度秋期 基本情報技術者試験(FE)の午後問題6は、 URLエンコード に関する問題でした。 問題 プログラム例(h16a_fe_pm6.c) 実行結果 "基本情報技術者試験"という文字列(UTF-8)をURLエンコードし、URLデコードして元の文字列に戻るかどうかテストしてい…

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

平成16年度秋期 基本情報技術者試験(FE)の午後問題4は、 M進文字列をN進文字列に基数変換するプログラム に関する問題でした。 問題 プログラム例(h16a_fe_pm4.c) 実行結果 実行例の1行目は、10進数の255を2進数へ。2行目は16進数のFFを2進数へ。最後の行は…

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

平成16年度秋期 基本情報技術者試験(FE)の午後問題10は、 タートルグラフィックス(簡易版) に関する問題でした。本問ではマーカ(亀)の進行方向が上下左右の4通りしか指定できませんが、t60などと角度指定できるように拡張すれば、もっと面白くなりそうですね…

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

平成17年度春期 ソフトウェア開発技術者試験(SW)の午後問題5は、 リスト に関する問題でした。 問題 プログラム例(h17h_sw_pm5.c) 実行結果 リストに対して設問1を実行してみました。 $ gcc h17h_sw_pm5.c && ./a.out (10, 40, 20) 関連 情報処理技術者試験…

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

平成17年度春期 基本情報技術者試験(FE)の午後問題4は、 ヒープソート に関する問題でした。ヒープソートについては、平成30年度春季基本情報午後問8でも出題されていますね。こちらでは、バブルソートとの速度比較も行なっています。また、同じヒープソート…

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

平成17年度春期 基本情報技術者試験(FE)の午後問題2は、 照合文字列に一致する文字列を置換するプログラム に関する問題でした。 問題 プログラム例(h17h_fe_pm2.c) 実行結果 図の例を実際に実行してみました。 $ gcc h17h_fe_pm2.c && ./a.out Before: aabc…

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

平成17年度秋期 基本情報技術者試験(FE)の午後問題4は、 中置表記法による正しい数式を、スタックを用いて後置表記法(逆ポーランド記法)に変換するプログラム に関する問題でした。 問題 プログラム例(h17a_fe_pm4.c) 実行結果 $ gcc h17a_fe_pm4.c && ./a.o…

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

平成18年度春季 ソフトウェア開発技術者試験(SW)の午後問題6は、 ダイクストラ法 に関する問題でした。ちなみに、平成29年度春季基本情報午後問8でも出題されています。 問題 プログラム例(h18h_sw_pm5.c) 実行 図1 グラフGのデータで実行してみました。実行…

平成31年度春季基本情報午後問11

平成31年度春季 基本情報技術者試験(FE)の午後問題11は、 迷路(Maze) に関する問題でした。Javaでの出題ですが、面白そうな題材なのでRubyで取り組んでみました。 問題 プログラム例(h31h_fe_pm11.rb) 実行結果 $ ./h31h_fe_pm11.rb ↓ → → → → ↓ ↓ ← ← ← ← …