なのログ

だから見てて下さい・・・俺の・・・変身

C#復習篇 vol.2

こんにちはこんばんは。
さて、またやっていきます。

こいつ→一週間C#

そいでは早速。

Day3

~分岐のはなし~

if,else,else if (sample301-304)
    Console.WriteLine("ファーストネームを教えてくれ");
    string firstName = Console.ReadLine();

    if (firstName == "ジョナサン" || firstName == "ジョセフ") {
        Console.WriteLine("ジョースター家の者か?");
    } else if (firstName == "承太郎" || firstName == "徐倫") {
        Console.WriteLine("これは間違いなく空条さん");
    } else if (firstName == "仗助") {
        Console.WriteLine("ステキな髪型だわッ!");
    } else if (firstName == "初流乃") {
        Console.WriteLine("正直やね君・・・");
    } else {
        Console.WriteLine("知らない人ですね");
    }
switch

書式と「breakをちゃんと入れよう」くらいしか書いてなかったので、
さっさと演習に行けということだと読みました・3・

実際このへんは前回以上に馴染みがあるので、こう、
はよ進めよみたいなとこがありますね。仕方がない。

Day3 演習

    static void prob3_1() {
        int arg = int.Parse(Console.ReadLine());

        if (arg == 3) {
            Console.WriteLine("3です");
        }
        Console.Write("\n");
    }
    static void prob3_2() {
        int arg = int.Parse(Console.ReadLine());

        if (arg != 4) {
            Console.WriteLine("それ4じゃない");
        }
        Console.Write("\n");
    }
    static void prob3_3() {
        int arg = int.Parse(Console.ReadLine());

        if (arg < 50) {
            Console.WriteLine("50未満や");
        }
        Console.Write("\n");
    }
    static void prob3_4() {
        int arg = int.Parse(Console.ReadLine());

        if (arg <= 20 || 80 <= arg ) {
            Console.WriteLine("20以下か80以上やな");
        }
        Console.Write("\n");
    }
    static void prob3_5() {
        int arg = int.Parse(Console.ReadLine());

        if (30 < arg || arg <= 70) {
            Console.WriteLine("30よりでかくて70よりちまいな");
        }
        Console.Write("\n");
    }
    static void prob3_6() {
        Console.Write("a=");
        int a = int.Parse(Console.ReadLine());
        Console.Write("b=");
        int b = int.Parse(Console.ReadLine());
        Console.WriteLine("a={0} b={1}", a, b);

        if (a == b) {
            Console.WriteLine("おなじ");
        } else if (a > b) {
            Console.WriteLine("aのが大きい");
        } else if (a > b) {
            Console.WriteLine("bのが大きい");
        }
        Console.Write("\n");
    }
    static void prob3_7() {
        Console.WriteLine("数値を入力");
        int arg = int.Parse(Console.ReadLine());

        if (arg%2 == 0) {
            Console.WriteLine("偶数");
        } else {
            Console.WriteLine("奇数");
        }
        Console.Write("\n");
    }
    static void prob3_8() {
        Console.WriteLine("1:春,2:夏,3:秋,4:冬");
        int arg = int.Parse(Console.ReadLine());
        string season = "";
        switch (arg) {
            case 1:
                season = "春";
                break;
            case 2:
                season = "夏";
                break;
            case 3:
                season = "秋";
                break;
            case 4:
                season = "冬";
                break;
            default:
                season = "エラー";
                break;
        }
        Console.WriteLine(season + "です。");
        Console.Write("\n");
    }
    static void prob3_18() {
        //乱数で、-10から35までの数値をコンソールから入力させ、”摂氏○○度”(○○が、発生した乱数)と表示させ、その値により、以下のように表示しなさい。
        //30度以上の場合は、”真夏日です。”と表示。
        //25度以上、30度未満の場合”夏日です。”と表示。
        //0度未満の場合、”真冬日です。”と表示。
        //範囲外の場合は「適切な値を入力してください。」と表示する。
        var rnd = new Random();
        int temperature = rnd.Next(45) - 10;

        Console.WriteLine("摂氏{0}度",temperature);

        if (temperature < -10 || 35 < temperature) {
            Console.WriteLine("適切な値を入力してください。");
            return;
        }

        if (temperature >= 30) {
            Console.WriteLine("真夏日です");
        }else if (temperature >= 25) {
            Console.WriteLine("夏日です");
        }else if (temperature  < 0) {
            Console.WriteLine("真冬日です");
        }
        Console.Write("\n");
    }

