اثر پروانه ای

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

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

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

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

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

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

سوال: برنامه‌ای بنویسید که ابتدا تعداد عناصر یک آرایه را از ورودی دریافت کرده سپس اعداد آرایه را از ورودی بگیرد. اگر عدد تکراری وارد شد پیغام تکراری بودن دهد.

برای نوشتن این برنامه، یک متد به نام isTekrari ساخته‌ایم. کار این متد جستجو در آرایه و پیدا کردن یک عدد خاص است. اگر این عدد در آرایه پیدا شود، متد مقدار true برمی‌گرداند و در غیر اینصورت false. این متد، یک آرایه و یک عدد را به عنوان آرگومان های ورودی خود، دریافت می‌کند.

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

به لیست برنامه دقت کنید:

using System;

namespace qa01
{
    class Program
    {
        static bool isTekrari(int[] a, int b)
        {
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i]==b)
                {
                    return true;
                }
            }
            return false;
        }
        static void Main(string[] args)
        {
            int n=0, inp=0;
            int.TryParse(Console.ReadLine(), out n);
            int[] ar=new int[n];
            for(int i=0;i<n;)
            {
                int.TryParse(Console.ReadLine(), out inp);
                if (!isTekrari(ar, inp))
                {
                    ar[i] = inp;
                    i++;
                }
                else
                {
                    Console.WriteLine("Tekrari");
                    continue;
                }
            }
            Console.Clear();
            for (int i = 0; i < ar.Length; i++)
            {
                Console.Write("{0} ", ar[i]);
            }

            Console.ReadKey();
        }
    }
}
درصورتی که هر سوالی در رابطه با این برنامه دارید، در قسمت نظرات، مطرح بفرمایید.

سلام

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

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

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

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

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