زنگ سی شارپ – قسمت چهاردهم

آشنایی کامل با الگوریتم و فلوچارت حلقه های for تو در تو همراه با 5 تمرین


مسعود درویشیان ۲۴ دیدگاه سی شارپ چهارشنبه, ۱۷ام آبان , ۱۳۹۱ 23091 بازدید

در قسمت سیزدهم با دستور goto و توضیحات تکمیلی دستور switch آشنا شدید. اگر به‌یاد داشته باشید در قسمت نهم با حلقه‌ی for آشنا شدیم. تا به این‌جا ما تنها با یک حلقه‌ی for و در یک سطح کار می‌کردیم ولی اکنون قصد داریم با حلقه‌های for تودرتو آشنا شویم.

زنگ سی‌شارپ - قسمت چهاردهم

به مثال زیر و خروجی آن دقت کنید تا در ادامه به شرح و تفصیل آن بپردازیم:

using System;
class Example
{
    static void Main()
    {
        for (int i = 1; i < 10; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write(j);
            }
            Console.WriteLine();
        }
    }
}

خروجی:

شاید اگر با دقت تمام خودتان این برنامه را تجزیه و تحلیل کنید به ماهیت و چگونگی آن پی ببرید اما بهتر است توضیحی کامل در مورد این برنامه داده شود. هنگامی‌که حلقه‌ها تودرتو می‌شوند شامل یک حلقه‌ی داخلی و یک حلقه‌ی خارجی هستند که حلقه‌ی داخلی کاملاً در حلقه‌ی خارجی قرار دارد. اگر به فلوچارت زیر دقت کنید کاملاً متوجه خواهید شد که چه اتفاقی در حلقه‌های تودرتو می‌افتد:

در فلوچارت بالا دیاگرام خاکستری رنگ، حلقه‌ی داخلی (inner loop) است که درون حلقه‌ی خارجی (outer loop) قرار دارد. همان‌طور که می‌بینید ابتدا شرط حلقه‌ی خارجی بررسی شده و در صورت true بودن وارد حلقه‌ی داخلی می‌شود (در واقع تمام حلقه‌ی داخلی، بدنه‌ی حلقه‌ی خارجی است). اکنون شرط حلقه‌ی داخلی بررسی شده و تا زمانی‌که شرط true است بدنه‌ی حلقه‌ی داخلی اجرا می‌شود. به‌محض این‌که شرط حلقه‌ی داخلی false شود کامپایلر به ابتدای حلقه‌ی خارجی برمیگردد و متغیر کنترل‌کننده‌ی حلقه‌ی خارجی را به‌روز رسانی کرده و مجدداً شرط حلقه‌ی خارجی را بررسی می‌کند که در صورت true بودن دوباره حلقه‌ی داخلی اجرا شده و در صورت false بودن اجرای حلقه‌های تودرتو پایان می‌یابد.

در مثال ابتدای مقاله، در حلقه‌ی for خارجی، متغیر i شامل مقدار ۱ بوده که کمتر از ۱۰ است بنابراین شرط برقرار بوده و کام‍‍‍‍‍‍‍‍‍‍‍‍‍‍پایلر وارد حلقه می‌شود. درون این حلقه (حلقه‌ی خارجی)، حلقه‌ی دیگری قرار دارد (حلقه‌ی داخلی) که شامل متغیر j با مقدار ۱ است. در قسمت condition حلقه‌ی داخلی بررسی می‌شود که مقدار j کوچک‌تر یا مساوی مقدار i باشد. در این‌جا مقدار j و i هردو برابر با ۱ هستند بنابراین شرط برقرار است و کامپایلر وارد حلقه‌ی داخلی می‌شود. درون حلقه‌ی داخلی، مقدار j چاپ شده سپس متغیر کنترل‌کننده‌ی حلقه‌ی داخلی به‌روز رسانی می‌شود (++j) و شرط حلقه‌ی داخلی بررسی خواهد شد. همان‌طور که می‌دانید اکنون مقدار j برابر با ۲ و مقدار i برابر با ۱ است. بنابراین دیگر شرط برقرار نبوده و برنامه از حلقه‌ی داخلی خارج می‌شود.

در خط بعد، دستور ()Console.WriteLine خروجی برنامه را به خط جدید سوق می‌دهد.

