SC情報処理安全確保支援士試験 午前Ⅰ

令和2年度10月 情報処理安全確保支援士 午前Ⅰ 問3

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

オブジェクト指向のプログラム言語であり、 クラスや関数、 条件文などのコードブロックの範囲はインデントの深さによって指定する仕様であるものはどれか。

選択肢

  1. ア
    JavaScript
  2. イ
    Perl
  3. ウ
    Python
  4. エ
    Rubyー3一
解き方のヒントを見る

午前I 問03

Pythonでは、波かっこ `{}` で囲む代わりに、インデント(字下げ)で「ここからここまでが同じまとまりだよ」と表すよ。クラス、関数、if文などのブロックは、見た目をきれいにするためではなく、字下げそのものが文法ルールとして扱われるんだ。

この問題で問われていること

ポイントは、インデントをただの読みやすさの工夫として見るのではなく、「Pythonでは字下げが命令のまとまりを決めるルールなんだ」と見抜けるかどうかだよ。

Indentation-based Syntax

Python uses indentation itself to define code blocks

block scope = indentation depth

確認ポイント

  • JavaScript や Perl は波かっこ中心です。
  • Ruby も end で閉じる。
  • インデントが仕様なのは Python。
正解と解説を見る

正解

ウ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

JavaScriptは不正解だよ。JavaScriptは、基本的に処理のまとまりを { } で囲んで表すんだ。たとえると、部屋の入口と出口にドアを付けて「ここが一つの部屋」と示す感じ。インデントは見やすくするための整理整頓で、まとまりを決める本体ではないよ。

選択肢イ

Perlは不正解だよ。PerlはJavaScriptと同じように、処理のまとまりを { } で囲んで表すことが多いんだ。たとえると、荷物を箱に入れて「この箱の中が同じグループ」と示す感じ。字下げは読みやすくするための並べ方で、Pythonのように字下げそのものがルールの中心ではないよ。

選択肢ウ(正解)

Pythonは正解だよ。Pythonでは、処理のまとまりをインデントの深さで表すんだ。たとえると、書類を同じ段にそろえて置くことで「ここからここまでが同じグループ」と分かる感じだね。問題文の「コードブロックの範囲をインデントで指定する」にぴったり合うよ。

選択肢エ

Rubyは不正解だよ。Rubyは処理のまとまりを if や def などのキーワードから始めて、最後を end で閉じる書き方をするんだ。たとえると、受付で「開始」と言って、帰るときに「終了」と言うルールみたいなもの。インデントだけで範囲が決まるPythonとは違うよ。

出典:独立行政法人 情報処理推進機構(IPA)令和2年度10月 情報処理安全確保支援士試験 午前Ⅰ 問3(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針