問題数18て。
テストコード書くくらいしたら勉強になるかな・・・

さすがにカットをしました。
というかぶっちゃけDay1,2よりも馴染みのある内容でさえあり、

「これはカットしてよくないか・・・?
 『バカ正直に頭からやっていく』
 とは言ったけど、違わないか・・・?」

とか思ってしまったので・・・。
6,7までやったところで最後まで問題数を見て、
「18?????」となったので最後だけやって上がるなどしました。 8はswitch文も登場させとくかというくらいの。

まあ用意した側も筆が乗ったんでしょう。そういうことある。


Day4

~ループ~
これまた「言われずとも」感がすごいですが。

for,二重ループ,while

読みました。大丈夫なやつです。(!?)

do-while (sample406)
    int i = 0;
    do{
        Console.Write(i+" ");
        i++;
    }while(i <= 5);

使わなさすぎて書き方忘れてるまであるなということで・・・。

乱数

突然の乱数。
いやそれ3日目の演習で既に出てきたんだけど露骨にミスだな??

    Random rnd = new Random();
    int dice = rnd.Next(1, 7);

で、なぜピックアップしたかというとこれ。

まあただただ.Netにおける話でしかないんですが、
さっきの演習で-10~35をrnd.Next(45) - 10とかで表現しており、
あ、確かにこうとも書けるのか・・・と思ったので。

・・・というか、今気付いたらrnd.Next(45)だと1~45だな?
-9~35しか出ないじゃないすか・・・気付けてよかった・・・。
(ということを書くために手前のコードを直さないなど)

では演習。
(また似たようなのが何問もあるんじゃなかろうな・・・)

Day4 演習

f:id:nanoyatsu:20180929191649p:plain
うーん18問。

ちょっと問題を見てピックアップしました。
prob4-1,
prob4-4,
prob4-9,
prob4-11,
prob4-14,
prob4-18,

やっていきましょう。

    static void prob4_1() {
        Console.Write("数:");
        int N = int.Parse(Console.ReadLine());

        for(int cnt=0; cnt<N; cnt++) {
            Console.Write("■");
        }
        Console.Write("\n\n");
    }
    static void prob4_4() {
        int num = 3;
        while (num > 0) {
            Console.WriteLine("num = {0}",num);
            num--;
        }
        Console.Write("\n");
    }
    static void prob4_9() {
        var rnd = new Random();
        int random = 1;
        while ((random%10)!=0) {
            random = rnd.Next(100);
            Console.WriteLine(random);
        }
        Console.WriteLine("終了します\n");
    }
    static void prob4_11() {
        var rnd = new Random();
        int max = 0;
        int min = 101;
        int random;
        int N = 5;
        for (int cnt=0; cnt <= N; cnt++) {
            random = rnd.Next(100);
            Console.WriteLine(random);
            max = max < random ? random : max;
            min = min < random ? min : random;
        }
        Console.WriteLine("最大値:{0}",max);
        Console.WriteLine("最小値:{0}\n",min);

    }
    static void prob4_14() {
        int random = new Random().Next(10);
        char star = (random % 2) == 0 ? '★' : '☆';
        for(int cnt=0;cnt < random; cnt++) {
            Console.Write(star);
        }
        Console.Write("\n\n");
    }
    static void prob4_18() {
        int row = 10;
        int column = 10;
        for(int y = 0; y < row; y++) {
            for(int x = 0;x < column; x++) {
                if (y == x) {
                    Console.Write("□");
                } else {
                    Console.Write("■");
                }
            }
            Console.Write("\n");
        }
    }

まあまだそんなに問題ではないですね。
「こんなん文法の話やんけ」でもなくなってきましたが。

今になってこんなことを始めることに意味はあるのか・・・
とか思わんでもないやつですが、まあ一旦、一旦な・・・?

これが済んだらまたなんかゲームでも作ってみましょうかね。

そいでは~。

おわり。