خروجی برنامه تا این‌جا (مرحله‌ی اول):

اکنون از بلاک حلقه‌ی داخلی خارج شدیم ولی هنوز در بلاک حلقه‌ی خارجی قرار داریم. پس متغیر کنترل‌کننده‌ی حلقه‌ی خارجی به‌روز رسانی شده و شرط حلقه‌ی خارجی ارزیابی می‌شود. پس از برقراری شرط، برنامه مجدداً وارد حلقه شده و شرط حلقه‌ی داخلی را ارزیابی می‌کند. اکنون مقدار j برابر با ۱ و مقدار i نیز برابر با ۲ است (متغیر j روی حلقه‌ی داخلی مجدداً برابر با ۱ شده و هربار که برنامه می‌خواهد از نو وارد حلقه شود متغیر کنترل‌کننده‌ی آن به اصطلاح ریست – Reset می‌شود). همان‌طور که می‌بینید شرط برقرار است و برنامه وارد بدنه‌ی حلقه‌ی داخلی می‌شود و مقدار j را در خروجی چاپ می‌کند. سپس متغیر کنترل‌کننده‌ی حلقه‌ی داخلی به‌روز رسانی شده (برابر با ۲ می شود) و دوباره شرط بررسی می‌شود. اکنون i و j هردو برابر با ۲ هستند پس شرط برقرار است و یک‌بار دیگر مقدار j چاپ خواهد شد.

خروجی برنامه در مرحله‌ی دوم:

خروجی برنامه در مرحله‌ی سوم:

خروجی برنامه در مرحله‌ی چهارم:

این روند همین‌طور ادامه دارد تا زمانی‌که برنامه به مرحله‌ی نهم برسد و شرط حلقه‌ی خارجی نقض شود:

تمرین

تمرین شماره ۶: برنامه‌ای بنویسید که شکل مثلث قائم‌الزاویه را توسط کاراکتر * چاپ کند (سایز مثلث را از کاربر بگیرید).

نمونه:

تمرین شماره ۷: برنامه‌ای بنویسید که شکل مثلث متساوی‌الساقین را توسط کاراکتر * چاپ کند (سایز مثلث را از کاربر بگیرید).

نمونه:

تمرین شماره ۸: برنامه‌ای بنویسید که دو عدد (پایه و توان) را از کاربر گرفته و عدد اول را به توان عدد دوم برساند.

تمرین شماره ۹: توسط دستور switch یک فرهنگ لغت کوچک بسازید.

تمرین شماره ۱۰: توسط کاراکتر █ یک مستطیل طراحی کنید. (سایز مستطیل را از کاربر بگیرید).

تمرین شماره ۱۱: برنامه‌ی جدول ضربی بنویسید که طول و عرض جدول را از کاربر بگیرد و جدول را نمایش دهد.

بدیهی است که تمرین‌های ۶، ۷، ۱۰ و ۱۱ باید توسط حلقه‌های تودرتو انجام شوند.



نویسنده / مترجم : مسعود درویشیان

علاقه مند به موسیقی و برنامه نویسی بازی


