اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

۲۷ مطلب با کلمه‌ی کلیدی «statement» ثبت شده است

  • ۱
  • ۰

کلیدواژه break

بیان break ، نزدیکترین حلقه تکرار یا بیان switch را که در آن قرار گرفته را خاتمه می دهد. روند اجرایی برنامه از دستور های بعد از بیان خاتمه داده شده، ادامه داده می شود.


مثال

در این مثال، بیان شرطی در یک شمارنده قرار گرفته است که شمارش آن از 1 تا 100 در نظر گرفته شده؛ هرچند، بیان break حلقه تکرار را پس از 4 شمارش، خاتمه می دهد.

class BreakTest
{
    static void Main()
    {
        for (int i = 1; i <= 100; i++)
        {
            if (i == 5)
            {
                break;
            }
            Console.WriteLine(i);
        }

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

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

کلمه کلیدی bool نام مستعاری برای System.Boolean می باشد که برای اعلان متغیرهایی برای ذخیره سازی مقادیر بولی true (درست) و false (غلط) استفاده می شود.

نکته:

اگر به متغیر بولی ای نیاز دارید که دارای مقدار null هم می باشد، از ?bool استفاده کنید.


لیترال ها:

شما می توانید یک مقدار بولی را به یک متغیر bool اختصاص دهید. همچنین می توانید یک عبارت را که نتیجه آن بصورت bool ارزیابی می شود را به متغیر bool اختصاص دهید.

public class BoolTest
{
    static void Main()
    {
        bool b = true;

        // WriteLine automatically converts the value of b to text.
        Console.WriteLine(b);

        int days = DateTime.Now.DayOfYear;


        // Assign the result of a boolean expression to b.
        b = (days % 2 == 0);

        // Branch depending on whether b is true or false.
        if (b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

false ، مقدار پیش فرض برای متغیرهای bool و ?bool است.

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

کلمه کلیدی long ، نوع داده ای صحیحی را مشخص می کند که مقادیر وابسته به اندازه و محدودیت نشان داده شده زیر را ذخیره می کند:

  • نوع: long
  • محدوده: از –9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807
  • اندازه: صحیح علامتدار 64 بیتی
  • نوع دات نتی: System.Int64

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

کیدواژه lock

کلمه کلیدی lock یک بلوک بیان (statement block) را بوسیله فراهم کردن قفل ممانعت-متقابل (mutual-exclusion) برای یک شئ داده شده، بعنوان قسمت بحرانی، علامت گذاری می کند؛ بیان اجرا می شود، و در نهایت قفل آزاد می شود. این بیان به شکل زیر است:

Object thisLock = new Object();
lock (thisLock)
{
    // Critical code section.
}

نکات:

کلید واژه lock اطمینان می دهد که یک ریسمان، هنگامیکه ریسمان دیگر در قسمت بحرانی است، به قسمت بحرانی کد وارد نمی شود. اگر ریسمان دیگر سعی کند به کد قفل شده وارد شود، باید منتظر بماند تا اینکه شئ آزاد شود.

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

بیان foreach-in

سلام! امروز با توضیح مختصری از بیان یا به اصطلاح statement تکرار کننده foreach در خدمتتون هستم. در این مقاله و مقالات دیگری که در همین وبلاگ قرار دارند، منظور من از کلمه "بیان" همان statement هست.

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

System.Collection.IEnumerable

یا

System.Collection.Generic.IEnumerable<T>

 را پیاده سازی (Implement) کند، تکرار می کند.

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

این مطلب رو با یک مثال شروع می کنم:

enum E:byte{sat,sun=2,mon,tue=8};

نوع پیش فرض در enum نوع int است ولی می توان شبیه مثال بالا نوع های دیگر را به غیر از char به آن اختصاص داد.

با صفت FlagsAttribute می توان کارکرد enum را به طرز جالبی تغییر داد:

[FlagsAttribute]
enum E{sat=0,sun=1,mon=2,tue=4};
for(int i=0;i<4;i++){
Console.WriteLine(((E)i).ToString());
}

جالب اینجاست که هرجا که مقدار معادل متغیرشمارنده حلقه (i) در enum وجود نداشته باشد، ثابت های دیگر را طوری با هم ترکیب می کند تا آن مقدار بدست بیاید. البته باید دقت شود که حتما شماره گذاری عناصر enum توانی از 2 باشد. و از صفت FlagsAttribute قبل از تعریف نوع شمارشی (enum) استفاده شود.

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

کلیدواژه default

کلمه کلیدی default در زبان برنامه نویسی #C عمدتا" به دوشکل استفاده می شود:

  1. در بیان switch (بیان معادل کلمه انگلیسی statement است)
  2. در کلاس های Generic (در مورد این نوع کلاس ها انشاءالله در پست های بعدی مفصل صحبت خواهم کرد. اما فعلا بطور خلاصه می تونم بگم که نوعی کلاس هستند که نوع داده ای که قرار است کلاس با آن کار کند را در زمان نمونه سازی آن مشخص می کنیم. مثلا" <MyClass<int )

این کلیدواژه اگر در بیان switch استفاده شود، مجموعه دستورالعمل هایی را، در صورت نادرست بودن عبارات case قبلی اجرا می کند.

اما بحث من در این پست بیشتر سر استفاده از کلمه کلید default در کلاس ها و متدهای جامع (Generic) است:

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

  1. آیا T نوع مرجع است یا نوع مقداری (Value type or Reference type)
  2. اگر T از نوع مقداری است، آیا مقدار عددی خواهد داشت یا struct (چون نوع struct دز زبان سی شارپ در رده ی نوع های مقداری قرار میگیرد)

فرضا" متغر t از نوع T  پارامتری شده داده شده باشد، عبارت t=null فقط وقتی درست است که t از نوع مرجع باشد و t=0 فقط برای نوع عددی کار می کند و نه برای struct ها.

اما تا اینجا همه مقدمه بود!

راه حل استفاده از کلیدواژه default است که برای نوع های مرجع null برمیگرداند و صفر را برای نوع عددی و همچنین برای نوع struct هر کدام از اعضای آنرا بسته به نوع عددی یا مرجع بودن با صفر یا null برمیگرداند. در صورتی که نوع عددی nullable باشد، کلیدواژه default،

 System.Nullable<T> 

را که مثل هر struct دیگری مقدار دهی شده را برمیگرداند.

مثال زیر از نحوه استفاده از این کلمه کلیدی را در کدهای جامع (Generic) نشان می دهد:

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