اثر پروانه ای

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

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

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

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

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

۱۹ مطلب با کلمه‌ی کلیدی «C Sharp» ثبت شده است


دانلود
حجم: 36.9 کیلوبایت
توضیحات: سورس برنامه محاسبه ابجد یا حساب جمل


با «حساب ابجد» آشنا شویم!

در حساب ابجد هر یک از حروف عربی نماینده عددی است که عبارتند از :

ابجد - هوز - حطی - کلمن - سعفض - قرشت - ثخذ - ضظغ . 

شماره هر یک ز این حروف چنین است :

الف=1، ب=2، ج=3، د=4، ه=5، و=6، ز=7، ح=8، ط=9، ی=10، ک=20، ل=30، م=40، ن=50، س=60، ع=70، ف=80، ض=90، ق=100، ر=200، ش=300، ت=400، ث=500، خ=600، ذ=700، ض=800، ظ=900، غ=1000  .

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

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

منظور از ماده تاریخ آن است که مجموعه حروف یک عبارت یا شعر و یا کلمه عبارت از تاریخ یک واقعه مهم مورد نظر باشد در ادبیات ما، اشعار بسیاری وجود دارد که هر کدام به حساب ابجد واقعه ای را می رساند. حتی وقایع مهم تاریخی نیز در یک کلمه یا جمله معروفی خلاصه شده است مثل جمله معروف (عدل مظفر) که مطابق با سال مشروطیت ایران یعنی 1342 هجری قمری می باشد . به صورت زیر :

104=30+ 4 + 70 = عدل      1220 = 200 + 80 + 900 + 40 = مظفر

بنابراین (عدل مظفر) برابر 1324 = 104 + 1220  خواهد بود .

یکی از شاعران نیز راجع به فوت شاعر قرن هفتم، سعدی شیرازی گفته است :

همـای روح پـاک شـیخ سـعدی      بـه سـوی قصـر جنت گشـت رقاص

چو پرسیدم زفوت او، خرد گفت      زخاصان بود، از آن تاریخ شد خاص

در اینجا می بینیم که کلمه ی «خاص» دقیقاً مساوی با سال وفات سعدی یعنی 691  قمری است :  

 691 = 90 + 1 + 600 = خاص

شاعر دیگر نیز در مورد تاریخ بنای «چهارباغ» اصفهان گفته است : 

عجب چهارباغیست عشرت افزای      گرش ثانی خلد گویند شاید

چو تـــاریخ آن دل طلب کــرد گفتم       نهالش بکـام دل شـه بــرآید 

386 = 300 + 30 + 1 + 5 + 50 = نهالش

63 = 40 + 1 + 20 + 2 = بکام

339 = 5 + 300 + 30 + 4 = دل شه

217 = 4 + 10 + 1 + 200 + 2 = برآید

که جمع اعداد فوق رقم سال 1005  می باشد .

حسن ختام این مطلب تدادی از نامهاست که عبارتند از :

92 = 4 + 40 + 8 + 40 = محمد

110 = 10 + 30 + 70 = علی

118 = 50 + 60 + 8 = حسن

128 = 50 + 10 + 60 + 8 = حسین


منبع: رزینا

سلام

یکی از پرکاربردترین مفاهیم ریاضی، که در بسیاری از برنامه های کامپیوتری هم مورد استفاده دارد، "بزرگ‌ترین مقسوم‌علیه مشترک" هست که با نام اختصاری "ب.م.م" نیز شناخته شده است. به احتمال زیاد در منابع خارجی با عبارت Greatest Common Divisor یا GCD مواجه شده باشید. البته الگوریتم‌های زیادی (با پیچیدگی های مختلف) برای محاسبه ب.م.م ارائه شده است؛ اما یکی از راه هایی که بسیاری از ما در دوران مدرسه از آن استفاده کرده ایم، روش تقسیم متوالی، یا روش نردبانی هست.

امروز با الگوریتم محاسبه بزرگترین مقسوم علیه مشترک دو عدد و همچنین برنامه آن در زبان برنامه نویسی #C در خدمت شما هستم.

به تصویر زیر دقت کنید:

محاسبه بزرگترین مقسوم علیه مشترک GCD ب.م.م ب م م

در این شکل روش محاسبه ب.م.م دو عدد 12 و 20، نشان داده شده است. 

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

نظرها، پیشنهادات و انتقادات سازنده شما موجب دلگرمی این حقیر بوده، و مسلّما در بهتر شدن این وبلاگ، مؤثر خواهد بود. متشکرم.


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

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

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

برنامه نویسی خیلی مقدماتی سی شارپ / درس چهارم

برنامه نویسی خیلی مقدماتی سی شارپ / درس پنجم


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

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

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

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

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


برنامه نویسی نیمه حرفه ای سی شارپ / درس یازدهم

برنامه نویسی نیمه حرفه ای سی شارپ / درس دوازدهم

