高度情報処理技術者試験・情報処理安全確保支援士試験 令和4年度 春期 午前I 問3
プログラム言語のうち、ブロックの範囲を指定する方法として特定の記号や予約語を用いず、等しい文字数の字下げを用いるという特徴をもつものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
Pythonでは、if文、for文、関数定義などに続く一まとまりの処理を、インデント、すなわち字下げによって表します。同じブロックに属する文は同じ深さまで字下げし、字下げを深くすると内側のブロックが始まり、浅く戻すとそのブロックが終了します。コロンはブロックが続くことを示しますが、ブロックの実際の範囲を決めるのは字下げです。字下げが単なる見た目ではなく、言語の構文として意味をもつPythonが正解です。
アのCは誤りです。Cでは、複数の文から成るブロックを波括弧「{」「}」で囲みます。字下げは読みやすさのために行いますが、通常は構文上の範囲を決めません。イのJavaも誤りです。JavaもCと同様に、クラス、メソッド、条件分岐などのブロックを波括弧で表します。ウのPHPも誤りです。PHPでも、条件分岐や繰返しなどの一般的なブロックは波括弧で囲んで範囲を指定します。したがって、これら三つの言語では、字下げをそろえただけではブロックを構成できません。
【ポイント】 ・Pythonのインデントは見栄えのためではなく、プログラムの意味を決める構文要素です。 ・一般には半角空白4個の字下げが推奨され、タブと空白の混在は避けます。 ・字下げの深さが不適切だと、構文エラーや意図しない動作の原因になります。
出典:令和4年度 春期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問3
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の30問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる