====== アルゴリズムの試験に関して ====== アルゴリズム 試験範囲 アルゴリズム  ⇒アルゴリズムの表記法   ・文章で書く   ・疑似言語(またはフローチャート)   ・プログラミング言語  ⇒3つの基本構造   ・(  )構造   ・(  )構造   ・(  )構造  ⇒アルゴリズムの評価法   (オーダ:O(N^2)のものと、O(nlogn) のもの平均なのか最良、最悪計算量なのか)  ⇒疑似言語によるアルゴリズムの表現   かける?トレースできる?  ⇒3つの基本ソート ⇒日本語と英語でソートの名前書ける?   ⇒を疑似言語で書いて   ⇒トレースできる?  ⇒著名なソート(大体のアルゴリズムと計算量)   ⇒クイックソート   ⇒マージソート  ⇒線系探索と番兵法  ⇒超基本的なゲームの構成   ⇒ゲームの基本ループ   ⇒フレーム   ⇒状態遷移  ⇒コンピュータ関連の用語理解してるかな?(まだ習ってないのもあるよ)   ・変数   ・型   ・コンパイラとインタープリタ(鈴木先生に習った?)   ・A/D変換   ・標本化   ・量子化   ・符号化   ・算術シフト(鈴木先生に習った?)   ・論理シフト(鈴木先生に習った?)   ・補数(鈴木先生に習った?)   ・ビット反転(鈴木先生に習った?)   ・ビットフラグ(鈴木先生に習った?)   ・フローチャート   ・疑似言語   ・スタック   ・キュー     ・グラフ   ・配列   ・レコード型   ・木構造、二分木   ・リスト構造 ====== 擬似言語の記述形式(基本情報技術者試験用)から抜粋 ====== 擬似言語を使用した問題では,各問題文中に注記がない限り,次の記述形式が適用されているものとする。 ===== 擬似言語の記述形式 ===== |< 60% - >| ^ 記述形式 ^ 説明 ^ | ○手続名又は関数名 | 手続又は関数を宣言する。 | | 型名: 変数名 | 変数を宣言する。 | | %%/*%% 注釈 %%*/%% / %%//%% 注釈 | 注釈を記述する。 | | 変数名 ← 式 | 変数に式の値を代入する。 | | 手続名又は関数名(引数, …) | 手続又は関数を呼び出し,引数を受け渡す。 | **選択処理** if (条件式1) 処理1 elseif (条件式2) 処理2 elseif (条件式n) 処理n else 処理n+1 endif * 条件式を上から評価し,最初に真になった条件式に対応する処理を実行する。 * 以降の条件式は評価せず,処理も実行しない。 * どの条件式も真にならないときは,処理 n+1 を実行する。 * elseif, else の部分は省略可。 **繰返し処理** while (条件式) 処理 endwhile * 前判定繰返し処理。条件式が真の間,処理を繰返し実行する。 do 処理 while (条件式) * 後判定繰返し処理。処理を実行後,条件式が真の間繰返す。 for (制御記述) 処理 endfor * 制御記述に基づき繰返し処理を実行する。 ===== 演算子と優先順位 ===== |< 40% >| ^ 演算子の種類 ^ 演算子 ^ 優先度 ^ | 式 | () . | 高 | | 単項演算子 | 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