اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

۶۸ مطلب با موضوع «تئوری» ثبت شده است

  • ۱
  • ۰

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

وکیل ها برای پاس دادن متدها بصورت آرگومان ، به متد های دیگر استفاده می شوند. مدیریت کننده های رویداد، چیزی جز متدهایی که از طرق delegate ها احضار شده اند، نیستند. شما یک متد سفارشی می سازید و کلاسی مثل windows control می تواند متد شما را در هنگام اتفاق افتادن یک رویداد (event) خاص، فراخوانی کند. مثال زیر طرز اعلان یک وکیل را نشان می دهد:

public delegate int PerformCalculation(int x, int y);

هر متدی از هر کلاس یا ساختار قابل دسترس که با امضای وکیل (شامل نوع برگشتی و پارامترهای ورودی) مطابقت داشته باشد، می تواند به به وکیل انتساب داده شود. متد می تواند static یا یک متد نمونه (instance method) باشد. این کار باعث می شود که بتوانیم با برنامه نویسی، فراخوانی های متد را تغییر دهیم، و همچنین کد جدیدی را در یک کلاس موجود، وارد کنیم. تا وقتی که امضای وکیل را می دانید، می توانید متد خودتان را به آن انتساب دهید.

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

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

در یک برنامه ویندوزی یا تحت وب نمونه که با #C نوشته شده است، شما توسط کنترل هایی مثل button و یا listbox متعهد رویدادهای برپاشده می شوید. شما می توانید با استفاده از IDE (محیط توسعه جامع) Visual C# تمام رویدادهایی که یک کنترل منتشر می کند را ببینید و هر کدام از آنها را که خواستید ، برای مدیریت (handle) انتخاب کنید. IDE بطورت خودکار یک متد خالی مدیریت کننده رویداد و کد تعهد به رویداد را اضافه می کند. برای اطلاعات بیشتر به "راهنمای چگونگی اشتراک گیری و لغو اشتراک از رویدادها" مراجعه کنید.

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

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

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

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


از به
sbyte short, int, long, float, double, یا decimal
byte short, ushort, int, uint, long, ulong, float, double, یا decimal
short int, long, float, double, یا decimal
ushort int, uint, long, ulong, float, double, یا decimal
int long, float, double, یا decimal
uint long, ulong, float, double, یا decimal
long float, double, یا decimal
char ushort, int, uint, long, ulong, float, double, یا decimal
float double
ulong float, double, یا decimal


ملاحظات

  • تبدیلات از int و uint یا long به float و از long به double ممکن است باعث از دست رفتن دقت شود، اما به مقدار ضرری وارد نمی شود.
  • هیچ تبدیل ضمنی ای به نوع char وجود ندارد.
  • هیچ تبدیل ضمنی ای بین نوع های ممیز-شناور و decimal وجود ندارد.
  • یک عبارت ثابت از نوع int می تواند به sbyte ، byte ، short ، ushort ، uint یا ulong تبدیل شود، مقدار تعیین شده عبارت ثابت در محدوده نوع مقصد می باشد.

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

Type : نوع

سیستم تایپ (نوع) سی شارپ شامل مقوله های زیر است:

  • نوع های مقداری
  • نوع های مرجع
  • نوع های اشاره گر

متغیرهایی که از نوع مقداری هستند، داده ها را ذخیره می کنند؛ و آنهایی که از نوع مرجع هستند، ارجاع های به داده های واقعی را ذخیره می کنند. نوع های مرجع، همچنین با نام شیئ (object) شناخته می شوند. نوع های اشاره گر فقط در شیوه برنامه نویسی نا امن (unsafe) قابل استفاده هستند.

با استفاده از boxing و unboxing، این امکان وجود دارد که یک نوع مقداری را به نوع مرجع تبدیل کنیم و دوباره آنرا به نوع مقداری برگردانیم. شما نمی توانید یک نوع مرجع را به نوع مقداری تبدیل کنید، مگر آنکه آن نوع مرجع از روش باکسینگ به نوع مرجع تبدیل شده باشد.

در مورد void (تهی) می توانید در تاپیک "کلمه کلیدی void" مطالبی را بیاموزید.

نوع های مقداری نیز nullable هستند، به این معنی که آنها می توانند یک وضعیت غیر-مقداری را در خود ذخیره کنند.


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

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
  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

با سلام!

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

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

لینک دانلود

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

کلمه کلیدی in

با سلام!

مطلبی رو که امروز براتون آماده کردم. یه کم با مطالب قبلی تفاوت داره. احتمالا یه کم پیچیده تر.


ترمینولوژی:

Variant : چیزی که به چیزهای دیگر وابستگی دارد اما دقیقا مشابه نیست، گوناگون، متغیر

پیشوند Contra : ضد، مخالف، نقیض

پیشوند Co : با، باهم


برای پارامترهای نوع Generic (عام)، کلمه کلیدی in تعیین می کند که پارامتر آن نوع عام Contravariant است. شما می توانید از این کلمه کلیدی (in) در رابط های (Interface) عام و نماینده ها (delegate) استفاده کنید.

کنتراواریانس این توانایی رو به شما می دهد که از نوع کمتر مشتق شده (پایه ای تر، ریشه ای تر) نسبت به آن نوعی که پارامتر generic تعیین کرده استفاده کنید. که اجازه تبدیل ضمنی کلاس هایی که اینترفیس های گوناگون را پیاده سازی کرده اند را می دهد.

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

اثر پروانه ای

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


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


لورنتس در پژوهش بر روی مدل ریاضی بسیار ساده‌ای از آب و هوای جو زمین، به معادلهٔ دیفرانسیل غیر قابل حل رسید. وی برای حل این معادله از روش‌های عددی به کمک رایانه بهره جست. او برای این‌که بتواند این کار را در روزهای متوالی انجام دهد، نتیجه آخرین خروجی یک روز را به عنوان شرایط اولیه روز بعد وارد می‌کرد. لورنتس در نهایت مشاهده کرد که نتیجه شبیه‌سازی‌های مختلف با شرایط اولیه یکسان با هم کاملاً متفاوت است. بررسی خروجی چاپ شده رایانه نشان داده که رویال مک‌بی (Royal McBee)، رایانه‌ای که لورنتس از آن استفاده می‌کرد، خروجی را تا ۴ رقم اعشار گرد می‌کند. از آنجایی که محاسبات داخل این رایانه با ۶ رقم اعشار صورت می‌گرفت، از بین رفتن دو رقم آخر باعث چنین تاثیری شده بود. مقدار تغییرات در عمل گردکردن نزدیک به اثر بال‌زدن یک پروانه‌است. این واقعیت غیرممکن بودن پیش‌بینی آب و هوا در دراز مدت را نشان می‌دهد.


مشاهدات لورنتس باعث پررنگ شدن مبحث نظریه آشوب شد. عبارت عامیانه «اثر پروانه‌ای» در زبان تخصصی نظریه آشوب، «وابستگی حساس به شرایط اولیه» ترجمه می‌شود.


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


منبع: دانشنامه ویکیپدیا

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