文法
文法とは、擬似言語の問題を解くための道具である。文法の理解があいまいだと、試験で思いもよらぬ失点につながりかねない。少々細かな内容を含むが、擬似言語の攻略には欠かせないものであるため、文法の正確な理解に努めよう。
擬似言語
基本情報技術者試験の科目Bで出題されるプログラム言語である。 この試験でしか登場しないプログラム言語だが、 多くの言語に共通して存在する要素が盛り込まれている。
2022年までの基本情報技術者試験では、擬似言語の仕様は、ITパスポート試験や応用情報技術者試験とは大きく異なっていたが、023年4月からはほぼ同じ仕様で出題されるようになった。
変数
値を一時的に格納するための箱のようなものである。 プログラムは、変数に値を格納したり、変数から値を取り出したりして、 現時点の値を記憶処理する。 現時点の値を格納しておけば、その値により処理の進み具合を確認できる。 また、例えば、入力された値を記憶しておけば、その値をプログラム内で利用できる。
なお、変数は2個以上の値を同時には格納できない。つまり、変数に新たに値を格納すると、 以前格納されていた値は無視され、その新たな値が格納される。
変数の型
変数の型により、変数にどのような種類の値が格納されるかを指定する。 変数の型と格納される値の種類は、次のとおりである。
| 変数の型 | 格納される値の種類 | 例 |
|---|---|---|
| 文字型 | 1字の文字。 | A |
| 文字列型 | 複数の文字。 | ABC |
| 整数型 | 整数。 | 123 |
| 実数型 | 整数と小数。 | 3.14 |
| 論理型 | true (真) または false (偽) のみ。 | true, false |
変数の宣言
次の例では「整数型:a」により,格納する値は整数型である変数aを宣言する。 なお、「1:」 などは行番号である。
1: 整数型: a → a
次の例では 「a← 1」により, 変数aに値1を格納する。
2:a←1 → a=1
次の例では 「文字型: b, c」 により、格納する値は文字型である変数bと変数を宣言する。
3: 文字型: b,c → b c
次の例では 「b “A”」 「c←”Z”」により、変数bに値Aを、変数に値Zを格納する。
4:b←”A” → b= A
5:c←”Z” → c= Z
次の例では 「実数型: d ← 42.195」 により、格納する値は 実数型である変数dを宣言すると同時に、 変数dに値42.195を格納する。
6: 実数型: d← 42.195 → d=42.195
次の例では 「f←e + 2」により, 変数eの値1を取り出して2を加算し、変数fに値3を格納する。
7: 整数型: e, f
8:e←1
9:f ←e + 2
・プログラムは原則1行ずつ下方向へ実行していく。
変数名
変数名に使われる英単語の意味を覚えておくと、プログラム の処理内容を解釈する際に役立つ。 代表的な変数名と意味は、次のとおりである。
| 変数名 | 意味 |
|---|---|
| array | 配列。 |
| count、nt | 個数。 |
| current、curr | 現在の値。 |
| index、idx | 長さ。 length long (長い) の名詞形。 |
| Length、Len | 長さ。 length long (長い) の名詞形。 |
| matrix | 行列。 |
| number、num | 数、数値。 |
| pos | 位置。 position の略。 |
| prev | 前の。 previous の略。 |
| ptr | 次の位置を指し示す添字。 pointer (ポインタ) の略。 |
| ret | 戻り値。 return の略。 |
| temp、tmp、work | 値を一時保存する変数。 temporary (一時的な)の略。 |
| value、val | 値。 |
未定義
変数に値が格納されていない状態である。「a ← 未定義の値」 により、変数aは未定義になる。
また、インスタンスへの参照が未定義の場合、どのインスタンスも参照しないことを意味する。
条件式
処理を進めるかどうかを見極めるための式である。 条件式の計算結果は, 真または偽となる。
真 (true)
条件式に値を当てはめると、式として正しい場合。 例えば、条件式 「a が 5 と等しい」 で、 変数aに値5を当てはめると 「5が5と等しい」 となり、式として正しいため真。
偽 (false)
条件式に値を当てはめると、 式として正しくない場合。 例えば、条件式 「a が 5 より大きい」 で、変数aに値5を当てはめると「5が5より大きい」となり、式として正しくないため偽。 5と5は等しいのであって、5が5より大きくはないので。
算術演算子
四則演算と、問題文で登場する計算の種類・計算結果の名称は、次のとおりである。
| 擬似言語の表記 | 計算の種類 | 計算結果の名称 |
|---|---|---|
| + | 加算 | 和 |
| ー | 減算 | 差 |
| × | 乗算 | 積 |
| ÷ | 除算 | 商 |
| mod | 剰余算 | 剰余 |
関係演算子
2つの値について, 大小関係の比較や一致・不一致の判定を行うための表記や記号である。 例えば、「a が 5 より大きい」や「a > 5」が該当する。
if・elseif・while・doなどの中で,処理を分岐するために使う。
試験問題の表記は「a が5より大きい」などのこともあるが、ここでのトレース表では、すばやく記入するために、それを 「a > 5」と記述する。
| 試験問題の表記 | トレース表 | 試験問題の表記の例 | トレース表の例 | 真になる変数aの値の例 (値が整数の場合) |
|---|---|---|---|---|
| より大きい | > | aが5より大きい | a > 5 | 6,7,8…(5は含まず) |
| 以上 | ≧ | aが5以上 | a ≧ 5 | 5,6,7…(5を含む) |
| より小さい | < | aが5より小さい | a <5 | 4,3,2…(5は含まず) |
| 以下 | ≦ | aが5以下 | a≦5 | 5,4,3…(5を含む) |
| 等しい | = | aが5と等しい | a=5 | 5 |
| 等しくない | ≠ | aが5と等しくない | a ≠ 5 | 3, 4, 6, 7… |
論理演算子
条件式を複数組み合わせる場合に使う演算子である。and (か つ)とor(または) が出題される。
and
論理積,「かつ」。 「条件式1 and 条件式2」では、条件式1と条件式2のどちらとも真の場合、 結果は真 (true) となる。
それ以外は偽(false) となる。
条件式「(i が 25 以上) and (i が 28 より小さい)」に, iが25を当てはめた場合の条件式の真偽は、次のとおりである。
iが25の場合:
| 条件式1 | 論理演算子 | 条件式2 | 結果 |
|---|---|---|---|
| (iが25以上) | and | (i が 28 より小さい) | |
| (25が25以上) | and | (25 が 28 より小さい) | |
| 真 | and | 真 | 真 |
or
論理和, 「または」。 「条件式1 or 条件式2」 では、条件式と条件式2のどちらか一方でも真の場合、結果は真(true)となる。 それ以外は偽 (false) となる。
iが25の場合:
| 条件式1 | 論理演算子 | 条件式2 | 結果 |
|---|---|---|---|
| (iが25より小さい) | or | (i が 28 以上) | |
| (25が25より小さい) | or | (25 が 28 以上) | |
| 偽 | or | 偽 | 偽 |
(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目B]第4版 橋本 祐史 (著) 翔泳社


コメント