اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

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

  • ۲
  • ۰

مبانی کامپیوتر ++c / c

کیارش بازرگان

طبق نظرسنجی اینترنتی وی یکی از برترین و محبوب ترین اساتید دانشگاه مینسوتای امریکا ست . او تحصیلاتش را در دانشگاه صنعتی شریف در رشته الکترونیک شروع کرد و در ادامه به دانشگاه نورت-وسترن امریکا رفت . زمینه فعالیت اصلی او FPGA و VLSI میباشد . او هم اکنون دانشیار دانشگاه مینسوتای امریکاست. همچنین وی استاد مدعو در دانشگاه صنعتی اصفهان بوده است.


دانشکده برق و کامپیوتر و فن آوری اطلاعات - دانشگاه صنعتی اصفهان

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


کتاب پیشنهادی درس : 

برنامه نویسی به زبان C++، نویسندگان دایتل و دایتل، ترجمه دکتر مرتضی صاحب زمانی، نشر شیخ بهایی 



  1. درسنامه - مقدمه - اولین برنامه سی پلاس پلاس - آشنایی با درستورهای ورودی و خروجی و محاسباتی - آشنایی با عملیات debug کردن برنامه
  2. آشنایی عمیق تر با دستورهای ورودی و خروجی - آشنایی با ساختار شرطی if-else if-else و بلوک کد و اسکوپ
  3. روال تبدیل نوع ها و Casting - آشنایی بیشتر با ساختار شرطی if
  4. ترکیب شرط ها در ساختار if - تقدم و اولویت عملیات شرطی - عملگرهای منطقی
  5. عبارت ها - Casting - مقدمه ای بر ترجمه زبان c به زبان اسمبلی - تفاوت نسخه release و debug - در مورد printf و scanf
  6. ساختار goline - ساختار تکرار while
  7. Quiz
  8. مسأله پیدا کردن اعداد اول
  9. استفاده از ساختار تکرار while در برنامه های مختلف - برنامه محاسبه میانگین نمرات n دانشجو
  10. برنامه محاسبه دنباله ها و سری ها - ساختار تکرار for
  11. آشنایی عمیق تر با ساختار for - نوع char - برنامه جدول ضرب
  12. کار با فایل - پیدا کردن مینیمم و ماکسیمم n عدد - آرایه - آرایه های چند بعدی
  13. اشاره گرها - مبنای 2 و نمایش عددی در کامپیوتر
  14. تبدیل مبناها
  15. کلمه کلیدی continue - مساله میزان تولید گندم - مساله بدست آوردن رمز
  16. اشاره گرها - طرز ذخیره شدن آرایه های چندبعدی
  17. عملگرهای مختلف - پیش پردازنده define - آشنایی بیشتر با اشاره گرها - عملگر انتساب شرطی
  18. struct ها - تابع ها - ارسال پارامتر به تابع - مقدمه گرافیک
  19. برنامه تغییر bmp - آرگومان های main - ایجاد توابع
  20.  نمایش تصاویر 3بعدی (3D) با عینک آبی و قرمز - برگرداندن آرایه و struct از تابع - جمع کردن آرایه ها
  21. مساله گندم سالیانه - متغیرهای Global و سراسری - محاسبه فاکتوریل - تابع بازگشتی Recursive
  22. محاسبه توان - بدست آوردن طول رشته
  23. آموزش دیباگ کردن - دستورهای malloc و sizeof - دستور exit - دستور free - استفاده دینامیک از حافظه - دستور new - دستور delete - توابع رشته‌ای
  24. ادامه رشته ها - مثال های مربوط به تخصیص حافظه
  25. ادامه رشته ها - مثالهای پیچیده ای از malloc  و new
  26. باز هم رشته ها
  27. مرتب سازی سریع - لیست پیوندی (Linked List)
  28. ادامه لیست پیوندی
  29. مبحث فایل ها
  30. مقدمات برنامه نویسی شیئ گرا
  31. کلاس (class) - شیئ (Object)
  32. طراحی بر اساس class
  33. ادامه مبحث class - استفاده از هدرفایل های دست ساز
  34. ادامه جلسه قبل (مساله اعداد مختلط) - تعریف عملگر - وراثت
  35. وراثت - چندریختی - کتابخانه STL
  36. ادامه STL

لطفا برای دانلود فیلم آموزشی، به ادامه مطب بروید

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

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

سلام.

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

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

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

اجازه دهید کمی در مورد فاکتوریل صحبت کنیم. (هرچند این صحبت، حاشیه ای بر این درس هست) به احتمال زیاد با این تابع ریاضی آشنایی دارید، اما برای عزیزانی که آشنایی ندارند کمی توضیح می‌دهم. فاکتوریل عدد n بصورت زیر محاسبه می شود: 

n! = 1 × 2 × 3 × 4 × ... × n-2 × n-1 × n

به عبارت دیگر، اعداد 1 تا n را در هم ضرب می کنیم.

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

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

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

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

  • غلامعلی حسینی بهجانی
  • ۲
  • ۰