برنامه نویسی نیمه حرفه ای سی شارپ / درس سیزدهم


برنامه نویسی نیمه حرفه ای سی شارپ / درس سیزده و نیم


برنامه نویسی نیمه حرفه ای سی شارپ / درس چهاردهم

برنامه نویسی نیمه حرفه ای سی شارپ / درس پانزدهم (آخر)

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

سلام.

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

در جلسه قبل در مورد سطوح دسترسی اعضای کلاس توضیحاتی ارائه شد. در این درس سعی می کنیم شما رو با دو مفهوم بسیار مهم در برنامه نویسی شیئ گرا آشنا کنیم. مفاهیم Overload و Override هرچند بسیار شبیه به هم هستند، اما در ادامه، ضمن توضیح در مورد معنی این دو کلمه، به بررسی تفاوت های آنها می پردازیم.

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

سلام...

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

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

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

سلام...

پیرو درخواست های مکرر برخی دوستان ، مبنی بر آموزش ساخت رابط کاربری برنامه "8 وزیر" در محیط گرافیکی #C ، تصمیم گرفتم این مطلب رو به همین موضوع اختصاص بدم. البته قطعا این مبحث زود هنگام در بلاگ قرار گرفت و امکان اینکه برای برخی از دوستان مبتدی ، درک این مفاهیم مشکل باشد، وجود دارد. قبلا از بقیه دوستان عذر خواهی می کنم.

ما در این درس قصد داریم برنامه ای بسازیم که در آن 64 شیء PictureBox وجود داشته باشد. هر کدام از این اشیاء دارای خصوصیات و رفتارهای مربوط به خود باشد (متمایز از بقیه اشیاء). اما قرار دادن 64 کنترل (شیئ) PictureBox روی فرم برنامه بصورت دستی و از طریق Toolbox ، کار طاقت فرسایی به نظر می‌رسد. بنابراین راهی جز تولید این 64 کنترل با استفاده از کدنویسی وجود ندارد.

در زبان برنامه نویسی #C دات نت ، با هر چیزی بصورت یک شیئ برخورد می شود. هرچیزی! هر شیئ دارای یک کلاس هست که قالب و طرح کلی آن شیئ را در خود دارد. برای مثال شیئ آچار دارای یک قالب ریخته‌گری است، که با ریختن مواد مذاب در داخل آن ، آچار بوجود می آید.

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

سلام. عذرخواهی می کنم بابت تأخیری که برای نوشتن درس جدید داشتم. یه مشغولیت هایی داشتم که باعث شد نتونم به موقع درخدمتتون باشم.

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

متدهای بی‌نام

تا اینجا، شما دیده اید که می‌توانید از متدهای نمونه یا متدهای استاتیک برای نمونه سازی delegate استفاده کنید. در هرصورت، متد بخودی خود می‌تواند از قسمت های دیگر کد بصورت صریح فراخوانی شود و البته باید عضوی از یک کلاس یا ساختار باشد.

اگر متد تنها برای نمونه سازی delegate استفاده شده باشد چطور؟ در چنین شرایطی، بجز اینکه به نیازمندی های نحوی و املائی برای ساختن delegate احتیاج داریم، در واقع نیازی به ساختن یک متد با نام جداگانه وجود ندارد. متدهای بی نام به شما اجازه می‌دهند که از ساختن متدهای نامدار بیهوده جلوگیری کنید.

  • یک متد بی نام، متدی است که در محل نمونه سازی delegate ، اعلان می‌شود.

برای نمونه، شکل زیر دو نسخه از یک کلاس یکسان را نشان می‌دهد. نسخه سمت چپ یک متد به نام Add20 را اعلان و استفاده می‌کند. نسخه سمت راست بجای آن از متد بی نام استفاده می‌کند. قسمت هایی از کد که سایه گذاری نشده، کاملا برابر هستند.

حذف متدها از delegate

شما همچنین می توانید یک متد را با استفاده از عملگر =- از delegate حذف کنید. تکه کد زیر طرز استفاده از این عملگر را نشان می دهد. شکل زیر نتیجه اجرای کد را نشان می دهد.

delVar -= SCl.m3; // Remove the method from the delegate.

پس از حذف متد از delegate شکل بصورت زیر در می آید.

انتساب delegate ها

به این دلیل که delegate ها نوع های مرجع هستند، شما می توانید ارجاع گنجانده شده در یک  متغیر وکالتی را با انتساب یک ارجاع به آن متغیر وکالتی تغییر دهید. شیئ وکالتی قدیمی توسط زباله روب (Garbage Collector) عزل خواهد شد.

برای مثال، کد زیر مقدار delVar را تنظیم کرده سپس آنرا تغییر می دهد. شکل زیر این موضوع را نشان می دهد.

MyDel delVar;
delVar = myInstObj.MyM1; // Create and assign the delegate object.
...
delVar = SClass.OtherM2; // Create and assign the new delegate object.