期末テストを終え,学校も少し暇になったのか,こうしろうの情報処理技術者試験に向けた勉強のピッチが上がってきた。3月19日から午後問題に取り組み始めた。基本情報処理技術者試験の午後問題の範囲は,1.ハードウェアに関すること。2.ソフトウェアに関すること。3.アルゴリズムに関すること。4.データ構造及びデータベースに関すること。5.通信ネットワークに関すること。6.情報処理技術に関すること。7.プログラム設計に関すること。8.プログラム言語に関することである。
1,2は知識であるが,3以降は考えること,実際に何かを作り出すことを求められる。頭の体操と考えれば楽しいのであるが,経験が必要になる分野でもある。7,8のプログラム設計やプログラムの作成は日常,これらを仕事としてやっているプログラマにとっては,簡単なところかもしれないが,MindStormsの標準開発環境,MindStormsで作成したロボットを動かすことに特化したC言語に似たNQC,そしてC言語をちょっとかじっただけのこうしろうにとっては,なかなか容易ではあるまい。前途多難であるが,本人は「春休みにがんばるぞー」と意気盛んだ。
3月19日から,3月22日までの4日間,基本情報技術者実戦問題に取り組んだ結果,「よう,わからん」とこうしろうが質問に来たのが,次の4点である。
ハッシュ法のフローチャート
文字列圧縮のフローチャート
SQLの副問合せ(サブクエリ)
コンピュータ・ネットワークの稼働率
フローチャートが苦手なようである。「こうしろう,フローチャートの問題は,頭でどれだけ考えてもわからんちゃ。」フローチャートの穴埋め問題の答えを頭の中で求めるのは慣れた人間にとっても,つらい作業である。フローチャートの意味する動作を理解するには,紙の上に表を書いて処理を行うごとに値(データ)がどう変わるかを書き込んでいけば良い。
まずはハッシュ法。ハッシュ法とは表の探索,表へのデータの追加・更新を効率よく行うための手法の1つであり,ハッシュ関数という計算式を用い表中のデータ格納位置を求める。
実戦問題の設問は75,100,253,355という整数値の格納位置を,ハッシュ値=整数値を15で割った余り+1というハッシュ関数で求めるというものである。
75のハッシュ値は,余り0 + 1で1,100は余り10 + 1で11,253は余り13 + 1で14,355は余り10 + 1で11となる。ハッシュ法の場合,複数のデータが同じハッシュ値を返すことがあるという性質がある。100と355の格納位置を示すハッシュ値はともに11である。この衝突を回避し,なおかつ効率的にデータを取り出すためにチェーンという項目を使う。
今回の例では15で割った余りに1を足した値をハッシュ値とするので,重複する値が発生しない限り,表の1から15の位置にデータが格納されていく。重複した値(355)が発生した場合,16以降の空いている場所にその値を格納し,チェーンに同じハッシュ値を持つデータの格納位置を入れる。
この表から処理の手順であるフローチャートがイメージできるかどうかが勝負である。一番外側のループ(繰り返し)が75,100,…と順に値を読み出す部分,次にその値のハッシュ値を求め,1から15の格納場所が空いていれば,その場所に入れる。もしその場所が空いていない場合は16以降の空いている場所を探すのが,次のループになる。
次に文字列の可逆圧縮のフローチャートである。
今度は横に表(文字列を入れる配列)を書く。上の配列の文字列を可逆(元に戻せるように)圧縮する。ルールとしては@(アットマーク)を圧縮の開始文字とする(圧縮対象文字に@が含まれないことが前提になる)。次に繰り返す文字数,そして圧縮対象となった文字を続ける。4文字以上同じ文字が続く場合は圧縮の効果が現れる。表や配列を扱うフローを考える時に重要なことは,その配列の1つずつの要素を操作する添え字を決め,初期値をどう与えるかということである。圧縮元の配列の添え字をiとし,圧縮先の配列の添え字をjとする。そしてiの初期値を2にする。1ではなく2にするところがミソなのである(jは1とする)。圧縮元配列(i)とその1つ前,圧縮元配列(i - 1)を比較する。これが一致しなければ圧縮する必要はないと判断できる。一致した場合は,一致する文字数のカウントを開始し,次の文字,次の文字と比較していく。不一致になった時点で,@,カウント,圧縮対象の文字をjをたよりに圧縮先の配列に埋め込んでいく。
フローチャートの問題では,「この処理のフローチャートを全部書け」と要求されることはなく,おおよそのフローは仕上がっていて,「空欄を埋めよ」と選択肢が用意されていることが多い。フローの中に入れる文字列を予想して,どのように処理が進んでいくかを紙の上に書いていくことで答えは浮かびあがってくるはずだ。しかし,与えられた時間内に問題をこなすためには,経験や慣れが必要なのである。
次のSQLの副問合せも,実際にSQLを作り,実行して結果を確認することでしか真の理解は得られない。MindStormsの外箱に書いてあるMITのセイモア・パパート博士の言葉「知識は理解の一部でしかありません。真の理解は手を使って経験することから生まれます。」を思い出した。これらの問題を解くコツは訓練からしか学べないのである。
でもね,コンピュータ・ネットワークの稼働率は公式を覚えるだけでOKなんだ。企業の本社や支店を結ぶネットワークが下図のように接続されているとする。
1本の線で高岡-富山-東京が結ばれている。このような接続を直列接続と言い,高岡-東京間の稼動率はP1,P2の積で求まる。つまり,0.8 × 0.7で稼働率は0.56となる。
この接続に高岡-東京間を結ぶ線を1本追加すると,並列接続になる。
並列接続の稼働率は,非稼働率の積を1から引くことで求まる。稼働率 = 1 - ( 1 - 0.8 × 0.7 ) × ( 1 - 0.6 ) で 0.824となる。
他の試験と同様に,公式を覚えることも大切なのである。
第86話 こうしろう,ピッチを上げる
あなたにお薦め
今日のピックアップ
-
不要な製品の購入を強いられる、ブロードコムのVMware買収で悪影響
-
米GitHubが「Workspace」を開始、ソフト開発の課題をAIが自動解決
-
Core Ultra搭載の「dynabook R9」、35時間駆動の実力
-
パスワード管理や不正サイト対策はEdgeもChromeも充実、複数機器の同期は選べる
-
コメント関連が使いやすくなった新Acrobat Reader、「クイックツールバー」に集約
-
M3搭載「MacBook Air」とM2搭載モデルを比較、外付けディスプレー2台接続も試す
-
有名人になりすまして投資広告を掲載、SNSで接触してみた結果
-
NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
-
IIJ公式サイトのPVがある日突然13倍に、バズったわけでも炎上したわけでもない裏側
-
アリババのデジタル人材育成プログラム、世界の起業家や若者4千人以上にノウハウ提供
-
縦長のWebページ全体を画像で保存、メニューから選べるEdgeがChromeより便利
-
「四重苦」で伸び悩む日本市場、なぜ海外スマホメーカーが開拓に本腰を入れるのか
注目記事
おすすめのセミナー
-
「仮説立案」実践講座
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
CIO養成講座 【第35期】
業種を問わず活用できる内容、また、幅広い年代・様々なキャリアを持つ男女ビジネスパーソンが参加し、...
-
改革リーダーのコミュニケーション術
プロジェクトを成功に導くために改革リーダーが持つべき3つのコミュニケーションスキル—「伝える」「...
-
パワポ資料が見違える「ビジネス図解」4つのセオリー
インフォグラフィックスとは、形のない情報やデータなど伝えたいことを分かりやすい形で表現する技法で...
-
間違いだらけの設計レビュー
本セミナーでは、現場で多く見られる間違ったレビューの典型例を示し、そうならないための現場の改善策...
-
オンライン版「なぜなぜ分析」演習付きセミナー実践編
このセミナーでは「抜け・漏れ」と「論理的飛躍」の無い再発防止策を推進できる現場に必須の人材を育成...
-
問題解決のためのデータ分析活用入門
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
業務改革プロジェクトリーダー養成講座【第16期】
3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...
注目のイベント
-
日経クロステックNEXT 関西 2024
2024年5月16日(木)~5月17日(金)
-
日経ビジネスCEOカウンシル
2024年5月16日(木)17:00~19:50
-
WEURO DIVERSITY & INCLUSION FORUM
2024年5月17日(金)13:00~17:30(予定)
-
VUCA時代に勝ち残る戦略的サプライチェーン構築に向けて
2024年 5月 24 日(金) 10:00~16:20
-
人手不足を乗り越える 日本の産業界成長のシナリオ2024
2024年5月30日(木)10:20~17:45
-
人的資本経営版:日経ビジネスLIVE 2024 Spring
2024年6月3日(月)~6月5日(水)
-
DX Insight 2024 Summer
2024年6月4日(火)、5日(水)
-
付加価値ある意匠デザインを実現するものづくり技術2024
2024年6月7日(金)10:30 ~ 17:00
-
WOMAN EXPO 2024
2024年6月8日(土)10:00~17:30
-
デジタル立国ジャパン2024
2024年6月10日(月)、11日(火)
おすすめの書籍
-
ソフトバンク もう一つの顔 成長をけん引する課題解決のプロ集団
ソフトバンクにはモバイルキャリア事業以外のもう一つの顔が存在する。本書ではキーパーソンへのインタ...
-
対立・抵抗を解消し合意に導く 改革リーダーのコミュニケーション術
本書は、改革リーダーに必須のコミュニケーション術を3つのスキルの観点からまとめ上げたものです。今...
-
もっと絞れる AWSコスト超削減術
本書ではコスト課題を解決するため、AWSコストを最適化し、テクニックによって削減する具体策を紹介...
-
優秀な人材が求める3つのこと 退職を前提とした組織運営と人材マネジメント
「学生に人気のコンサルであっても、大手企業であっても、せっかく獲得した人材が数年で辞めてしまう...
-
Web3の未解決問題
ブロックチェーン技術を主軸とするWeb3の技術について、現在の社会制度との摩擦と、その先にある新...
-
ロボット未来予測2033
ロボットの用途・市場はどう拡大していくのか。AI実装でロボットはどこまで進化するのか。技術の進展...