プログラミングを「数学のような論理パズル」と捉えてしまうと、苦手な人はフリーズしてしまいます。まずは「プログラミングは単なる『手順書(レシピ)』の読み合わせである」と伝えてあげてください。
試験を突破するために、以下の3つの「具体的な手順」をアドバイスすることをお勧めします。
1. 「頭を使うな、手を動かせ」トレース表の徹底
論理が苦手な人の多くは、頭の中だけで変数を処理しようとしてパンクしています。
手順: 問題の横に x=1,y=2,z=3 のように具体的な数字を書き込みます。
手順: 選択肢の条件式にその数字を当てはめ、1行ずつ「今、変数はいくつか」「条件はYesかNoか」を紙に書き出させます(これをトレース表と言います)。
効果: 思考を「作業」に置き換えることで、ケアレスミスとパニックを防げます。
2. 「最大値」のパターンを「トーナメント形式」で理解する
ご質問の x,y,z の問題なら、論理ではなく「優勝者を決める仕組み」としてパターン化します。
手順: 最初の if(???) { return x; } は「x が優勝(最大)であるための条件」を問うています。
手順: つまり x が y に勝ち(x\u0026gt;y)、かつ(\u0026amp;\u0026amp;)、z にも勝つ(x\u0026gt;z)という条件を書くだけです。
効果: 「???」を埋めるのはひらめきではなく、消去法的な「条件の羅列」だと気づけます。
3. 4択の「逆引きデバッグ」を教える
「正しい条件式を導き出す」のが難しければ、「間違っている選択肢を数字で消す」手順を教えます。
手順: x が一番大きい数字になるように設定して、選択肢のうち return x に辿り着かないものを消去します。
効果: 0から作る力(論理)がなくても、既存のものを検証する力(デバッグ)があれば正解に辿り着けます。