離散数学 01:情報処理技術者試験で何を学ぶのか
離散数学 01:情報処理技術者試験で何を学ぶのか 情報処理技術者試験でいう離散数学は、大学数学を広く全部やるというより、コンピュータが扱う値と条件判断を正確に読むための基礎です。IPA の基本情報技術者試験と応用情報技術者試験のシラバスでは、基礎理論の中に離散数学が置かれています。 この連載では、試験で問われやすい範囲を次の順に分けます。 基数と基数変換 数
今よく反応されている記事を表示しています。
離散数学 01:情報処理技術者試験で何を学ぶのか 情報処理技術者試験でいう離散数学は、大学数学を広く全部やるというより、コンピュータが扱う値と条件判断を正確に読むための基礎です。IPA の基本情報技術者試験と応用情報技術者試験のシラバスでは、基礎理論の中に離散数学が置かれています。 この連載では、試験で問われやすい範囲を次の順に分けます。 基数と基数変換 数
離散数学 02:基数と位取り記数法 基数とは、数を表すときに何種類の数字を使うかという考え方です。10進数なら 0 から 9 までの 10 種類、2進数なら 0 と 1 の 2 種類、16進数なら 0 から 9 と A から F までの 16 種類を使います。 位取りの基本 位取り記数法では、桁ごとに重みがあります。10進数の 345 は、3×10^2 +
離散数学 03:基数変換を手で解く 基数変換は、情報処理技術者試験の定番です。ポイントは、10進数から変換する場合と、2進数を 8進数・16進数に変換する場合で手順を分けることです。 10進数から n進数へ 整数部分は、変換したい基数で割り続け、余りを下から上へ読みます。 例: 45(10) を2進数にする。 45 ÷ 2 = 22 余り 1 22 ÷ 2
離散数学 04:補数と負の数の表現 コンピュータは、負の数もビット列で表します。情報処理技術者試験では、特に2の補数表現がよく出ます。補数表現を使うと、引き算を足し算として扱いやすくなります。 2の補数の作り方 nビットで正の数 x の負数を表すには、次の手順を使います。 x を nビットの2進数にする 0 と 1 を反転する 1 を足す 例: 8ビットで
離散数学 05:小数・固定小数点・浮動小数点・BCD 数値の表現では、整数だけでなく小数や10進数らしい表し方も問われます。ここは計算問題だけでなく、用語の意味を問う問題にもつながります。 固定小数点数 固定小数点数は、小数点の位置をあらかじめ決めておく表現です。整数部と小数部のビット数を固定するため、処理は単純ですが、表せる範囲と精度も固定されます。 例え
離散数学 06:算術演算と精度の落とし穴 コンピュータの計算は、数学の理想的な実数計算とは違います。ビット数に限りがあるため、表せる範囲と精度に限界があります。試験では、オーバーフロー、アンダーフロー、丸め誤差、桁落ち、情報落ちがよく出ます。 オーバーフローとアンダーフロー オーバーフローは、計算結果が表現可能な最大値を超えることです。アンダーフローは、絶対
離散数学 07:シフト演算を掛け算・割り算として読む シフト演算は、ビット列を左または右へずらす操作です。2進数では桁を1つ左へずらすと2倍、1つ右へずらすとおおむね 1/2 になります。情報処理技術者試験では、論理シフトと算術シフトの違いが重要です。 左シフト 2進数 00001101 は10進数で 13 です。これを1ビット左シフトすると 0001101
離散数学 08:集合とベン図で条件を整理する 集合は、条件に合うものの集まりです。試験では、和集合、積集合、補集合、部分集合、ベン図の考え方が出ます。集合は論理演算とも強くつながっています。 基本記号の考え方 和集合 A∪B: A または B に属するもの 積集合 A∩B: A かつ B に属するもの 補集合 A^c: A に属さないもの 部分集合 A⊆B:
離散数学 09:命題と条件を真偽で読む 命題とは、真か偽かが決まる文です。「2は偶数である」は真の命題です。「この数は大きい」は、基準がないと真偽が決まらないので、そのままでは命題として扱いにくい文です。 命題を部品に分ける 論理問題では、文章を P や Q という記号に置き換えます。 P: 利用者がログインしている Q: メール確認が済んでいる このとき「
離散数学 10:論理演算と真理値表 論理演算は、真と偽、または 1 と 0 を扱う演算です。情報処理技術者試験では、否定、論理和、論理積、排他的論理和、否定論理和、否定論理積などが出ます。 基本の論理演算 NOT P: P でない P AND Q: P かつ Q P OR Q: P または Q P XOR Q: P と Q の一方だけが真 P NAND Q:
離散数学 11:基本法則と試験問題の解き方 最後に、集合と論理をつなぐ基本法則を整理します。情報処理技術者試験では、式変形そのものだけでなく、条件判定、検索条件、アクセス制御、回路の動作などとして出題されることがあります。 ド・モルガンの法則 ド・モルガンの法則は、否定が AND と OR を入れ替えるという法則です。 NOT (P AND Q) は、(NO
代数とは何か 代数(だいすう)とは、数の代わりに文字を使って、数の関係や法則を一般的に表す数学の分野です。「3 + 5 = 8」は1つの計算ですが、「a + b = b + a」と書けば、どんな数でも足し算の順番を入れ替えてよい、という法則そのものを表現できます。この「一般化する力」が代数の本質です。 文字式に慣れる まずは文字式の約束ごとから始めましょう。
Haskell とはどんな言語か Haskell は「純粋関数型プログラミング言語」の代表格です。Java や Python が「手順を順番に書く」命令型の言語だとすれば、Haskell は「値の変換を関数の組み合わせで表現する」言語です。考え方が大きく異なるぶん、学ぶことで他の言語でのプログラミングにも良い影響があります。 最初のプログラム 処理系は GH
Python とはどんな言語か Python は「読みやすさ」を最も大切にする言語です。文法がシンプルで英語の文章のように読めるため、プログラミングをはじめて学ぶ人に最適です。データ分析、機械学習、Web 開発、自動化スクリプトなど、活躍の場も非常に広い言語です。 最初のプログラム Python は書いたコードをすぐ実行できるインタプリタ型の言語です。コンパ
Rust とはどんな言語か Rust は「速さ」と「安全性」を両立させることを目指したシステムプログラミング言語です。C や C++ に匹敵する実行速度を持ちながら、メモリ関連のバグの多くをコンパイル時に防いでくれます。ガベージコレクションを持たないのに安全、というのが最大の特長です。 最初のプログラム Rust には Cargo という優秀なビルドツールが
Java とはどんな言語か Java は1995年に登場して以来、世界中の企業システムや Android アプリで使われ続けている言語です。「一度書けばどこでも動く」という思想のもと、書いたプログラムは JVM(Java 仮想マシン)の上で動きます。OS の違いを JVM が吸収してくれるので、Windows でも Mac でも同じコードが動くのが特長です。