2010年1月1日金曜日

forループのカウンタ変数のスコープについての確認と、whieループでforループと同様の処理、さらにはforループ、whileループのネスト(入れ子)を利用して、同様の処理を様々な方法で記述してみる。

using System;


class MainClass
{
    static void Main()
    {
        /* forループ
         * 出力値:345 */
        for (int i = 0; i < 10; i++)
        {
            if (i < 3)
            {
                continue;
            }
            // break文
            else if (i == 6)
            {
                break;
            }
            Console.Write(i);
        }
        // 改行
        Console.WriteLine();
        /* 上記のforループと同じカウンタ変数i
         * を使用しても問題ないことを確認
         * 出力値:0123456789 */
        for (int i = 0; i < 10; i++)
        {
            Console.Write(i);
        }
        Console.WriteLine();
        /* whileループで上記と同様の処理
         * 出力値:345 */
        int n = 0;
        while (n < 10)
        {
            if (n < 3)
            {
                n++;
                continue;
            }
            else if (n == 6)
            {
                break;
            }
            Console.Write(n++);
        }
        Console.WriteLine();
        /* forループにforループをネスト(入れ子)
         * 出力値:0 0 0 0
         * 0 6 12 18
         * 0 12 24 36
         * 0 18 36 54 
         * 0 24 48 72 */
        for (int i = 0; i < 10; i += 2)
        {
            for (int j = 0; j < 10; j+=3)
            {
                Console.Write("{0} ", i * j);
            }
            Console.WriteLine();
        }
        // whileループにwhileループをネスト(入れ子)
        int m = 0;
        while (m < 10)
        {
            int a = 0;
            while (a < 10)
            {
                Console.Write("{0} ", m * a);
                a += 3;
            }
            Console.WriteLine();
            m += 2;
        }
        // forループにwhileループをネスト(入れ子)
        for (int i = 0; i < 10; i += 2)
        {
            int j = 0;
            while (j < 10)
            {
                Console.Write("{0} ", i * j);
                j += 3;
            }
            Console.WriteLine();
        }
        // whileループにforループをネスト(入れ子)
        int b = 0;
        while (b < 10)
        {
            for (int i = 0; i < 10; i += 3)
            {
                Console.Write("{0} ", b * i);
            }
            Console.WriteLine();
            b += 2;
        }
    }
}

0 コメント:

コメントを投稿