Day14 ウォームアップ(10分)

広告

※10分の使い方は、「進め方(10分の使い方)」を参照
※生成AIは使いません
※全部できなくてOK
※昨日より1行多く書けたら成功です


今日の準備(ウォームアップの前に)

  1. Day14.cs を追加する(ソリューションエクスプローラーで、ソリューションの下にある プロジェクト「MiniPractice」を右クリック → 追加 → クラス → 名前を Day14.cs
  2. Program.cs を開き、Main 内の Day13.Run() を Day14.Run() に書き換える

0) 開始30秒:骨格チェック(全員)

次の形になっているかだけ確認します。

internal class Day14
{
    public static void Run()
    {
        // ここに書く
    }
}
  • 処理は必ず Run() の { } の中 に書きます

🔹 今日のルール

今日は Day14.cs を追加します。Day14.cs はソリューション内の 14番目のファイル(クラス) になります。 その Run メソッドの { } の中に、すべてのコードを書いてください。

  • Run 以外のメソッドは作りません
  • 今は「形を揃える」時間です。中身より形を優先します

🔹 Day13 の振り返り(1分)

  • food と foods の混同 … 条件で使うのは food.Length(各要素の文字数)です。foods.Length は配列の要素数です。
  • 60未満と60以下 … 「60未満」は < 60、「60以下」は <= 60 です。問題の指示を確認しましょう。
  • 発展:格納する値 … list.Add(scores[i]) で点数を格納します。list.Add(i) だとインデックスが格納されます。
  • foreach のセミコロン … foreach (int n in list) ; のセミコロンでループ本体が空になり、値が表示されません。Console.WriteLine(n); をループ内に書きます。

進め方(10分の使い方)

  • 最初の5分:教科書・ノート・これまで自分が書いたコードも見ずに、自分の力だけで書いてみましょう。止まっても構いません。思い出そうとする時間が大事です。
  • 後半5分:教科書・ノート・これまで自分が書いたコードを見てOKです。「どこを見ればよいか」「どう直せばよいか」を考えながら、完成に近づけましょう。

提出ルール(重要)

  • 提出A(最低ライン):問題1だけ動けばOK
  • 提出B(標準):問題1・2まで
  • 提出C(到達):問題1・2・3(余裕があれば発展)

※今日は「全部できる」より「動く形に戻す」が目的です。

  • 提出方法:GitHub Desktop で Commit → Push してください。1問解くごとにコミットすると講師が確認しやすいです(まとめて1回でもOK)。講師は GitHub でコードを確認します。
  • Slack:「Day14 完了しました」と一言送ってください(講師が確認のタイミングを把握するため)。

■ 問題1(基礎)

次の配列があります。

string[] animals = { "犬", "猫", "うさぎ", "ハムスター", "鳥" };

この配列の要素を、foreach を使って1つずつ表示してください。

※Day1〜13と同じ形です。形を思い出しましょう。


■ 問題2(配列+条件の組み合わせ)

次の配列があります。

string[] foods = { "りんご", "肉", "魚", "野菜", "パン", "牛乳" };

名前が 3文字 のものだけを表示してください。

ヒント:if (food.Length == 3) のように、文字数が3と等しいか判定します。food.Length を使います(配列名の foods.Length ではありません)。条件に合うものだけ表示します。


■ 問題3(少し思考)

次の配列があります。

int[] scores = { 75, 90, 55, 82, 68, 45 };

この配列のうち、70以上の要素がいくつあるかを数えて表示してください。

ヒント:int count = 0; でカウント用の変数を初期化し、for ループ内で if (scores[i] >= 70) のとき count++; と増やします。ループのに Console.WriteLine(count); で1回だけ表示します。for の形は for (int i = 0; i < scores.Length; i++) です。


■ 発展(余裕がある人)

上の scores 配列のうち、70以上の値だけを Listに追加し、その要素を foreach で表示してください。さらに、その合計を表示してください。

ヒント:var list = new List<int>(); で初期化し、for ループ内で if (scores[i] >= 70) のとき list.Add(scores[i]); で追加します。ループのに foreach (int n in list) で表示し、別のループまたは foreach で sum += n して合計を求め、Console.WriteLine(sum); で表示します。問題3と発展を1ループで count・list・sum を同時に処理してもOKです。


⚠️ よくある誤り(Day14 で想定)

  • food と foods の混同 … 条件で使うのは food.Length(各要素の文字数)です。foods.Length は配列の要素数(6)です。
  • 70以上と70未満 … 「70以上」は >= 70、「70未満」は < 70 です。問題の指示を確認しましょう。
  • for の条件 … i = 0 と i < scores.Length にします。
  • count をループ内で宣言 … ループ内だと毎回リセットされます。ループので宣言します。
  • 発展:格納する値 … list.Add(scores[i]) で点数を格納します。list.Add(i) だとインデックスが格納されます。
  • 発展:foreach のセミコロン … foreach (int n in list) ; のセミコロンでループ本体が空になります。Console.WriteLine(n); をループ内に書きます。

🎯 今日の目的

  • foreach の形を思い出せる
  • food と foods を混同しない(各要素の Length を使う)
  • 条件を満たす要素の数を求められる(「70以上」は >= 70
  • 発展:条件を満たす要素を List に追加して表示し、合計も求められる

次へ

訪問数 26 回, 今日の訪問数 26回

広告

C#

Posted by hidepon