基本情報技術者試験 (FE) 科目 B — 擬似言語

変数と型 — 基本情報 擬似言語の書き方

定義

擬似言語の変数は「型: 名前 ← 初期値」の形で宣言する。← は代入を表し、右辺の値を左辺の変数に入れる。宣言と初期化はまとめて一行に書ける。

変数は「型: 名前 ← 初期値」で宣言する

基本情報の擬似言語では、変数を使う前に必ず宣言します。書式は型: 名前 ← 初期値 の 3 点セットで、初期値は省略できます。

整数型: 個数            // 宣言だけ (値は未定義)
整数型: 個数 ← 3       // 宣言 + 初期化
整数型: 個数, 単価     // 同じ型なら複数まとめて宣言できる

は「右辺の値を左辺に入れる」ことを表す代入演算子です。 Python の =、TypeScript の = に相当します。 数学の等号ではなく 方向を持った矢印 なので、3 ← 個数 のように逆に書くことはできません。

使える基本の型は 4 つ

基本情報の擬似言語で頻出する基本型は以下の 4 つです。

  • 整数型: 0, 1, -42 のような小数点のない数値
  • 実数型: 3.14, -0.5 のような小数点を含む数値
  • 文字列型: "abc" のようにダブルクォートで囲む
  • 論理型: truefalse のどちらか一方

型は間違えると実行時にエラーになります。例えば整数型の変数に 文字列を代入することはできません。まずは正しい型に正しい値を入れる、 という基本を体に染み込ませておきましょう。

ブラウザで動かしてみる

下のエディタに 個数 × 単価 で合計を計算する短いコードが入っています。▶実行 を押すと最後まで実行され、一行ずつ実行 を押すと 1 行ずつ止まりながら 変数の値の変化を右側の表で追えます。値を書き換えて何度も試してみてください。

待機中
エディタを読み込み中…

変数

まだ実行されていません

出力

まだ出力はありません (print で表示します)

実行後、右側の変数テーブルに 個数, 単価, 合計 の 3 つが並び、出力コンソールに 600 と表示されれば成功です。

初期化しないと「未定義」のまま

宣言だけして初期値を与えないと、その変数は「未定義の値」を持ちます。 未定義の値を計算に使うと実行時エラーになるので、宣言と同時に初期値を与える のがおすすめです。特に足し込み用の変数は 0 で初期化するのが定石です。

整数型: 合計 ← 0       // 0 で初期化して足し込む
整数型: 積 ← 1         // 1 で初期化して掛け込む

試験でつまずきやすいポイント

  • ← と = の混同: 比較は =、代入は です。C 言語や JavaScript とは記号が逆に見えるので注意
  • 初期化忘れ: 合計を計算するコードで初期化を忘れると「未定義 + 数値」となり実行時エラー
  • 型の取り違え: 整数型の変数に 3.14 のような実数を代入すると実行時エラー。試験でも「型がおかしい選択肢」がよく引っかけに使われます

変数と型の書き方が読めるようになったら、次は 条件分岐 (if / elseif / else) に進みましょう。

よくある疑問

Q.整数型と実数型は何が違いますか?
A.整数型は 3 や -7 のような小数点のない値、実数型は 3.14 や -0.5 のような小数点を含む値を扱う型です。基本情報の擬似言語ではどちらも数値ですが、割り算などで挙動が変わるため使い分けます。
Q.「←」はキーボードでどう入力しますか?
A.多くの環境では日本語入力の「やじるし」変換で ← が出せます。この実行シミュレーターでは半角の <- でも代用できるようになっており、内部的に ← と同じ意味で扱われます。
Q.型を書かずに変数を使えますか?
A.書けません。擬似言語では「型: 名前」の形で必ず宣言してから使います。宣言なしで代入すると構文エラーになります。これは Python のような動的型付けとの大きな違いです。

理解できたか試す / 自由に動かす

この構文をもっと練習する(おすすめ書籍)

本セクションはAmazonアソシエイトのリンクを含みます。

オンライン個別指導

プログラムの読み方でつまずいたら。

たいてっくが、アルゴリズムの追い方から SQL・データベース設計まで、1対1で学習をサポートします。「コードを目で追っても何をしているか分からない」段階からで大丈夫です。まずは無料相談から。

無料相談を予約する →
受講者の声 (DB・SQL コース)
menta レビュー原文を見る →
  • 教え方も上手で、お人柄も良いメンターです。DB周りの知識はもちろん、何より、しっかり教えてあげようという姿勢がとてもありがたかったです。データベース、SQLの学習を考えている方にはおススメです。
    H 様DB・SQL コース受講
  • 体系的に知識を教えてくださり、実際の業務でも大変役立っております。特に短い時間で効率よく知識の習得や、練習をできているのは期待以上でした。
    M 様DB・SQL コース受講
  • 大変充実したコンテンツでわかりやすいご説明をありがとうございました。基本的な質問にも丁寧にご説明いただき、また業務のご相談にも乗って頂き大変有意義な時間でした。
    K 様DB・SQL コース受講