اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

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

  • ۲
  • ۰

بسم الله الرحمن الرحیم

سلام دوستان عزیز...

همونطوری که در جلسه قبل گفتم، یکی از شاخصه هایی که به برنامه هوشمندی میده اینه که برنامه توانایی این رو داشته باشه که در شرایط مختلف تصمیم های مناسبی بگیره. چندتا مثال هم زدم. مثلا گفتم شما اگر گرسنه شوید سراغ غذا می روید. اگر بخواهید برنامه نویسی یاد بگیرید به باترفلای سر میزنید و... در جلسه قبل روش ساختن متغیر رشته ای رو هم یاد گرفتیم. در این درس ساختار شرطی "if" رو براتون تا حدودی شرح میدم. همچنین در این درس با عملگرها و عملوندها و عبارت ها آشنا خواهیم شد و از آنها در یک برنامه ساده اما خیلی هوشمندانه تر از برنامه های قبل استفاده می کنیم.

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

عبارت ها از دو بخش عملوند و عملگر تشکیل شده اند. به شکل زیر دقت کنید:

برنامه نویسی مقدماتی سی شارپ

در این شکل عملگرها رو با چهارضلعی های آبی مشخص کرده ام و عملوندها را با چهارضلعی های قرمز.

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

عبارت های لامبدا (Lambda Expressions)

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

در نگارش متدهای بی‌نام، کلمه کلیدی delegate مازاد بر احتیاج است؛ به این علت که خود کامپایلر می بیند که شما درحال انتساب متد به delegate هستید. شما می توانید با انجام کارهای زیر، بسادگی، یک متد بی‌نام را به یک عبارت لامبدا تبدیل کنید:

  • کلیدواژه delegate را حذف کنید.
  • عملگر لامبدا ( <= ) را مابین لیست پارامترها و بدنه متد بی نام قرار دهید. عملگر لامبدا بصورت "می رود به" (goes to) خوانده می‌شود.

تکه کد زیر این تبدیل را نشان می دهد. خط اول یک متد بی نام را که به متغیر del انتساب داده شده را نشان می دهد. خط دوم همان متد بی نام را بعد از آنکه به عبارت لامبدا تبدیل شده را نشان می دهد که به متغیر le1 منتسب شده است.

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

حلقه while

بیان while یک بیان (دستور) یا بلوکی از بیان ها را تا زمانی که عبارت تعیین شده اش به false ارزیابی شود، اجرا می کند.

مثال

    class WhileTest 
    {
        static void Main() 
        {
            int n = 1;
            while (n < 6) 
            {
                Console.WriteLine("Current value of n is {0}", n);
                n++;
            }
        }
    }
    /*
        Output:
        Current value of n is 1
        Current value of n is 2
        Current value of n is 3
        Current value of n is 4
        Current value of n is 5
     */

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

کلیدواژه unchecked

کلمه کلیدی unchecked برای متوقف کردن عملیات بررسی سر ریز (overflow) در عملیات محاسباتی و تبدیلات نوع صحیح استفاده می شود.

در یک زمینه بررسی نشده (unchecked context) ، اگر یک عبارت مقداری خارج از محدوده نوع مقصد تولید کند، سرریز گزارش داده نمی شود. برای مثال، به این دلیل که در مثال زیر عملیات محاسباتی در بلوک یا عبارت unchecked قرار گرفته ، از این حقیقت که نتیجه محاسبه بزرگتر از حد عدد صحیح است ، چشم پوشی می شود، و به متغیر int1 مقدار  2,147,483,639- انتساب داده می شود.

unchecked
{
    int1 = 2147483647 + 10;
}
int1 = unchecked(ConstantMax + 10);

اگر محیط unchecked حذف شود، یک خطای کامپایل رخ می دهد. سرریز (overflow) می تواند در زمان کامپایل تشخیص داده شود، زیرا تمام قسمت های عبارت بصورت ثابت (Constant) هستند.

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

کلیدواژه typeof

برای بدست آوردن شیئ System.Type مربوط به یک نوع کاربرد دارد. یک عبارت typeof به شکل زیر است:

System.Type type = typeof(int);

ملاحظات

برای بدست آوردن نوع زمان-اجرای یک عبارت ، می توانید از متد دات نتی GetType بصورت زیر استفاده کنید:

int i = 0;
System.Type type = i.GetType();

عملگر typeof را نمی توان overload کرد.

عملگر typeof همچنین می تواند در نوع های جنریک باز مورد استفاده قرار گیرد. نوع هایی که دارای بیش از یک پارامتر نوع هستند، باید تعداد متناسبی وریگول (کاما) در خصوصیتشان باشند. مثال زیر چگونگی تعیین اینکه آیا نوع خروجی یک متد از نوع جنریک IEnumerable است یا نه را نشان می دهد. فرض کنید این متد نمونه ای از یک نوع MethodInfo باشد:

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

کلیدواژه const

کلمه کلیدی const ، در واقع اصلاحگری برای اعلان فیلد، یا متغیر محلی است و تعیین می کند که مقدار فیلد یا متغیر محلی ثابت است، به این معنی که مقادیر آنها قابل دستکاری نیست.

const int x = 0;
public const double gravitationalConstant = 6.673e-11;
private const string productName = "Visual C#";

ملاحظات

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

یک عبارت ثابت، عبارتی است که می تواند در زمان کامپایل بطور کامل ارزیابی شود (نیاز به پردازش های زمان اجرا نداشته باشد). بنابراین ، تنها مقادیر مجاز برای ثابت های نوع مرجع، string و null می باشد.

اعلان ثابت می تواند چندین ثابت را به شکل زیر اعلان کند:

public const double x = 1.0, y = 2.0, z = 3.0;

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

کلمه کلیدی checked

کلیدواژه checked برای فعال سازی صریح بررسی سرریز در تبدیلات و عملیات محاسباتی نوع-صحیح مورد استفاده قرار می گیرد.

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

// The following example causes compiler error CS0220 because 2147483647
// is the maximum value for integers. 
//int i1 = 2147483647 + 10;

// The following example, which includes variable ten, does not cause
// a compiler error.
int ten = 10;
int i2 = 2147483647 + ten;

// By default, the overflow in the previous statement also does
// not cause a run-time exception. The following line displays 
// -2,147,483,639 as the sum of 2,147,483,647 and 10.
Console.WriteLine(i2);

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

کلمه کلیدی 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 نمی توانند مقادیر یکسان داشته باشند.

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

کلمه کلیدی 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

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