SkillStack
テクノロジ系3 / 30問

高度情報処理技術者試験・情報処理安全確保支援士試験 令和2年度 秋期 午前I 問3

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

Pythonはオブジェクト指向を利用できるプログラム言語であり、クラス、関数、if文、for文などのコードブロックをインデントの深さで表します。例えば、if文の条件の末尾にコロンを置き、その次の行を字下げすると、その字下げされた範囲がif文に属する処理になります。インデントが元の深さに戻ったところでブロックが終了します。インデントが単なる見た目ではなく、プログラムの構文として意味をもつ点がPythonの特徴です。

アのJavaScriptは誤りです。JavaScriptでは、コードブロックを原則として波括弧「{ }」で囲みます。インデントは読みやすさのために用いますが、通常はブロックの範囲を決定しません。

イのPerlも誤りです。Perlでも条件文や関数などのブロックには波括弧を用います。変数名の先頭に付く「$」などの記号も特徴ですが、インデントによって構文上の範囲を指定する言語ではありません。

エのRubyも誤りです。Rubyではクラス、メソッド、条件文などの範囲を主に「end」で終了させます。インデントは慣例として使われますが、それ自体でブロックを確定するものではありません。

【ポイント】 Pythonでは、同じブロックに属する文のインデントをそろえる必要があります。 一般には半角スペース4個のインデントが推奨され、タブとの混在は避けます。 各言語のブロック表現として、Pythonはインデント、JavaScriptとPerlは波括弧、Rubyはendと整理します。

出典:令和2年度 秋期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問3
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の30問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める