アルゴリズムの試験に関して
Listing. 1: アルゴリズム 試験範囲
アルゴリズム
⇒アルゴリズムの表記法
・文章で書く
・疑似言語(またはフローチャート)
・プログラミング言語
⇒3つの基本構造
・( )構造
・( )構造
・( )構造
⇒アルゴリズムの評価法
(オーダ:O(N^2)のものと、O(nlogn) のもの平均なのか最良、最悪計算量なのか)
⇒疑似言語によるアルゴリズムの表現
かける?トレースできる?
⇒3つの基本ソート
⇒日本語と英語でソートの名前書ける?
⇒を疑似言語で書いて
⇒トレースできる?
⇒著名なソート(大体のアルゴリズムと計算量)
⇒クイックソート
⇒マージソート
⇒線系探索と番兵法
⇒超基本的なゲームの構成
⇒ゲームの基本ループ
⇒フレーム
⇒状態遷移
⇒コンピュータ関連の用語理解してるかな?(まだ習ってないのもあるよ)
・変数
・型
・コンパイラとインタープリタ(鈴木先生に習った?)
・A/D変換
・標本化
・量子化
・符号化
・算術シフト(鈴木先生に習った?)
・論理シフト(鈴木先生に習った?)
・補数(鈴木先生に習った?)
・ビット反転(鈴木先生に習った?)
・ビットフラグ(鈴木先生に習った?)
・フローチャート
・疑似言語
・スタック
・キュー
・グラフ
・配列
・レコード型
・木構造、二分木
・リスト構造
擬似言語の記述形式(基本情報技術者試験用)から抜粋
擬似言語を使用した問題では,各問題文中に注記がない限り,次の記述形式が適用されているものとする。
擬似言語の記述形式
| 記述形式 | 説明 |
|---|---|
| ○手続名又は関数名 | 手続又は関数を宣言する。 |
| 型名: 変数名 | 変数を宣言する。 |
| /* 注釈 */ / // 注釈 | 注釈を記述する。 |
| 変数名 ← 式 | 変数に式の値を代入する。 |
| 手続名又は関数名(引数, …) | 手続又は関数を呼び出し,引数を受け渡す。 |
選択処理
if (条件式1) 処理1 elseif (条件式2) 処理2 elseif (条件式n) 処理n else 処理n+1 endif
- 条件式を上から評価し,最初に真になった条件式に対応する処理を実行する。
- 以降の条件式は評価せず,処理も実行しない。
- どの条件式も真にならないときは,処理 n+1 を実行する。
- elseif, else の部分は省略可。
繰返し処理
while (条件式) 処理 endwhile
- 前判定繰返し処理。条件式が真の間,処理を繰返し実行する。
do 処理 while (条件式)
- 後判定繰返し処理。処理を実行後,条件式が真の間繰返す。
for (制御記述) 処理 endfor
- 制御記述に基づき繰返し処理を実行する。
演算子と優先順位
| 演算子の種類 | 演算子 | 優先度 |
|---|---|---|
| 式 | () . | 高 |
| 単項演算子 | not, +, - | ↑ |
| 二項演算子(乗除, mod) | ×, ÷ | | |
| 二項演算子(加減) | +, - | | |
| 関係 | ≠, ≦, ≧, <, =, > | | |
| 論理積 | and | ↓ |
| 論理和 | or | 低 |
- 演算子「.」はメンバ変数・メソッドのアクセスを表す。
- 演算子「mod」は剰余算を表す。
論理型の定数
- true
- false
配列
- 配列の要素は `[ ]` 内に要素番号を指定してアクセスする。
- 二次元配列は `[行番号,列番号]` で指定する。
- `{ }` は配列内容の始まりと終わりを表す。
- 二次元配列の `{ }` 内側は1行分の内容を表す。
未定義,未定義の値
- 変数に値が格納されていない状態を「未定義」という。
- 「未定義の値」を代入するとその変数は未定義になる。
☑️サンプル
〔プログラム〕 〇文字列型: fizzBuzz(整数型: num) 文字列型: result if (num が a で割り切れる) result ←" a で割り切れる" elseif (num が b で割り切れる) result ←" b で割り切れる" elseif (num が c で割り切れる) result ←" c で割り切れる" else result ←"3 でも 5 でも割り切れない" endif return result