"هدف این کتاب آموزش مهارت های اصولی و ساختار زبان برنامه نویسی #C می باشد. اصولا" بیش تر کتاب ها برنامه نویسی را به وسیله متن توضیح می دهند که این روش برای افراد تازه کار خیلی سنگین می باشد، درصورتی که میزان زیادی از مفاهیم برنامه نویسی می توانند با ترکیبی از کلمات و تصاویر و جداول گیرایی بهتری را داشته باشند.
بیشتر ما بصری فکر می کنیم و تصاویر و جداول می توانند ما را در درک بهتر مفاهیم یاری کنند.
در چندین سال آموزش برنامه نویسی ، فهمیده ام که تصاویری را که بر روی وایت بورد رسم می کردم یکی از سریع ترین چیزهایی بوده است که دانش آموزان را در فهم مفاهیمی که قصد آموزش آن را داشتم، کمک می کرده است.
به هرحال تنها تصاویر آموزشی برای تشریح زبان و پایگاه برنامه نویسی کافی نیستند. هدف از کتاب پیدا کردن بهترین ترکیب از کلمات و تصاویر می باشد تا به شما یک درک کامل از زبان بدهد و قابلیت استفاده به عنوان یک مرجع خوب را داشته باشد.
این کتاب برای هرکس که علاقه به یادگیری مباحثی راجع به زبان #C دارد، از برنامه نویسان مبتدی گرفته تا برنامه نویسان حرفه ای که چندین سال با زبان های برنامه نویسی کار کرده اند، نوشته شده است."
چند پاراگراف بالا مقدمه نویسنده کتاب حاضر است که متأسفانه نمی دانم اسم نویسنده محترم این کتاب چیست. اما با نگاهی گذرا به نظرم رسید که کتاب مفیدی باشد. این شد آنرا برای دانلود در وبلاگ قرار دادم. امیدوارم مفید واقع شود.

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

حلقه 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
     */

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

کلیدواژه volatile

کلمه کلیدی volatile (فرّار) نشان می دهد که یک فیلد می تواند توسط چندین ریسمان (thread) که همزمان درحال اجرا هستند، دستکاری شود. فیلدهایی که بصورت volatile اعلان شده اند، مورد بهینه سازی های کامپایلری ای که فرضشان دسترسی تک ریسمانی است قرار نمی گیرند. این کار تضمین می کند که مقدار فیلد در همه زمان ها به روز ترین مقدار است.

اصلاحگر volatile معمولا" برای فیلدی که بدون بیان lock توسط چندین ریسمان مورد دسترسی قرار می گیرد، استفاده می شود.

کلمه کلیدی volatile را می توان رو فیلدهایی از نوع های زیر اعمال کرد:

  • نوع های مرجع.
  • نوع های اشاره گر (در یک زمینه نا امن (unsafe contenxt)). توجه کنید که با اینکه اشاره گر خودش می تواند volatile باشد، شیئی که اشاره گر به آن اشاره می کند نمی تواند volatile باشد. به بیانی دیگر، شما نمی توانید "اشاره گر به volatile" اعلان کنید.
  • نوع هایی مثل sbyte، byte، short، ushort، int، uint، char، float و bool.
  • نوع شمارشی ای که نوع پایه آن یکی از نوع های byte، sbyte، short، ushort، int یا uint باشد.
  • پارامتر نوع جنریکی که بصورت نوع مرجع شناخته شده باشد.
  • IntPtr و UIntPtr .

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

کلیدواژه virtual

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

public virtual double Area() 
{
    return x * y;
}

پیاده سازی یک عضو مجازی (virtual) را می توان توسط عضو رونویسی کننده در یک کلاس مشتق شده، عوض کرد.

ملاحظات

وقتی یک متد مجازی فراخوانی می شود، نوع زمان-اجرای آن شیئ برای عضو رونویسی کننده بررسی می شود. عضو رونویسی کننده، در کلاس مشتق شده فراخوانی می شود، که ممکن است همان عضو اصلی باشد (اگر هیچ کلاس مشتق شده ای، آن عضو را رو نویسی نکرده باشد).

بطور پیش فرض، متدها غیر-مجازی هستند. شما نمی توانید متد غیر مجازی را رونویسی کنید.

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

بیان using

یک املاء (syntax) راحت که درستی استفاده از اشیاء IDisposable را تضمین میکند را ارائه می دهد.

مثال

مثال زیر چگونگی استفاده از بیان using را نشان می دهد.

using (Font font1 = new Font("Arial", 10.0f)) 
{
    byte charset = font1.GdiCharSet;
}

ملاحظات

File و Font نمونه هایی از نوع های مدیریت شده (managed) هستند که منابع مدیریت نشده (unmanaged) را دستیابی می کنند (در این مورد دستگیره های فایل و زمینه ها دستگاه (دستگاهی که قرار است فونت در آنجا به نمایش در بیاید)) انواع گوناگون دیگری از منابع مدیریت نشده و نوع های کتابخانه کلاسی که آنها را کپسوله می کنند وجود دارد. همه ی چنین نوع هایی باید رابط IDisposable را پیاده سازی کنند.

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

رهنمون using

رهنمون using دو کاربرد دارد:

  • اجازه می دهد تا از نوع هایی که در فضای نام های دیگری تعریف شده اند به گونه ای استفاده کنیم که نیاز به نوشتن نام کامل آنها نباشد:
    using System.Text;
  • برای ساختن یک نام مستعار برای یک فضای نام یا یک نوع؛ که به آن "using رهنمون نام مستعار" می گویند.
    using Project = PC.MyCompany.Project;

کلمه کلیدی using همچنین برای ساختن "بیان using" استفاده می شود که کمک می کند مطمئن شویم اشیاء IDisposable مانند فایل ها و فونت ها بدرستی مدیریت می شوند. برای اطلاعات بیشتر بیان using را ببینید.

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

کلمه کلیدی using

کلمه کلیدی using دو کاربرد عمده دارد:

  • به عنوان رهنمون (directive) وقتی که از آن برای ساختن یک نام مستعار برای یک فضای نام (namespace) استفاده می شود. یا برای وارد کردن نوع های تعریف شده در یک فضای نام دیگر به داخل فضای نام فعلی. رهنمون using را ببینید.
  • بصورت بیان، وقتی که این کلمه کلیدی یک حوزه (scope) را در آخر زمانی که یک شیئ می خواهد از بین برود، تعریف می کند. بیان using را ببینید.

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