Mae向きなブログ

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

C

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

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

C言語ではじめるRaspberry Pi徹底入門

Raspberry PiとRubyを使って、以下のようなことをやってきたのですが、 NTPサーバの起動とmotion Raspberry Pi接続のLEDをブラウザからON/OFF制御 Raspberry Pi接続のサーボモータ制御 天気に応じてLEDの点灯パターンを変える ブラウザからRaspberry Piに接…

プログラミング言語C 第2版

最近、『例解UNIX/Linuxプログラミング教室 システムコールを使いこなすための12講』を読んでいることもあって、(かなり)久しぶりに学生時代に教科書として使用したK&Rを読み返していたのですが、第5章の「5.12 複雑な宣言」の中に出てくる 宣言をことばによ…

『例解UNIX/Linuxプログラミング教室 システムコールを使いこなすための12講 』章末問題(8章の3)

第8章は、「ソケット通信入門」でした。ネットワークに関するプログラムを作るとなると Ruby を使うことが多かったので、C言語で取り組むのは本当に久しぶりです。 第8章 章末問題 3. 複数のお気に入りアドレスをあらかじめ指定しておき、動作させるとそれら…

『例解UNIX/Linuxプログラミング教室 システムコールを使いこなすための12講 』章末問題(5章の5)

最近、Linux環境を使うこともなくなり、またC言語でプログラムを作るということもなくなってきたのですが、遠ざかると寂しさ、懐かしさが込み上げてくるもので、そんなときに出会ったのがこの本でした。 大学卒業後は、我流でやっているので、本書のように体…

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

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

令和元年度秋期基本情報午後問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年度春季基本情報午後問9

平成31年度春季 基本情報技術者試験(FE)の午後問題9は、 プログラム中に出現する文字コードごとの出現回数を求め、バブルソートで出現回数の降順にソートするプログラム に関する問題でした。 問題 プログラム例(h31h_fe_pm9.c) 実行結果 文字コードごとの出…

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

平成31年度春季 基本情報技術者試験(FE)の午後問題8は、 ハフマン符号化を用いた文字列圧縮 に関する問題でした。 問題 ハフマン符号は、出現頻度が高い文字については短いビット列を、出現頻度が低いものに対しては長いビット列を割り当てることで、文字列…

平成18年度春季基本情報午後問10

平成18年度春季 基本情報技術者試験(FE)の午後問題10は、 入力された英単語を検索し、訳語を表示するプログラム に関する問題でした。面白いデータ構造ですね。 問題 プログラム例(h18h_fe_pm10.c) ユーザインタフェースに関する関数(displayArea, clearFiel…

平成18年度秋季ソフトウェア開発午後問5(2)

一昨日取り組んだ「平成18年度秋季ソフトウェア開発午後問5(2分探索木)」の続きです。 実験(4) main関数を以下のように置き換えます。99未満の乱数(整数)を発生させ、2分探索木に挿入するという操作を100回繰り返してみました。 int main(void) { NODE *root…

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

平成18年度秋季 ソフトウェア開発技術者試験(SW)の午後問題5は、 2分探索木 に関する問題でした。2分探索木については、平成27年度秋季応用情報午後問3でも出題されており、その際はRubyで実行していますので、今回はC言語で作成してみました。 問題 : 2006h…

平成18年度秋季基本情報午後問10

平成18年度秋季 基本情報技術者試験(FE)の午後問題10は、 対象文字列を先頭から1文字ずつ順に調べ、パターン文字列が表現している条件を満足しているかどうかを判定するプログラム(正規表現もどき) に関する問題でした。 問題 : 2006h18a_fe_pm_qs.pdf プロ…

平成18年度秋季基本情報午後問6

平成18年度秋季 基本情報技術者試験(FE)の午後問題6は、 4けたの数字をなるべく少ない回数の推測で当てるゲーム Hit & Blow に関する問題でした。 問題 : 2006h18a_fe_pm_qs.pdf プログラム例(h18a_fe_pm6.c) 実行結果 $ gcc h18a_fe_pm6.c && ./a.out [1回…

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

平成19年度春季 ソフトウェア開発技術者試験(SW)の午後問題5は、 小町算の解を求めるプログラム に関する問題でした。 問題 : 2007h19h_sw_pm1_qs.pdf プログラム例(h19h_sw_pm5.c) 実行結果 $ gcc h19h_sw_pm5.c && ./a.out 123-45-67+89 123-4-5-6-7+8-9 1…

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

平成19年度秋季 ソフトウェア開発技術者試験(SW)の午後問題5は、 トポロジカルソート に関する問題でした。 問題 : 2007h19a_sw_pm1_qs.pdf プログラム例(h19a_sw_pm5.c) 実行結果 図1の赤文字はノード番号です。実行結果をみると、図2と同じ結果となりまし…

平成19年度春季基本情報午後問10

平成19年度春季 基本情報技術者試験(FE)の午後問題10は、 リーグ戦の勝敗表を出力するプログラム に関する問題でした。 問題 : 2007h19h_fe_pm_qs.pdf プログラム例(h19h_fe_pm10.c) 52行目は、rank++ではないですね。実行してみて気づきました。本番の試験…