۲۴ دیدگاه برای این نوشته ثبت شده است


  1. f1
    ۲۰ آبان ۱۳۹۱

    سلام اقا مسعود من مطالب شما رو دانلود کردم و می خوام پرینتش کنم و به استاد این فایل ها رو نشون بدم که اگه موافق باشند مطالب شما رو با ذکر منبع چاپ و برای ترم اولی هایی که سی شارپ دارند.
    می خواسم بودنم که این مطالب پی دی اف فایل ورد هم دارند یا نه؟
    چون پی دی اف رو ویرایش کردم البته برای اینکه حجم چاپ صفحه و هزینه کم بشه فقط




    • مسعود درویشیان
      ۲۰ آبان ۱۳۹۱

      همان‌طور که در قوانین کپی‌رایت سایت ذکر شده، تنها با ذکر و درج لینک منبع مجاز به این‌کار هستید.
      فایل‌ها فقط به‌صورت پی‌دی‌اف هستند.

      موفق باشید




  2. mandana
    ۲۰ آبان ۱۳۹۱

    برنامه ای می خواهم که تابع sinx را بروی محورمختصات رسم کند

    محور xها با علامت + نمایش داده شود

    محور yها با علامت * نمایش داده شود

    تابعSinx با علامت ؟ نمایش داده شود

    که با forویا whileرسم شود




  3. f1
    ۲۱ آبان ۱۳۹۱

    ممنونم از پاسخ شما
    و من مطالب رو باذکر منبع ارائه می دم
    و لطف کنید ادرس ایمیل من رو در قسمت پاسخ بردارید ممنونم
    ز مطالب مفیدون




  4. داوود
    ۲۴ آبان ۱۳۹۱

    سلام آقا مسعود عزیز؛
    امکانش هست اگه ایرادی نداره برای حل تمرینها تا شنبه فرصت بدید تا حل کنیم و بعدش شما راه حلشو بذارید؟؟
    البته اگه اشکالی نداره و بقیه دوستان هم مخالف نیستند.
    ممنونم ازتون بخاطر زحماتتون




  5. Amin
    ۲۵ آبان ۱۳۹۱

    فقط می خواستم بدونم windows form رو هم می گین یا نه؟
    باتشکر




  6. داوود
    ۴ آذر ۱۳۹۱

    سلام مسعود جان؛ وقتت بخیر، بازهم از شما بخاطر تمرینهای خوبی که گذاشتید ممنون و سپاسگزارم.
    علیرغم اینکه تمایل داشتم تمرینها رو هرچه سریعتر حل کنم و بفرستم ولی تمرین شماره هفت ۷ واقعا چالش برانگیز و وقت گیر بود؛ ولی خوشبختانه با چند ساعت تلاش غیر مداوم( تقریبا اگه بخوام جمعشو حساب کنم فکر کنم ۴ ساعت زمان برد) حل شد.
    میدونم سرتون حسابی شلوغه و وقتتون هم حسابی پر.
    ولی اگه وقت آزادی داشتید و تونستید به برنامه هام نگاهی بکنید و ایراداتشو از نظر فنی بهم بگید تا اصلاح کنم. البته همه برنامه های که فرمودید به درستی کار میکنه و نتیجه درخواست شده رو میده ولی از نظر اصولی و فنی منظورم هست. در هر صورت از شما مجددا ممنون و متشکرم.
    دستتون درد نکنه.
    لینک دانلود برنامه رو اینجا قرار میدم؛ چون گاهاً تجربه نشون داده وقتی که برنامه رو اینجا میذارم ممکنه بعضی از قسمتهاش کپی نشه:
    http://uplod.ir/fah67jtuwfie/Program.cs.htm
    و اینهم کل برنامه :

    using System;
    class Example
    {
        static void Main()
        {
            int b;
            Console.WriteLine("Please Select a Number of Programs(6 To 11):");
    
            b = int.Parse(Console.ReadLine());
            int a;
            int i;
            int j;
    
            switch (b)
            {
                case 6:
                    {
                        Console.WriteLine("Please Enter a number:");
                        a = int.Parse(Console.ReadLine());
                        for (i = 1; i <= a; i++)
                        {
                            for (j = 1; j <= i; j++)
                            {
                                Console.Write("*");
                            }
                            Console.WriteLine();
                        }
    
                    }
                    break;
    
    
                case 7:
                    {
                        Console.WriteLine("Please Enter a number:");
                        int n = int.Parse(Console.ReadLine());
                        n = n * 2;
                        // point of row and column
                        int c = 39;
                        int r = 2;
                        Console.SetCursorPosition(c, r);
                        int k, L;
                        int d = c;
                        for (k = 1; k <= n; k++)
                        {
                            for (L = 1; L <= k; L++)
                            {
                                Console.SetCursorPosition(d++, r);
                                Console.Write("*");
                            }
                            c--;
                            d = c;
                            // r+1 because we want display odd stars in each rows
                            r = r + 1;
                            k++;
                        }
                        Console.WriteLine();
                    }
                    break;
    
                case 8:
                    {
                        Console.WriteLine("Please Enter first number as title grade(payeh):");
                        a = int.Parse(Console.ReadLine());
                        Console.WriteLine("Please Enter first number as title power(tavan):");
                        b = int.Parse(Console.ReadLine());
                        int p = 1;
                        for (int q = 1; q <= b; q++)
                        {
                            p = p * a;
                        }
                        Console.WriteLine("{0} ^ {1} is {2}", a, b, p);
                    }
                    break;
    
                case 9:
                    {
                        Console.WriteLine("Please Enter one of 2 words(car & suitcase) for translate:");
                        string word = (Console.ReadLine());
                        switch (word)
                        {
                            case ("car"):
                                {
                                    Console.WriteLine("a vehicle with four wheels and an engine, that can carry a small number of passengers");
                                }
                                break;
                            case ("suitcase"):
                                {
                                    Console.WriteLine("a large case with a handle, used for carrying clothes and possessions when you travel");
                                }
                                break;
                        }
                    }
                    break;
    
                case 10:
                    {
                        Console.WriteLine("Please Enter first number as Lenght:");
                        a = int.Parse(Console.ReadLine());
                        Console.WriteLine("Please Enter first number as width:");
                        b = int.Parse(Console.ReadLine());
                        for (i = 0; i < a; i++)
                        {
                            Console.Write("█");
                        }
                        Console.WriteLine();
                        for (j = 1; j < b - 1; j++)
                        {
                            Console.Write("█");
                            for (int k = a - 1; k > 1; k--)
                            {
                                Console.Write(" ");
                            }
                            Console.Write("█");
                            Console.WriteLine();
                        }
                        for (i = 0; i < a; i++)
                        {
                            Console.Write("█");
                        }
                        Console.WriteLine();
                    }
                    break;
    
    
                case 11:
                    {
                        Console.WriteLine("Enter a number for Row(s):");
                        int m = int.Parse(Console.ReadLine());
                        Console.WriteLine("Enter a number for Column(s):");
                        int n = int.Parse(Console.ReadLine());
                        for (i = 1; i <= m; i++)
                        {
                            for (j = 1; j <= n; j++)
                            {
                                Console.Write("\t{0}", i * j);
                            }
                            Console.WriteLine();
                            Console.WriteLine();
                        }
                        break;
                    }
            }
        }
    
    }
    



    • مسعود درویشیان
      ۴ آذر ۱۳۹۱

      سلام
      وقت به‌خیر

      خیلی خوبه، همه جواب‌هاتون درسته تا اونجا که من دیدم مشکلی نداشتن. علاوه بر این جواب تمرین‌ها هم توی قسمت پانزدهم هست می‌تونید مقایسه کنید.
      یه نکته‌ای که به نظرم اومد و باید رعایت کنید این هست که سعی کنید از اسم‌های بامعنی برای متغیرهاتون استفاده کنید و تا اونجا که می‌تونید از اسم‌های بی‌معنی و مختصر پرهیز کنید.
      یه سری از قواعد نام‌گذاری رو توی قسمت چهارم ذکر کردم که می‌تونید مجددا ببینید.

      در کل عالی بود
      ممنون




      • داوود
        ۴ آذر ۱۳۹۱

        سلام آقا مسعود؛
        ممنونم از اینکه اینقدر سریع برنامه ها رو دیدید و نظرتون رو مرقوم فرمودید.
        آره خودم هم بعد از اینکه حل برنامه ها رو براتون فرستادم رفتم و حل برنامه های شما رو تو قسمت ۱۵ دیدم، و حدس زدم که این مورد ضعف برنامه های ارسال شده من هستش.
        چشم سعی می کنم رعایت کنم.
        بهرحال ممنون از ابراز لطف و اظهار نظرتون.
        دستتون درد نکنه آقای مهندس.



  7. تمام تمرینات رو انجام دادم. سعی کردم به سخت ترین شکل ممکن انجام بدم یا به استاندارد ترین شکل ممکن. مثلا استفاده از توابع موجود یا در تمرین چهارم مستطیل رو تو خالی بسازم.

    //first practise
                Console.Write("please enter a number: ");
                int enteredNumber = Convert.ToInt32(Console.ReadLine());
    
                for (int i = 0; i < enteredNumber; i++)
                {
                    for (int j = 0; j <= i; j++) Console.Write("*");
                    Console.WriteLine();
                }
    
    //second practise
                Console.Write("please enter a number: ");
                int enteredNumber = Convert.ToInt32(Console.ReadLine());
    
                for (int i = 0; i < enteredNumber; i++)
                {
                    for (int s = i; s < enteredNumber; s++) Console.Write(" ");
                    for (int ii = 0; ii <= i; ii++) Console.Write("*");
                    for (int iii = 1; iii <= i; iii++) Console.Write("*");
                    Console.WriteLine();
                }
    
    //third practise
                Console.Write("i need two numbers for exponentiation. first, base number: ");
                int baseNum = Convert.ToInt32(Console.ReadLine());
                Console.Write("and power number: ");
                int powerNum = Convert.ToInt32(Console.ReadLine());
    
                Console.WriteLine("the exponentiation is, " + Math.Pow(baseNum,powerNum));
    
    //forth practise
                Console.Write("gimme a number please: ");
                int num = Convert.ToInt32(Console.ReadLine());
    
                for (int i = 1; i <= num; i++)
                {
                    if(i == 1 || i == num) for(int iii = 1; iii <= num; iii++) Console.Write("█");
                    else
                    {
                        for (int ii = 1; ii <= num; ii++)
                        {
                            if (ii == 1 || ii == num) Console.Write("█");
                            else Console.Write(" ");
                        }
                    }
                    Console.WriteLine();
                }
    
    //fifth practise
                Console.Write("give me width of multiplication table: ");
                int width = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine();
                Console.Write("and its height: ");
                int height = Convert.ToInt32(Console.ReadLine());
    
                for (int w = 1; w <= width; w++)
                {
                    Console.Write(w + "\t");
                }
    
                for (int h = 2; h <= height; h++)
                {
                    Console.WriteLine();
                    Console.Write(h+"\t");
                    for (int i = 2; i <= width; i++)
                    {
                        Console.Write((h * i) + "\t");
                    }
                }
    



  8. میثم
    ۶ مرداد ۱۳۹۲

    سلام اقای مهندس مسعود درویشیان امیدوارم حالتون همیشه خوب باشه و مورد لطف خدای مدنان قرار گرفته باشی.
    دوست عزیز من دانشجوی کارشناسی ترم آخر رشته نرم افزار هستم و در حال حاضر در آموزشگاهی جدیدا کار میکنم، من علاقه خاصی به زبانهای برنامه نویسی دارم و در آموزشگاه تصمیم دارم این زبان را برای دانشجویان تدریس کنم،راستش به علت کمبود وقت نتونستم خودم جزوه ای کامل برای تدریس سی شارپ ایجاد کنم و به خاطر همین تو اینترنت دنبال آموزش سی شارپ به صورت کنسول میگشتم که منبع خاص و کاملی پیدا کنم ولی منبع کامل پیدا نشد تا اینکه اتفاقی به سایت شما وصل شدم و مطالبش رو به طور کامل چک کردم و دیدم واقعا توضیحات کامل توش هست. خواستم اگه اجازه میدید بعضی از جلساتتون را وارد جزوه خودم کنم ونام و سایت شما را هم به عنوان منبع در جزوه انتشار کنم.ممنون میشم اگه بهم اجازه بدبد.آدرس ایمیلمو هم واستون فرستادم،منتظر جوابتون هستم.ممنون از کار خوبتون،موفق باشید.یا علی. باتشکر




  9. Mersad
    ۱۴ مرداد ۱۳۹۲

    سلام
    ممنون از آموزش های عالیتون.

    دوتا سوال داشتم خدمتتون.

    اول اینکه تفاوت Convert.ToInt32 و int.Parse چیه؟
    دوم اینکه وقتی از Convert.ToInt میخوایم استفاده کنم، سه تا گزینه داره با نام های Int16 و Int32 و Int64، اینا تفاوتشون چیه و در چه زمانی باید از کدوم استفاده کرد؟

    بازم تشکر میکنم ازتون بابت این سایت پر محتوا و همت و تلاش بی وقفتون.
    یا علی




    • مسعود درویشیان
      ۱۴ مرداد ۱۳۹۲

      سلام ممنون از لطف‌تون
      جواب سوال اول: اساساً هردوشون یه کار رو انجام می‌دن و فقط توی یه مسائل کوچیکی تفاوت دارن که ممکنه توی موقعیت‌های خاصی این تفاوت مهم بشه! مثلاً متد (Int32.Parse(string s فقط string هارو به int تبدیل می‌کنه. اگه s برابر با null باشه، این متد، ArgumentNullException رو throw می‌کنه (مبحث exception handling). اگر s یه عدد اعشاری باشه مثل ۲۳٫۵ باشه، این متد FormatException رو throw می‌کنه و… از طرف دیگه متد (Convert.ToInt32(string s با هر شیء‌ای که IConvertible رو implement کنه (مبحث interface) و قابل تبدیل به int باشه سر و کار داره. (Convert.ToInt32(String, IFormatProvider برای convert کردن میاد متد ()Int32.Parse رو صدا می‌زنه. تفاوتش اینه که اگه s برابر با null باشه، این متد به‌جای اینکه ArgumentNullException رو throw کنه، مقدار صفر رو return می‌کنه
      جواب سوال دوم: Int16 همون short هست، Int32 همون int و Int64 هم همون long هست. برای استفاده از هر کدوم از این‌ها باید ببینی که ماکزیموم مقداری که توی یه متغیر می‌خوای ذخیره کنی چقدر هست و با توجه به بازه‌ای که هر کدوم از اینا دارن یه کدومشون رو که بهینه‌تره انتخاب کنی




      • Mersad
        ۱۵ مرداد ۱۳۹۲

        ممنونم از راهنماییتون و وقتی که گذاشتین




  10. علی ابراهیمی
    ۱۱ دی ۱۳۹۲

    با سلام
    اول از همه از شما به خاطر این آموزش ها بسیار متشکرم
    یه سوال:
    برای جلوگیری از ریست شدن متغیر های حلقه های داخلی چه کار باید بکنیم؟




  11. علی ابراهیمی
    ۱۴ دی ۱۳۹۲

    با سلام و تشکر از سایت و آموزش های خوبتون
    لطفا یه بار این کد هارو هم چک کنین ببینین اشکالی که ندارن اگه اشکال سینتکسی یا اشکال الگوریتمی هم بود بگین (البته اینو بگم که سومین حلقه ی داخلی از تمرین شماره هفت رو با تقلب نوشتم بعد از دو روز تلاش برای پیدا کردن جواب)
    چند تا سوال داشتم خدمتتون به علاوه ی سوال قبلی که هنوز جواب ندادین
    ۱- فرق int و uint دقیقا چیه؟ من از این نوع برای مثبت کردن عدد منفی در گرفتن توان تمرین هشت استفاده کردم اما هنگام وارد کردن عدد منفی خطا گرفت.
    ۲- متد try parse رو یه بار لطفا توضیح بدین. به جای آرگومان دوم این متد چی باید بنویسیم؟
    ۳- کاراکتر █ چطوری نوشته می شه؟ نتونستم پیدا کنم آخرش کپی کردم.
    ۴- می تونیم تو محیط کنسول فارسی بنویسیم؟ چه جوری؟
    ]code lang=csharp[
    using System;

    namespace S14_EXS
    ]/code[




    • علی ابراهیمی
      ۲۹ خرداد ۱۳۹۳

      لطفا به سوالات بالا جواب بدین
      خیلی وقت هست که سایتتون بروز نشده
      اگه میشه سری جدید زنگ سی شارپ رو برای پلتفرم WinForm یا همون کنسول ادامه بدین
      خیلی ممنون




  12. علی ابراهیمی
    ۱۴ دی ۱۳۹۲

    اینم از کدها (پست قبلی رو برای امتحان به هم ریختن کد ها ارسال کردم):

    using System;

    namespace S14_EXS
    {
    class Program
    {
    static void Main()
    {
    Console.ForegroundColor = ConsoleColor.Green;
    Console.Write(“Enter the number of exercise(6 to 11): “);
    string n = Console.ReadLine();
    if (n == “6”)
    {
    Console.WriteLine(“Exercise number 6: Drawing a right-angled triangle with *\n”);
    Console.Write(“Enter the height: “);
    int x = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine();
    for (int y = 1; y <= x; y++)
    {
    for (int m = 1; m <= y; m++) Console.Write("*");
    Console.WriteLine();
    }
    Console.ReadKey();
    }

    if (n == "7")
    {
    Console.WriteLine("Exercise number 7: Drawing a isosceles triangle with *\n");
    Console.Write("Enter the height: ");
    int x = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine();
    for (int a = 1; a = a;b–) Console.Write(” “);
    for (int c = 1; c <= a; c++) Console.Write("*");
    for (int c = 2; c <= a; c++) Console.Write("*");
    Console.WriteLine();
    }
    Console.ReadKey();
    }

    if (n == "8")
    {
    Console.WriteLine("Exercise number 8: Powering a number\n");
    Console.Write("Enter the number: ");
    int b = Convert.ToInt32(Console.ReadLine());
    Console.Write("Enter the power: ");
    uint p = Convert.ToUInt32(Console.ReadLine());
    Console.WriteLine();
    int result = b;
    if (p == 0)
    result = 1;
    else
    {
    for (int i = 1; i < p; i++) result *= b;
    Console.WriteLine("The result is: " + result);
    }
    Console.ReadKey();
    }

    if (n == "9")
    {
    Console.WriteLine("Exercise number 9: a small dictionary\n");
    Console.Write("Enter the word (computer or cell phone): ");
    string word = Console.ReadLine();
    switch (word)
    {
    case ("computer"):
    Console.WriteLine("an electronic device that can store large amounts of information " +
    "and be given sets of instructions to organize and change it very quickly\n");
    break;
    case ("cell phone"):
    Console.WriteLine("a phone that is connected to the phone system by radio instead of by a wire, " +
    "and can be used anywhere where its signals can be received\n");
    break;
    default:
    Console.WriteLine("There's not such a word in glossory");
    break;
    }
    Console.ReadKey();
    }

    if (n == "10")
    {
    Console.WriteLine("Exercise number 10: Drawing a rectangle with ?\n");
    Console.Write("Enter the length: ");
    int length = Convert.ToInt32(Console.ReadLine());
    Console.Write("Enter the width: ");
    int width = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine();

    for (int i = 1; i <= width; i++)
    {
    for (int j = 1; j <= length; j++) Console.Write("?");
    Console.WriteLine();
    }
    Console.ReadKey();
    }

    if (n == "11")
    {
    Console.WriteLine("Exercise number 11: Multiplication table\n");
    Console.Write("Enter the length: ");
    int length = Convert.ToInt32(Console.ReadLine());
    Console.Write("Enter the width: ");
    int width = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine();
    int result;

    for (int i = 1; i <= width; i++)
    {
    for (int j = 1; j <= length; j++)
    {
    result = i * j;
    Console.Write(result + "\t");
    }
    Console.WriteLine();
    }
    Console.ReadKey();
    }
    }
    }
    }




  13. a-p
    ۸ مرداد ۱۳۹۳

    بسم الله الرحمن الرحیم
    سلام
    نام سایت یا سایت های خوب انگلیسی برای پرسش و پاسخ در مورد سی شارپ می خواهم
    فکر کنم یک دانه خوبش را در درسها معرفی کردید ولی هرچی گشتم پیدا نکردم
    لطف کنید جواب را به ایمیلم بفرستید




  14. نفس
    ۲۱ مهر ۱۳۹۴

    سلام.میشه بگید چجوری میشه برنامه ای بنویسیم که ده تا نمره را از ورودی دریافت کنه به همراه واحدش بعد هرنمره ضرب در واحدش بشه و سپس همه باهم جمع شود و تقسیم بر مجموع واحدها شود.ممنون میشم جواب بدید




  15. رادین
    ۲۱ آذر ۱۳۹۴

    سلام اقای درویشیان واقعا خسته نباشید……..
    مطالبتون تکه تک
    میشه جزوه ی دستورات کنترلی #c رو برام بفرستین…..
    gently.crow@gmail.com



دیدگاه خود را بنویسید





نشانی ایمیل شما منتشر نخواهد شد.

کامنت های شما بعد از تأیید توسط نویسنده وبلاگ، منتشر خواهند شد.

لطفا دیدگاهتان تا حد امکان مربوط به پست بالا باشد. اگر حرف دیگری دارید و یا قصد تماس با من را دارید، از فرم تماس استفاده کنید.

شما میتوانید با مراجعه به سایت گراواتار یک آواتار اختصاصی برای خود تعریف کنید، تا در کنار نام شما نمایش داده شود

برای قرار دادن کدهای نمونه می توانید از تگ های [php] ، [html] ، [css] و [js] استفاده کنید.
به عنوان مثال کدهای php را می توان به صورت زیر قرار داد:
[php] var $whoLoveIranians = "WebTarget!"; [/php]



کلیه حقوق مادی و معنوی برای وب سایت وب تارگت محفوظ است ©2017 وب‌تارگت

استفاده از مطالب وب سایت در سایر وب سایت‌ها و نشریات چاپی با ذکر منبع آزاد است.