やうたんのループ<めざせ合格ITパスポート!> -22ページ目

やうたんのループ<めざせ合格ITパスポート!>

めざせ合格ITパスポート!情報処理技術者試験ブログ!
やさしく学ぼう!やうたんと一緒に!情報処理の世界へようこそ!

44

どうもー、ご無沙汰してます。やまざきでございます。

おひさしぶりですな!かなたんです!

4

ぶりぶり寒ぶり!やうたんです!

今回からは表計算というテーマでやっていくわけですが。実はITパスポート試験
ではほんの基本的な内容しか出て来ません。しかし、基本情報処理技術者試験
では午後の選択問題として登場するなど、かなり難しくなって出てきます。そこで!

そこで?

そこぜえええええーーーっと!

いちおう、基本情報処理技術者の試験範囲にちょっぴり入る感じでやりたい
と思いますのでよろしくおねがいします。


よっ!サービス満点!

よっ!過剰な教育は何も産まないぞっ!

さて、表計算というと、圧倒的なシェアを持っているのが、マイクロソフトのEXCELで
す。関数の説明についてはこのソフトを使ってやりたいと思います。


また、前提知識としては高校生は全商情報処理検定2級以上、社会人はMOSエク
セルスペシャリスト以上あると、ちょっぴり楽です。

仕事で使っている人、アドバンテージがあると思いますね。


・・・そ、それ以外の人は(涙目)

・・・全然ダメってことですかね(震え声)


大丈夫!全く初めての人にもわかりやすく!それがこのブログじゃないですか!!


(つづきます)

kato

というわけでね。ええ。アルゴリズム編終了ですよ。

え!ちょっと短くないですか?

3

こ、こんなんでいいの?作者の手抜きですか?

いえいえ、ITパスポートではこのくらいで試験範囲終了なんです。本格的に勉強する
のは基本情報のときになります。そのときは・・・できないでは合格は難しくなりますの
で、しっかりやってくださいよ。


基本情報処理技術者では、午後の必修問題ですもんね。

よくご存知ですね。アルゴリズム苦手でも合格は出来るんですけど、他の部分が苦
しくなります。アルゴリズムで半分くらい点数が取れると、ぐぐっと合格が近づきます。


あいにく、このブログはITパスポートですけどね・・・。

ええ、基本情報処理技術者合格に向けては、また別の機会に。とはいいつつ、もう一言。
基本情報を学んでいる方で、よくアルゴリズムが苦手だという人がいますね。
そういうかたは、何の言語でもいいので、実際にプログラムを組んでみることをおすす
めします。線形探索法とか、二分探索法とかが、どのようなプログラムで、どのよう
に数値が変化していくのかを理解するだけでも、結構違いますよ。


っていっても、プログラムやれっていっても・・・ハードル高すぎですよお。

紙の上でトレースするのも・・・めんどくさいんだおっ!プンスカプン!

そのへんが、難しい兼ね合いなんですけどね・・・。さて、次回から表計算編です。エクセ
ルに代表される表計算ソフトについて触れて行きましょう。いよいよ、ヤマザキ先生に戻
っていただきますよ。ええ。


うっひゃー、どひさしぶりですね。


どんなイタズラをするか・・・いまからドキドキしちゃうぞ!


(つづきます)

kato

というわけで、探索にはソートが有効であるということがわかっていただけたでしょうか?

ソートさえしていれば二分探索法が使えるので、大変便利でございますよね。

並び替えも大変なんですか?


それにもいろいろやり方があります。今日はいろんなソートについて勉強します。


やうしん2

ちょっと、外に行ってきます。ソートだけに。


そーとー悪い生徒ですね、やうたん・・・。



バブルソート
バブルソートは、隣接するデータの値を比較して、並べ替えるべきかどうかを判断し、
必要に応じて並べ替える動作を繰り返す手法です。逐次比較することで、最終的に
はデータの先頭から末尾までを順番に整列することができます。

左を小さい数字、右を大きい数字に並び替えるとしますよね。

初 期 83467215 
1回目 3467215 (8を移動させていく。移動回数7)
2回目 3462158 (7を移動。移動回数3)
3回目 3421578 (6を移動。移動回数3)
4回目 3214678 (4を移動。移動回数2)
5回目 2145678 (3を移動。移動回数2)
6回目 1345678 (2を移動で終了。移動回数1。合計18回

こんなふうに動いていきます。

しらみつぶしですね。

そうだそうだ。

・・・そうでもないんですけど、結果的に小さい数字が右側にあるときに・・・
若干時間がかかる特徴があります。数字を並び替えて実験してみましょう。
(極端な例ですけどね)



初 期 87654321 
1回目 7654321 (8を移動させていく。移動回数7)
2回目 6543218 (7を移動。移動回数6)
3回目 5432178 (6を移動。移動回数5)
4回目 4321678 (5を移動。移動回数4
5回目 3215678 (4を移動。移動回数3)
6回目 2145678 (3を移動。移動回数2)
7回目 1345678 (2を移動で終了。移動回数1。合計28回。


詳しくは基本情報処理技術者試験でやりますので、今回はざーっとでいいですよ!

(つづきます)

kato

さて、データ探索のアルゴリズムです。
これだ!って該当するデータを大量のデータから探す方法です。


麻雀で言うと当たり牌を探すみたいなもんですかね。

4

麻雀やるの?かなたん・・・?

ふふふ・・・「アカギ」読んだだけですよ・・・

ふ、福本センセの名作漫画ですね・・・ザワ・・ザワ・・・


そうですね、探索といえば麻雀牌もそうでしょうし、同じ絵柄を探すトランプなんかも
そうかも知れません。



線形探査法(リニアサーチ)
先頭のデータと条件が合致するかどうかを確認し、違っていれば2番目のデータと照合し、
という形で、データの先頭から末尾まで、条件に合うものが見つかるまで順番に検索して
ゆく手法です。

いわゆる、しらみつぶしですね。

そうですね。これはもちろん、データが多くなればなるほど探索に時間がかかります。
ただし、あっという間に見つかる可能性もあるにはあるんですね。



二分探査法(バイナリサーチ)
対象が、データ群の中央にあるデータより前にあるか、後ろにあるかを判断し、2分したデ
ータ群を取捨選択します。更に、残ったデータ群の中央から前後のどちらにあるかを判断
し、取捨選択を繰り返して絞り込んでいきます。

たとえば、1から100までのカードがあるとして持っているカードが64であれば・・・

これは後半部を探せばいいですね。


はい、その通りなんですけど。二分探索法はあらかじめ、データがソート(並び替え)され
ていることが必要です。また、大小関係を用いないデータには無効なやり方です。


(つづきます)
で、具体的にどんなアルゴリズムがあるのか・・・これについて今日は勉強して
いきたいと思っておりますね。


そうざます。

1

ハイでガンス!


合計
足し算をします。まあ順次構造が多いんですけれども、量によっては繰り返し構
造でやりますね。


順次構造というとはて・・・

前回やりましたがな。順番にやるということですよね。順番に足していくっ
てことですよね。


そうですそうです。繰り返し構造はたとえば、データが終わるまでやる!みたいな
ことになりますね。


探索(サーチ)
条件に合うデータを見つけます。検索ともいいますね。これにはいろいろなアルゴ
リズムの種類があります。それについては、また次回に・・・。


もったいぶらないでくださいよ!せっかくやる気になってたのにっ!もうっ!もうっ!

・・・うれしいくせに・・・。

ちょっと項目が多いものですから。ええ。私も一休みして猫の餌でもあげてこよっと。


(つづきます)