にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング 夏休みC#の基礎(10)練習問題

さて、ここで練習問題をやってみましょう。

ここまでの知識でできるはずですが、難しい問題
もあります。答えは見ても大丈夫ですよ!

※次回は番外編です。

練習問題

(初級)
課題1 10から1までのカウントダウンを表示する
    プログラムを書きなさい
ヒント:i--

課題2 合計するプログラムを改造し、平均値を求め
    るプログラムを書きなさい。
ヒント:合計割る個数は?

(中級)
課題3 1から50までの数値を5つランダムに生成
    し、配列の中に入れるプログラムを書きなさ
    い。
ヒント:作っては入れて、次へ。作って入れて、次へ。


課題4 配列にある数字の中に偶数があるかどうかを
    判定するプログラムを作成しなさい。
ヒント:偶数ってなんだっけ?


(上級)
課題5 5つの配列内の数字の中から、最大値を出力
    するプログラムを作成しなさい。
ノーヒント

 

 

(解答)

課題1
        for (int i = 10; i > 0; i--)
        {
            Debug.Log("カウントダウン" + i);
        }

//i--とi>0のとこがポイントです。

課題2
        int a=0;
        int b = { 50, 22, 61, 14, 37 };
        for (int i = 0; i < b.Length; i++)
        {
            a = a + b[i] / b.Length;
        }
        Debug.Log("平均は" + a);

//b.Lengthは配列の中身の数を数えます。別に5でも
//正解だと思いますが、こういう書き方もあるのね!
//って感じで覚えていただけたら。

課題3
        int a=new int[5];
        for (int i = 0; i < 5; i++)
        {
            a[i] = Random.Range(1, 50);
        }
        Debug.Log("ランダムに生成した数字5つは" + a[0] +"と"+ a[1] + "と" + a[2] + "と" + a[3] + "と" + a[4]);


//配列の初期化については、実はやってないのですが。
//5つの要素を入れると決まっている場合はこのように
//保存するスペースを作っておきます。

課題4
int a = new int[5];
        string b = "ないですね";
        for (int i = 0; i < 5; i++)
        {
            a[i] = Random.Range(1, 50);
            if (a[i] % 2 == 0)
            {
                b = "ありますよ";
            }
        }
        Debug.Log("ランダムに生成した数字5つは" + a[0] + "と" + a[1] + "と" + a[2] + "と" + a[3] + "と" + a[4]+ "偶数は" + b);

//課題3の応用です。剰余を使ってますが、それ以外の解法も
//もちろん正解でしょう!


課題5
int a = new int[5];
        int b = 0;
        for (int i = 0; i < 5; i++)
        {
            a[i] = Random.Range(1, 50);
            if (b < a[i])
            {
                b = a[i];
            }
        }
        Debug.Log("ランダムに生成した数字5つは" + a[0] + "と" + a[1] + "と" + a[2] + "と" + a[3] + "と" + a[4]+ "です。最大値は" + b);

//これ、某大学の入試問題だったりします。
//配列の中身と、最大値を格納する変数を比較して、大きかったら
//入れ替える処理をしています。


次回は番外編です!