ITパスポート 2009年 春期 問49
問題文
プログラミングの説明として、適切なものはどれか。
選択肢
ア:個々のプログラムを結合し、ソフトウェアが要求どおり動作するかを検証する。
イ:ソフトウェアを階層構造に基づいて機能分割する。
ウ:プログラム言語の文法に従って処理手順などを記述し、その処理手順などに誤りがないかを検証する。(正解)
エ:プログラムの処理手順を図式化する。
🔒 解説は解答すると表示されます
プログラミングの説明として、適切なものはどれか。【ITパスポート 解説】
正解の理由
選択肢の中でプログラミングを最も正しく表しているのは ウ です。プログラミングとは、プログラム言語(プログラムを書くための言葉。英語: programming language)の文法(書き方やルール)に従ってコンピュータに実行させる処理手順を記述する行為です。記述した後に、その手順に誤りがないかを検証(チェック)する作業も含まれます。
特に初学者に分かりやすく言えば、「コンピュータに何をどうさせるかを言葉で書いて、ちゃんと動くか確認する」のがプログラミングです。ウはこの点を端的に示しています。
特に初学者に分かりやすく言えば、「コンピュータに何をどうさせるかを言葉で書いて、ちゃんと動くか確認する」のがプログラミングです。ウはこの点を端的に示しています。
(注)選択肢の他はそれぞれ「結合テスト」「設計」「フローチャート作成」など、プログラミングそのものとは別の作業を指します。
解法ステップ
- 問題文のキーワード「プログラミング」を確認する。定義は「処理手順をプログラム言語で記述し、動作を確認する行為」。
- 各選択肢の主要語を短く置き換えて考える。
- ア:結合して動作検証 → テスト(結合テスト)
- イ:階層構造で機能分割 → 設計(モジュール化/構造化設計)
- ウ:文法に従って記述し検証 → プログラミング(記述+チェック)
- エ:処理手順を図式化 → フローチャート(可視化/設計補助)
- どれが「書くこと(記述)」と「検証」を含むか見て、ウを選ぶ。
選択肢別の誤答解説
- ア: 「個々のプログラムを結合し、ソフトウェアが要求どおり動作するかを検証する。」
- これは結合テスト(英: integration testing)。複数の部品をつなげて正しく動くかを確かめる工程で、プログラミング(書くこと)とは別のフェーズです。
- イ: 「ソフトウェアを階層構造に基づいて機能分割する。」
- これはソフトウェア設計(モジュール化、構造化設計)。どのように分けて作るかを決める作業で、プログラムを書き始める前の設計段階に当たります。
- ウ: 「プログラム言語の文法に従って処理手順などを記述し、その処理手順などに誤りがないかを検証する。」
- これがプログラミングの説明。記述(コーディング)と検証(デバッグやテストの初期段階)を含んでいる点で適切です。
- エ: 「プログラムの処理手順を図式化する。」
- これはフローチャートや図式化(可視化)。アルゴリズムを分かりやすく表す手段で、直接「コードを書く」行為ではありません。
よくある誤解
- 「プログラミング = ただコードを書くこと」
- 実際は、設計や検証(デバッグ、テスト)も含めた広い活動です。書くだけでなく、正しく動くか確かめることが重要です。
- 「フローチャートを書けばそれがプログラミングだ」
- フローチャートは手助け(設計ツール)であり、実際にプログラム言語で記述して実行可能にする作業は別です。
- 「文法(syntax)さえ合えば正しいプログラムになる」
- 文法エラーがなければ動く可能性はありますが、意図した処理(ロジック)が正しいかは別問題(論理・仕様の正しさ)です。
補足コラム
- 文法エラーと論理エラーの違い(初心者に重要)
- 文法エラー(syntax error):プログラム言語のルールに反する書き方。コンパイルや実行の前に検出されることが多い。
- 実行時エラー(runtime error):実行中に発生するエラー(例:ゼロで割る)。
- 論理エラー(logic error):文法的には正しいが、期待した結果にならない。テストやデバッグで見つける必要がある。
- 例(Pythonでの簡単な例)
# 文法エラーの例(コロンがない)
# if x > 0
# print("positive")
# 実行例(文法を直したが論理に問題あり)
x = 5
if x < 0:
print("positive") # 論理エラー:条件が逆
- 開発の流れ(簡単な順序)
- 要件定義(何を作るか)
- 設計(どう作るか)
- プログラミング(コードを書く) ← ここでウに該当
- テスト(単体・結合・総合)
- 運用・保守
FAQ
Q1: プログラミングとコーディングは同じですか?
A1: ほぼ同じ意味で使われますが、厳密にはコーディングは「プログラム言語で記述する作業」、プログラミングは計画・設計・記述・検証を含む広い概念です。
A1: ほぼ同じ意味で使われますが、厳密にはコーディングは「プログラム言語で記述する作業」、プログラミングは計画・設計・記述・検証を含む広い概念です。
Q2: 「検証」とは具体的に何を指しますか?
A2: 文法のチェック(コンパイル)や実行して期待した結果が得られるか確認する作業(テスト・デバッグ)を含みます。要するに「間違いがないか確かめること」です。
A2: 文法のチェック(コンパイル)や実行して期待した結果が得られるか確認する作業(テスト・デバッグ)を含みます。要するに「間違いがないか確かめること」です。
Q3: フローチャートを書くことは無駄ですか?
A3: いいえ。特に複雑な処理を考えるとき、考えを整理する助けになります。ただしフローチャート自体は実行されないため、最終的にはコード化して検証が必要です。
A3: いいえ。特に複雑な処理を考えるとき、考えを整理する助けになります。ただしフローチャート自体は実行されないため、最終的にはコード化して検証が必要です。
関連キーワード: プログラミング, プログラム言語, 文法(syntax), コーディング, デバッグ, 結合テスト, フローチャート, ソフトウェア設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

