CO-P24情報Ⅰ 対策問題

コンピュータとプログラミングプログラミング特訓 (第3問対策)

関数を使って処理を整理する。次のプログラムで最終的に表示される値はどれか。 【関数の定義】 関数 zeikomi(nedan): | 戻り値: nedan × 110 ÷ 100 (÷は整数の商) (1) a = zeikomi(200) (2) b = zeikomi(500) (3) 表示する(a + b)

解答・解説を見る

正解: 1

正答

1

この問題のポイント

自作関数の定義と利用(税込計算) を問う問題です。

解説

【関数の定義】を読み解きます。zeikomi(nedan) は、渡された値段 nedan を110倍して100で割る、つまり税抜価格から税込価格(1.1倍)を計算して返す関数です。整数の商で計算するため「×110÷100」の順(先に掛けてから割る)になっている点にも注目してください。

呼び出しを1行ずつトレースし、戻り値を確定させてから次へ進みます。
(1)のとき: zeikomi(200) → nedan=200 → 200×110÷100 = 22000÷100 = 220。a=220。
(2)のとき: zeikomi(500) → nedan=500 → 500×110÷100 = 55000÷100 = 550。b=550。
(3)のとき: a + b = 220 + 550 = 770 を表示。

同じ「1.1倍する」計算を2回書く代わりに、関数として1回定義して2回呼び出しています。これが**関数化の利点(再利用)**の最小の形です。もし税率が変わっても、関数の中の1か所を直すだけで全部の呼び出しに反映される——保守のしやすさも関数のメリットです。

共通テストの第3問は、前半で定義・説明した関数を後半のプログラムで部品として組み合わせる構成が主流です。「引数に値を入れる→定義の式で計算→戻り値を変数に受ける」という流れを、この問題のような小さな例で確実に回せるようにしておきましょう。

選択肢の確認

1.○ a=220、b=550 で合計770。
2.× 700は税抜の合計(200+500)。関数を通していない。
3.× 220は a のみ。(2)(3)を追っていない。
4.× 550は b のみ。

ここだけは覚えよう

関数は「定義の式に引数を代入して戻り値を確定」 — 同じ計算は関数にまとめて再利用するのがプログラムの基本。

関連問題

CO-P23CO-P25