Day12 ウォームアップ(10分)
※10分の使い方は、「進め方(10分の使い方)」を参照
※生成AIは使いません
※全部できなくてOK
※昨日より1行多く書けたら成功です
今日の準備(ウォームアップの前に)
- Day12.cs を追加する(ソリューションエクスプローラーで、ソリューションの下にある プロジェクト「MiniPractice」を右クリック → 追加 → クラス → 名前を Day12.cs)
- Program.cs を開き、Main 内の
Day11.Run()をDay12.Run()に書き換える
0) 開始30秒:骨格チェック(全員)
次の形になっているかだけ確認します。
internal class Day12
{
public static void Run()
{
// ここに書く
}
}
- 処理は必ず Run() の { } の中 に書きます
🔹 今日のルール
今日は Day12.cs を追加します。Day12.cs はソリューション内の 12番目のファイル(クラス) になります。 その Run メソッドの { } の中に、すべてのコードを書いてください。
- Run 以外のメソッドは作りません
- 今は「形を揃える」時間です。中身より形を優先します
🔹 Day11 の振り返り(1分)
drinkとdrinksの混同 … 条件で使うのはdrink.Length(各要素の文字数)です。drinks.Lengthは配列の要素数です。- max・min の更新 …
if (scores[i] > max) max = scores[i];とif (scores[i] < min) min = scores[i];の両方をループ内に書きます。より大きい/小さいときだけ更新します。 - ループの終了条件 …
i < scores.Lengthにします。i <= scores.Lengthだとインデックス範囲外になります。 - 表示の位置 … 最大値・最小値の表示はループの後に書きます。ループ内だと毎回表示されます。
進め方(10分の使い方)
- 最初の5分:教科書・ノート・これまで自分が書いたコードも見ずに、自分の力だけで書いてみましょう。止まっても構いません。思い出そうとする時間が大事です。
- 後半5分:教科書・ノート・これまで自分が書いたコードを見てOKです。「どこを見ればよいか」「どう直せばよいか」を考えながら、完成に近づけましょう。
提出ルール(重要)
- 提出A(最低ライン):問題1だけ動けばOK
- 提出B(標準):問題1・2まで
- 提出C(到達):問題1・2・3(余裕があれば発展)
※今日は「全部できる」より「動く形に戻す」が目的です。
- 提出方法:GitHub Desktop で Commit → Push してください。1問解くごとにコミットすると講師が確認しやすいです(まとめて1回でもOK)。講師は GitHub でコードを確認します。
- Slack:「Day12 完了しました」と一言送ってください(講師が確認のタイミングを把握するため)。
■ 問題1(基礎)
次の配列があります。
string[] colors = { "赤", "青", "黄", "緑", "紫" };
この配列の要素を、foreach を使って1つずつ表示してください。
※Day1〜11と同じ形です。形を思い出しましょう。
■ 問題2(配列+条件の組み合わせ)
次の配列があります。
string[] cities = { "東京", "大阪", "名古屋", "福岡", "札幌", "横浜", "神戸" };
名前が 3文字 のものだけを表示してください。
ヒント:if (city.Length == 3) のように、文字数が3と等しいか判定します。city.Length を使います(配列名の cities.Length ではありません)。条件に合うものだけ表示します。
■ 問題3(少し思考)
次の配列があります。
int[] scores = { 70, 85, 90, 65, 80 };
この配列のうち、80以上の要素がいくつあるかを数えて表示してください。
ヒント:int count = 0; でカウント用の変数を初期化し、for ループ内で if (scores[i] >= 80) のとき count++; と増やします。ループの後に Console.WriteLine(count); で1回だけ表示します。
■ 発展(余裕がある人)
上の scores 配列について、80以上の要素の合計 を求めて表示してください。
ヒント:問題3で count を数えるのと同様に、int sum = 0; を for ループの前に置き、if (scores[i] >= 80) のとき sum += scores[i]; と足します。ループの後に Console.WriteLine(sum); で表示します。
⚠️ よくある誤り(Day12 で想定)
cityとcitiesの混同 … 条件で使うのはcity.Length(各要素の文字数)です。cities.Lengthは配列の要素数(7)です。- count をループ内で宣言 … ループ内だと毎回リセットされます。ループの前で宣言します。
- count の更新漏れ … 条件を満たしたときだけ
count++;を実行します。毎回実行すると全要素数になります。 - 表示の位置 …
Console.WriteLine(count);はループの後に書きます。ループ内だと毎回表示されます。 - 発展:sum の初期化 …
int sum = 0;をループの前に置きます。条件を満たすときだけsum += scores[i];を実行します。
🎯 今日の目的
- foreach の形を思い出せる
cityとcitiesを混同しない(各要素の Length を使う)- 条件を満たす要素の数を求められる
- 発展:条件を満たす要素の合計を求められる
次へ
(Day13 準備中)





ディスカッション
コメント一覧
まだ、コメントがありません