Day7 ウォームアップ(10分)
※10分の使い方は、「進め方(10分の使い方)」を参照
※生成AIは使いません
※全部できなくてOK
※昨日より1行多く書けたら成功です
今日の準備(ウォームアップの前に)
- Day7.cs を追加する(ソリューションエクスプローラーで、ソリューションの下にある プロジェクト「MiniPractice」を右クリック → 追加 → クラス → 名前を Day7.cs)
- Program.cs を開き、Main 内の
Day6.Run()をDay7.Run()に書き換える
0) 開始30秒:骨格チェック(全員)
次の形になっているかだけ確認します。
internal class Day7
{
public static void Run()
{
// ここに書く
}
}
- 処理は必ず Run() の { } の中 に書く
🔹 今日のルール
今日は Day7.cs を追加します。Day7.cs はソリューション内の 7つ目のファイル(クラス) になります。 その Run メソッドの { } の中に、すべてのコードを書いてください。
- Run 以外のメソッドは作りません
- 今は「形を揃える」時間です。中身より形を優先します
🔹 Day6 の振り返り(1分)
- 九九の全段 … 外側
for (int dan = 1; dan <= 9; dan++)、内側for (int i = 1; i <= 9; i++) - 表示テキストに変数 … 「○の段は」の ○ には
danなどの変数を使う。固定の「1の段は」にしない - foreach と Length …
foreach (string x in 配列)で各要素を取り出し、x.Lengthで文字数を取得 >=の使い方 … 「5文字以上」は>= 5
進め方(10分の使い方)
- 最初の5分:教科書もノートも見ずに、自分の力だけで書いてみましょう。止まっても構いません。思い出そうとすることが大切です。
- 後半5分:教科書・ノートを見てOKです。「どこを見ればよいか」「どう直せばよいか」を考えながら、完成に近づけましょう。
提出ルール(重要)
- 提出A(最低ライン):問題1だけ動けばOK
- 提出B(標準):問題1・2まで
- 提出C(到達):問題1・2・3(余裕があれば発展)
※今日は「全部できる」より「動く形に戻す」が目的です。
■ 問題1(基礎)
次の配列があります。
string[] days = { "月", "火", "水", "木", "金", "土", "日" };
この配列の要素を、foreach を使って1つずつ表示してください。
※Day1〜6と同じ形です。形を思い出しましょう。
■ 問題2(配列+条件の組み合わせ)
次の配列があります。
string[] words = { "りんご", "みかん", "ぶどう", "いちご", "メロン", "スイカ" };
名前が 4文字以上 かつ 5文字以下 のものだけを表示してください。
ヒント:if (word.Length >= 4 && word.Length <= 5) のように、2つの条件を && でつなぎます。
■ 問題3(少し思考)
次の配列があります。
int[] numbers = { 10, 25, 30, 45, 50 };
この配列の 合計 を求めて表示してください。
ヒント:Day1の発展で使った「合計用の変数」を思い出しましょう。int sum = 0; で初期化し、ループ内で sum += numbers[i]; のように足していきます。for でインデックスを使う形になります。
■ 発展(余裕がある人)
上の numbers 配列の中で、30以上の値の合計 を求めて表示してください。
ヒント:ループ内で if (numbers[i] >= 30) のときだけ sum に足します。
⚠️ よくある誤り(Day7 で想定)
&&の書き方 …if (word.Length >= 4 && <= 5)は不可。word.Length <= 5と書くsumの初期化忘れ …int sum = 0;をループの前に書くforとforeachの使い分け … 合計のようにインデックスが必要なときはfor (int i = 0; i < numbers.Length; i++)を使うnumbers.Length… 配列の要素数。i < numbers.Lengthで範囲外アクセスを防ぐ
🎯 今日の目的
- foreach の形を思い出せる
&&で複数条件を書ける- int配列と for で合計を求められる
- Run() の中に整理して書ける
サンプル回答
namespace MiniPractice
{
static class Day7
{
public static void Run()
{
// ■ 問題1
string[] days = { "月", "火", "水", "木", "金", "土", "日" };
foreach (string day in days)
{
Console.WriteLine(day);
}
// ■ 問題2
string[] words = { "りんご", "みかん", "ぶどう", "いちご", "マンゴー", "スイカ" };
foreach (string word in words)
{
if (word.Length >= 4 && word.Length <= 5)
{
Console.WriteLine(word);
}
}
// ■ 問題3(合計)
int[] numbers = { 10, 25, 30, 45, 50 };
int sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
Console.WriteLine("合計: " + sum);
// ■ 発展(30以上の合計)
int sum30 = 0;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] >= 30)
{
sum30 += numbers[i];
}
}
Console.WriteLine("30以上の合計: " + sum30);
}
}
}






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