Day10 ウォームアップ(10分)
※10分の使い方は、「進め方(10分の使い方)」を参照
※生成AIは使いません
※全部できなくてOK
※昨日より1行多く書けたら成功です
今日の準備(ウォームアップの前に)
- Day10.cs を追加する(ソリューションエクスプローラーで、ソリューションの下にある プロジェクト「MiniPractice」を右クリック → 追加 → クラス → 名前を Day10.cs)
- Program.cs を開き、Main 内の
Day9.Run()をDay10.Run()に書き換える
0) 開始30秒:骨格チェック(全員)
次の形になっているかだけ確認します。
internal class Day10
{
public static void Run()
{
// ここに書く
}
}
- 処理は必ず Run() の { } の中 に書く
🔹 今日のルール
今日は Day10.cs を追加します。Day10.cs はソリューション内の 10つ目のファイル(クラス) になります。 その Run メソッドの { } の中に、すべてのコードを書いてください。
- Run 以外のメソッドは作りません
- 今は「形を揃える」時間です。中身より形を優先します
🔹 Day9 の振り返り(1分)
fruitとfruits… 条件で使うのはfruit.Length(各要素の文字数)。fruits.Lengthは配列の要素数- 合計の形 …
int sum = 0;をループの前に置き、ループ内でsum += scores[i];。ループの中身を空にしない - 平均の計算 …
(double)sum / scores.Lengthでキャストする。sum / scores.Lengthだけだと整数除算で切り捨て - 問題3と発展の区別 … 問題3で合計を求めた後、発展では同じ配列を再度加算しない。
(double)sum / 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:「Day10 完了しました」と一言送ってください(講師が確認のタイミングを把握するため)。
■ 問題1(基礎)
次の配列があります。
string[] weekdays = { "月", "火", "水", "木", "金", "土", "日" };
この配列の要素を、foreach を使って1つずつ表示してください。
※Day1〜9と同じ形です。形を思い出しましょう。
■ 問題2(配列+条件の組み合わせ)
次の配列があります。
string[] foods = { "りんご", "ぶどう", "いちご", "メロン", "スイカ", "パイナップル", "キウイ", "バナナ" };
名前が 4文字以上 かつ 6文字以下 のものだけを表示してください。
ヒント:if (food.Length >= 4 && food.Length <= 6) のように、2つの条件を && でつなぎます。food.Length を使う(配列名の foods.Length ではない)。
■ 問題3(少し思考)
次の配列があります。
int[] scores = { 70, 85, 90, 65, 80 };
この配列の 最大値 を求めて表示してください。
ヒント:int max = scores[0]; で最初の値を仮の最大値にし、ループで if (scores[i] > max) のとき max = scores[i]; と更新します。ループの後に Console.WriteLine(max); で1回だけ表示。
■ 発展(余裕がある人)
上の scores 配列の 最小値 を求めて表示してください。
ヒント:int min = scores[0]; で最初の値を仮の最小値にし、ループで if (scores[i] < min) のとき min = scores[i]; と更新します。
⚠️ よくある誤り(Day10 で想定)
foodとfoodsの混同 … 条件で使うのはfood.Length(各要素の文字数)。foods.Lengthは配列の要素数(8)maxをループ内で宣言 … ループ内だと毎回リセットされる。ループの前で宣言する- 最大値の更新 …
if (scores[i] > max)のときmax = scores[i];と代入する。比較だけして代入しないと更新されない - ループの開始 …
max = scores[0]にした場合、ループはi = 1から始める。i = 0からでも動くが、最初の要素を2回比較することになる
🎯 今日の目的
- foreach の形を思い出せる
itemとitemsを混同しない(各要素の Length を使う)- 最大値の探索(仮の最大値、ループで更新)を書ける
- 発展:最小値の探索に挑戦できる




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