اثر پروانه ای

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

مشخصات بلاگ
اثر پروانه ای

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

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

آخرین نظرات
  • ۱۱ بهمن ۹۵، ۱۷:۱۸ - فاروق کریمی زاده
    خوب بود.
اثر پروانه ای

۸ مطلب در شهریور ۱۳۹۲ ثبت شده است

شما وقتی که بخواهید کد سفارشی ای بنویسید که هنگام برپا شدن یک رویداد فراخوانی شود، تعهد آن رویداد را که توسط کلاس های دیگر منتشر شده است را امضا می کنید. برای نمونه، ممکن است برای اینکه اپلیکیشن شما کار مفیدی را در مواقعی که کاربر روی دکمه "کلیک" کرد انجام دهد، تعهد رویداد click دکمه را امضا کنید.


امضای تعهد به رویدادها با استفاده از IDE ویژوال استودیو

  1. اگر نمی توانید پنجره Properties را ببینید، در نمای Design ، روی فرم یا کنترلی (دکمه ، تکست باکس و...) که می خواهید برایش استعمال کننده رویداد بسازید، راست کلیک کنید و گزینه Properties را انتخاب کنید.
  2. در بالاترین قسمت پنجره Properties روی آیکن Events (به شکل رعدوبرق) کلیک کنید.
  3. روی رویدادی که می خواهید بسازید (برای مثال رویداد Load) ، دوبار کلیک کنید.
    ویژوال استودیو بصورت خودکار یک متد استعمال کننده (بصورت خالی و پیاده سازی نشده) رویداد را به کد شما اضافه می کند. به بیانی دیگر، شما می توانید همین کدها را بصورت دستی در نمای Code وارد کند. برای مثال، خطوط کد زیر یک متد استعمال کننده رویداد را اعلان می کنند که در هنگام برپا شدن رویداد Load از کلاس Form فراخوانی خواهد شد.

private void Form1_Load(object sender, System.EventArgs e)
{
    // Add your form load event handling code here.
}

Event ها یک کلاس یا شیئ را قادر می سازند تا چیزهای مورد علاقه خود را به کلاس ها یا اشیاء دیگر اطلاع دهند. به کلاسی که رویداد را می فرستد ( یا برپا می کند) ناشر می گویند (publisher) و به کلاس هایی که رویداد را دریافت می کنند ( یا استعمال می کنند- handle) ، متعهد ( subscriber ) می گویند.

در یک فرم اپلیکیشن یا وب اپلیکیشن نمونه ی سی شارپ، شما متعهد رویدادهای برپا شده ی کنترل هایی مثل دکمه ها یا لیست باکس ها می شوید. شما می توانید از محیط توسعه یکپارچه (IDE) ویژوال سی شارپ برای مرور رویدادهایی که کنترل ها توانایی برپایی آنها را دارند استفاده کرده و آنهایی را که قصد استعمالشان دارید را انتخاب کنید. IDE بصورت خودکار یک متد خالی (بدون پیاده سازی) استعمال کننده رویداد و همچنین کدهایی برای متعهد شدن به آن رویداد را اضافه می کند.

بررسی رویدادها

رویدادها دارای خصوصیات زیر می باشند:

دات نت فریم وورک کلاس های مخصوصی را برای ذخیره و بازیابی داده ها ارائه داده است. این کلاس ها پشتیبانی از لیست ها، پشته ها، صف ها و جداول هش (جدول هایی که یک سری کلید را به مقادیر خاصی مرتبط می کند) را فراهم می کنند. اکثر کلاس های کلکسیونی رابط های مشابهی را پیاده سازی می کنند، و این رابط ها را می توان برای ساختن کلاس های کلکسیونی جدید که منطبق با نیازهای ذخیره سازی تخصصی تر هستند بکار برد.

نکته

اپلیکیشن های نوشته شده با نسخه 2.0 و بالاتر دات نت فریم وورک می بایست از کلاس های کلکسیونی جنریک موجود در فضای نام  System.Collections.Generic که امنیت-نوع و کارایی بیشتری نسبت به نسخه غیر-جنریک خود دارند، استفاده کنند.

ArrayList list = new ArrayList();
list.Add(10);
list.Add(20);

بررسی کلاس های کلکسیونی

کلاس های کلکسیونی دارای خوصوصیات زیر می باشند:

کلاس ها و ساختارها (Struct) دو تا از زیربناهای اساسی سیستم نوع عمومی (common type system) در دات نت فریم وورک می باشند. هرکدام دراصل یک ساختار داده است که یک مجموعه از داده ها و رفتارهایی که باهم در ارتباط هستند را تحت یک واحد منطقی کپسوله (یعنی در یک واحد مشترک قرار دادن) قرار می دهد. داده ها و رفتارها ، در واقع "اعضای" کلاس و struct هستند و شامل متدها، پراپرتی ها، رویدادها و غیره می شوند؛ که هر یک از این موارد شرح داده خواهند شد.

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

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

یک آرایه ، نوعی ساختار داده است که شامل چندین متغیر از نوع مشابه است. آرایه ها با یک نوع اعلان می شوند:

type[] arrayName;

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

class TestArraysClass
{
    static void Main()
    {
        // Declare a single-dimensional array 
        int[] array1 = new int[5];

        // Declare and set array element values
        int[] array2 = new int[] { 1, 3, 5, 7, 9 };

        // Alternative syntax
        int[] array3 = { 1, 2, 3, 4, 5, 6 };

        // Declare a two dimensional array
        int[,] multiDimensionalArray1 = new int[2, 3];

        // Declare and set array element values
        int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

        // Declare a jagged array
        int[][] jaggedArray = new int[6][];

        // Set the values of the first array in the jagged array structure
        jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
    } 

معرفی آرایه ها

آرایه ها دارای خواص زیر می باشند:

برنامه های #C شامل یک یا بیش از یک فایل است. هر فایل می تواند شامل صفر یا تعدادی فضای نام باشد. هر فضای نام می تواند در کنار فضای نام های دیگر (در صورت وجود) حاوی نوع هایی از جمله کلاس، ساختار، رابط، نوع های شمارشی و وکیل ها باشد. اسکلت یک برنامه سی شارپ که حاوی همه این عناصر هست را ببینید:

// A skeleton of a C# program 
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface 
    {
    }

    delegate int YourDelegate();

    enum YourEnum 
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct 
        {
        }
    }

    class YourMainClass
    {
        static void Main(string[] args) 
        {
            //Your program starts here...
        }
    }
}
سایت w3schools.com بصورت آفلاین

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


قبلا در همین وبگاه یک نسخه حدود 70 مگابایتی آفلاین از این وبسایت رو قرار دادم. اما امروز....

نسخه 1.7 مگابایتی سایت w3schools

بله درسته فقط 1.7 مگابایت!

حجم این فایل بعد از خارج شدن از حالت فشرده به بیش از 120 مگابایت تبدیل می شود. لطفا به این نکته توجه داشته باشید که برای باز کردن و از حالت فشرده خارج کردن این فایل به نرم افزار 7z یا winRar نیاز دارید.

دانلود در ادامه مطلب...