اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۳ بهمن ۰۱، ۱۵:۳۱ - حسنا سادات و سما سادات
    عالی

۲۵ مطلب با موضوع «برنامه نویسی :: #C :: بیان (statement)» ثبت شده است

  • ۱
  • ۰

بیان for

حلقه for یک بیان یا بلوکی از بیان ها را تا زمانی که عبارت شرطی تعیین شده به false ارزیابی شود، مکررا" اجرا می کند. حلقه for برای شمارش (حرکت روی عناصر) آرایه ها و پردازش ترتیبی مفید است.

مثال

در مثال زیر، مقدار int i در کنسول نوشته شده و مقدار i هر بار توسط حلقه یکی افزایش می یابد.

class ForLoopTest 
{
    static void Main() 
    {
        for (int i = 1; i <= 5; i++)
        {
            Console.WriteLine(i);
        }
    }
}
/*
Output:
1
2
3
4
5
*/

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلیدواژه enum

کلمه کلیدی enum برای اعلان مجموعه شمارشی (enumeration) استفاده می شود. enumeration یک نوع متمایز شامل مجموعه ای نامدار از ثابت ها است که به آنها لیست شمارشی می گویند.

معمولا" بهترین راه، اعلان enum مستقیما" درون namespace است، در نتیجه همه کلاس های داخل namespace می توانند بصورت مساوی به آن دسترسی داشته باشند. هرچند، یک enum می تواند بصورت تودرتو ، درون یک کلاس یا ساختار (struct) قرار گیرد.

بصورت پیش فرض، اولین enumerator (اعضای enum) مقدار صفر دارد و بقیه اعضا مقدارشان بصورت متوالی، یکی یکی افزایش پیدا می کند.

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

در این لیست شمارشی، Sat مقدار صفر دارد، Sun مقدار 1 دارد، Mon مقدار 2 دارد و الی آخر. enumerator ها می توانند برای رونویسی مقدار پیش فرضشان، مقدار دهی اولیه شوند. برای مثال:

enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

بیان if-else

بیان if ، اجرای یک بیان یا بلوکی از بیان ها را بر اساس مقدار یک عبارت بولی ، انتخاب می کند. در مثال زیر متغیر بولی result با true مقداردهی ، سپس در بیان if بررسی شده است. خروجی "The variable is set to true" است.

bool result = true;

if (result == true)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

اگر عبارت ارزیابی شده در داخل پرانتز درست باشد، آنگاه بیان 

Console.WriteLine("The variable is set to true.");

اجرا خواهد شد. بعد از اجرای بیان if ، روند اجرای برنامه به بیان بعدی منتقل می شود. در این مثال else اجرا نشده است.

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلمه کلیدی do

بیان do تا زمانی که عبارت مشخص شده برایش به false ارزیابی شود، یک بیان یا بلوکی از بیان ها را که در {} قرار دارند را ،  مکررا" اجرا می کند.

مثال

در مثال زیر تا زمانی که متغیر x کوچکتر از 5 باشد، حلقه do-while اجرا می شود.

public class TestDoWhile 
{
    public static void Main () 
    {
        int x = 0;
        do 
        {
            Console.WriteLine(x);
            x++;
        } while (x < 5);
    }
}
/*
    Output:
    0
    1
    2
    3
    4
*/

برخلاف بیان while، حلقه do-while یک بار قبل از اینکه عبارت شرطی بررسی شود به اجرا در می آید.

بوسیله بیان break ، می توانید در هر نقطه ای از بلوک do-while از حلقه خارج شوید. شما می توانید با بیان continue ، مستقیما به بیان ارزیابی عبارت while بروید؛ اگر عبارت به true ارزیابی شود، روند اجرای برنامه از اولین بیان در حلقه، ادامه پیدا خواهد کرد. اگر عبارت به false ارزیابی شود، روند اجرای برنامه از اولین بیان بعد از حلقه do-while ادامه داده می شود.

حلقه do-while توسط بیان های goto ، return یا throw نیز می تواند به پایان برسد.

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلمه کلیدی continue

بیان continue روند اجرای برنامه را به دور بعدی حلقه تکراری که در آن قرار دارد هدایت می کند.

مثال

در این مثال، یک شمارنده برای شمارش از 1 تا 10 مقداردهی اولیه شده است. با استفاده از بیان continue که به عبارت (i<9) متصل شده، بیان های ما بین continue و آخر بدنه for از قلم می افتند.

class ContinueTest
{
    static void Main()
    {
        for (int i = 1; i <= 10; i++)
        {
            if (i < 9)
            {
                continue;
            }
            Console.WriteLine(i);
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/*
Output:
9
10
*/

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلیدواژه class

کلاس ها با استفاده از کلمه کلیدی class ، بصورتی که در مثال زیر نشان داده شده، اعلان می شوند.

class TestClass
{
    // Methods, properties, fields, events, delegates 
    // and nested classes go here.
}

ملاحظات

بر خلاف ++C ، در #C فقط یک ارث بری مجاز است. به بیانی دیگر، پیاده سازی یک کلاس فقط می تواند از یک کلاس پایه ای ، ارث بری شود. هرچند، یک کلاس می تواند بیش از یک رابط (interface) را پیاده سازی (implement) کند. جدول زیر مثال هایی از ارث بری کلاس و پیاده سازی رابط را نشان می دهد.

ارث بری مثال
بدون ارث بری
class ClassA { }
ارث بری یگانه
class DerivedClass: BaseClass { }
بدون ارث بری، پیاده سازی دو رابط
class ImplClass: IFace1, IFace2 { }
ارث بری یگانه، پیاده سازی یک رابط
class ImplDerivedClass: BaseClass, IFace1 { }

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

بیان try-catch-finally

یک کاربرد عمومی از catch و finally به همراه هم، برای بدست آوردن و استفاده از منابع در بلوک try، دست و پنجه نرم کردن با شرایط استثنایی در بلوک catch و آزاد کردن منابع در بلوک finally می باشد.

برای اطلاعات و مثال های بیشتر در زمینه دوباره پرتاب سازی خطا ها به تاپیک های try-catch و "پرتاب استثناها" مراجعه کنید.

مثال

public class EHClass
{
    void ReadFile(int index)
    {
        // To run this code, substitute a valid path from your local machine
        string path = @"c:\users\public\test.txt";
        System.IO.StreamReader file = new System.IO.StreamReader(path);
        char[] buffer = new char[10];
        try
        {
            file.ReadBlock(buffer, index, buffer.Length);
        }
        catch (System.IO.IOException e)
        {
            Console.WriteLine("Error reading from {0}. Message = {1}", path, e.Message);
        }

        finally
        {
            if (file != null)
            {
                file.Close();
            }
        }
        // Do something with buffer...
    }
}

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

بیان try-catch

بیان try-catch شامل یک بلوک try و یک یا بیش از یک جمله catch که بعد از آن بلوک می آید، مدیریت کننده هایی را برای خطاهای مختلف تعیین می کند. وقتی یک خطا پرتاب (throw) می شود (اتفاق می افتد/خودمان عمدا آن خطا را تولید می کنیم)، زبان عمومی زمان اجرا (CLR - Common Language Runtime) به دنبال بیان catch ی می گردد که آن خطا را مدیریت می کند می گردد. اگر متدی که فعلا" در حال اجرا است چنین بلوک catch ی نداشته باشد، CLR به متدی که این متد فعلی را فراخوانی کرده نگاه می کند و همینطور استک را به سمت بالا بازرسی می کند (تا به بلوک catch مربوطه برسد). اگر هیچ بلوک catch ی پیدا نشد، آنگاه CLR یک پیام خطای-مدیریت-نشده به کاربر نشان می دهد و روند اجرای برنامه را متوقف می کند.

بلوک try حاوی کد محافظت شده است ولی ممکن است خطا برایش اتفاق بیفتد. بلوک به اجرا ادامه می دهد زمانی که خطایی پرتاب شود یا بلوک با موفقیت کامل شود. برای مثال، تلاش زیر برای قالبریزی یک شیئ null ، خطای NullReferenceExeption را برپا می کند:

object o2 = null;
try
{
    int i2 = (int)o2;   // Error
}

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

Statement : بیان

بیان ها دستورالعمل های برنامه هستند. بیان ها به ترتیب اجرا می شوند، مگر اینکه به روشی خاص ترتیب اجرای آنها را تغییر دهیم، به این معنی که از بیان های خاصی از جمله آنهایی که در جدول زیر می بینید، استفاده شود. جدول زیر کلیدواژه های بیانی #C را لیست کرده است. البته بیان هایی هم وجود دارند که دارای کلمه کلیدی نیستند که ان شاء الله بعدا" مطلبی جامع در مورد آنها در همین تاپیک قرار خواهم داد.


انواع بیان های سی شارپ
رده کلیدواژه #C
بیان انتخابی (selection statement) if , else , switch , case
بیان تکرار کننده (Iteration Statment) do, for, foreach, in, while
بیان پرشی break, continue, default, goto, return, yield
بیان استثناء گردانی throw, try-catch, try-finally, try-catch-finally
بیان بررسی شده و بررسی نشده checked, unchecked
بیان ثابت شده fixed
بیان قفل گذاری lock
  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلمه کلیدی switch

بیان switch یک بیان کنترلی است که بوسیله انتخاب های چندگانه و مجموعه های شمارشی (enumerations) ، با پاس دادن کنترل اجرای برنامه به یکی از بیان های case داخلی اش، روند اجرایی برنامه را کنترل می کند؛ مانند مثال زیر:

int caseSwitch = 1;
switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
}

کنترل اجرای برنامه به بیان case ی که با مقدار switch یکسان باشد، منتقل می شود. بیان switch می تواند حاوی هر تعداد از نمونه های case باشد، اما دو بیان case نمی توانند مقادیر یکسان داشته باشند.

  • غلامعلی حسینی بهجانی