معرفی الگوهای کلاسیک

ساخت وبلاگ
  • محصولات و خدمات
      • Wolfram | یکی
      • ریاضیات
      • Wolfram | Alpha Notebook Edition
      • پلت فرم مالی
      • مدل کننده سیستم
      • بازیکن ولفرام
      • موتور ولفرام
      • اسکناس
        • ابر خصوصی شرکت
        • برنامه ی سرور
        • Enterprise Mathematica
        • Wolfram | لوازم آلفا
        • مشاوره شرکت
        • مشاوره فنی
        • Wolfram | راه حل های تجاری آلفا
        • سیستم منابع
          • مخزن داده ها
          • مخزن خالص عصبی
          • مخزن عملکردی
          • Wolfram | Alpha Pro
          • مولد مشکل
          • API
          • محصولات برای آموزش
          • برنامه های همراه
            • بازیکن ولفرام
            • برنامه Cloud Wolfram
            • Wolfram | آلفا برای تلفن همراه
            • Wolfram | برنامه های آلفا
            • پشتیبانی از پروژه پرداخت شده
            • Wolfram U
            • برنامه های تابستانی
              • مهندسی ، تحقیق و توسعه
                • هوافضا و دفاع
                • مهندسی شیمی
                • سیستمهای کنترل
                • مهندسی برق
                • پردازش تصویر
                • مهندسی صنایع
                • مهندسی مکانیک
                • تحقیق در عملیات
                • بیشتر.
                • امور مالی ، آمار و تجزیه و تحلیل تجارت
                  • علوم محوری
                  • بیوانفورماتیک
                  • علم داده ها
                  • اقتصاد سنجی
                  • مدیریت ریسک مالی
                  • آمار
                  • بیشتر.
                  • تحصیلات
                    • همه راه حل های آموزش
                    • فراگیری ماشین
                    • علوم داده چند منظوره
                    • محاسبات با کارایی بالا
                    • چارچوب محاسبه کوانتومی
                    • نرم افزار و وب
                      • توسعه نرم افزار
                      • تألیف و انتشار
                      • توسعه رابط
                      • توسعه وب
                      • ستاره شناسی
                      • زیست شناسی
                      • علم شیمی
                      • بیشتر.
                        • یادگیری
                          • مستندات زبان Wolfram
                          • معرفی سریع برای برنامه نویسان
                          • Wolfram U
                          • فیلم و صفحه نمایش
                          • کتاب مقدماتی زبان Wolfram
                          • وبینارها و آموزش
                          • برنامه های تابستانی
                          • کتاب
                          • کمک خواستن؟
                            • سؤالات متداول
                            • جامعه ولفرام
                            • پشتیبانی تماس با ما
                            • حمایت حق بیمه
                              • پشتیبانی از پروژه پرداخت شده
                              • مشاوره فنی
                                • در باره
                                  • پیشینه شرکت
                                  • وبلاگ Wolfram
                                  • مناسبت ها
                                  • با ما تماس بگیرید
                                  • با ما همکاری کنید
                                    • مشاغل در Wolfram
                                    • دوره کارآموزی
                                    • سایر مشاغل زبان Wolfram
                                    • ابتکار عمل
                                      • بنیاد ولفرام
                                      • دنیای ریاضی
                                      • ریاضیات مبتنی بر رایانه
                                      • یک نوع جدید از علم
                                      • فناوری Wolfram برای هکاتون ها
                                      • برنامه سفیر دانشجویی
                                      • Wolfram برای استارتاپ ها
                                      • پروژه تظاهرات
                                      • جوایز مبتکر Wolfram
                                      • Wolfram + تمشک پی
                                      • برنامه های تابستانی
                                      • بیشتر.

                                      An Elementary Introduction to the Wolfram Language

                                      _ ("خالی") مخفف هر چیزی است. x _ ("x خالی") مخفف هر چیزی است ، اما آن را x می نامد. _ H مخفف هر چیزی با Head H است. و X _ H مخفف هر چیزی با Head H است و آن را x می نامد.

                                      تابعی را تعریف کنید که استدلال آن یک عدد صحیح به نام n است:

                                      Click for copyable input

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

                                      Click for copyable input

                                      Give a definition which only applies when n>0 :

                                      Click for copyable input

                                      این تعریف در مورد اعداد منفی اعمال نمی شود:

                                      Click for copyable input

                                      /می تواند به هر جایی برود - حتی در پایان کل تعریف. موارد مختلف عملکرد چک را تعریف کنید:

                                      Click for copyable input

                                      Click for copyable input

                                      برخی از نمونه های عملکرد چک:

                                      Click for copyable input

                                      __ ("دو برابر خالی") مخفف هر دنباله ای از یک یا چند استدلال است. ___ ("سه برابر خالی") برای صفر یا بیشتر است.

                                      تابعی را تعریف کنید که به دنبال سیاه و سفید (به این ترتیب) در یک لیست باشد. این الگوی با رنگ سیاه و سفید و هر عناصر قبل ، بین و بعد از آنها مطابقت دارد:

                                      Click for copyable input

                                      Click for copyable input

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

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

                                      Click for copyable input

                                      اکنون M عناصر را تا آخرین رنگ سفید می گیرد:

                                      Click for copyable input

                                      x | y | z Matches x ، y یا z. X .. با هر تعداد تکرار x مطابقت دارد. BWCUT به طور موثری طولانی ترین کار را شامل می شود که فقط سیاه و سفید است:

                                      Click for copyable input

                                      Click for copyable input

                                      الگوی X_ در واقع برای x: _ کوتاه است ، که به معنی "مطابقت با هر چیزی (یعنی _) و نام x" است. می توانید از نمادهایی مانند X استفاده کنید: برای الگوهای پیچیده تر نیز.

                                      الگویی به نام M را تنظیم کنید که با لیستی از دو جفت مطابقت داشته باشد:

                                      Click for copyable input

                                      Click for copyable input

                                      دنباله سیاه و سفید را نامگذاری کنید ، بنابراین می توان در نتیجه استفاده کرد:

                                      Click for copyable input

                                      Click for copyable input

                                      اولین عناصر را که توسط مواردی که به ترتیب انجام می شود ، جایگزین کنید:

                                      Click for copyable input

                                      Click for copyable input

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

                                      Click for copyable input

                                      ListlinePlot هر لیست را با رنگ دیگری ترسیم می کند ، نشان می دهد که چگونه روند مرتب سازی ادامه می یابد:

                                      در اینجا نتیجه برای مرتب سازی یک لیست تصادفی تصادفی 20:

                                      Click for copyable input

                                      پات /مجرای الگویی که اگر یک شرط برآورده شود مطابقت دارد
                                      ___ الگویی برای هر دنباله ای از عناصر صفر یا بیشتر ("خالی سه گانه")
                                      پت .. الگویی برای یک یا چند تکرار پات
                                      طولانی ترین [پت] الگویی که طولانی ترین دنباله ای را که مطابقت دارد انتخاب می کند
                                      FixpointList [f ، x] تا زمانی که نتیجه دیگر تغییر نکند ، لانه سازی را نگه دارید

                                      41. 1 لیست ارقام برای مربع تعداد کمتر از 100 را پیدا کنید که حاوی رقم های مکرر پی در پی هستند.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 2 در 100 عدد اول رومی ، مواردی را که شامل L ، I و X هستند به این ترتیب پیدا کنید.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 3 تابعی را تعریف کنید که آزمایش می کند که آیا لیستی از اعداد صحیح همان است که برعکس آن است.»

                                      بدون خروجی مورد انتظار بسیاری از راه حل های ممکن فرم _: = _ یا _ = _

                                      پاسخ و بررسی راه حل خود

                                      41. 4 لیستی از جفت کلمات پی در پی در مقاله ویکی پدیا را در مورد تمایلات که دارای حروف اول یکسان هستند ، دریافت کنید.»

                                      نمونه خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 5 از شبکه برای نشان دادن روند مرتب سازی در این بخش استفاده کنید ، و مراحل پی در پی در صفحه پایین می رود.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 6 از ArrayPlot برای نشان دادن فرآیند مرتب سازی در این بخش برای لیستی از طول 50 استفاده کنید ، و مراحل پی در پی در صفحه انجام می شود.»

                                      نمونه خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 7 با 1. 0 شروع کنید ، سپس به طور مکرر عملکرد "روش نیوتن" را اعمال کنید (#+2/#)/2 و تا زمانی که نتیجه دیگر تغییر نکند.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 8 الگوریتم اقلیدس را برای GCD پیاده سازی کنید که در آن بارها و بارها جایگزین می شود تا B 0 باشد و الگوریتم را در 12345 ، 54321 اعمال کنید.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 9 ترکیبات را با استفاده از قوانین s [x _] [y _] [z_] uf522 x [z] [y [z]] ، k [x _] [y_] uf522 x تعریف کنید ، سپس با شروع با s [s] [لیست تولید کنید. k] [s [s [s]] [s]] [s] و اعمال این قوانین تا زمانی که هیچ چیز تغییر نکند.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 10 همه Trailing 0 را از لیست رقم برای 100 حذف کنید! بشر»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 11 شروع از<1, 0>سپس برای 200 مرحله به طور مکرر 2 عنصر اول را حذف کنید و اگر عنصر اول 1 است و ضمیمه کنید<1, 0, 0>اگر 0 باشد و لیستی از طول توالی های تولید شده (سیستم برچسب) دریافت کنید.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      41. 12 شروع از<0, 0>سپس برای 200 مرحله به طور مکرر 2 عنصر اول را حذف کنید و اگر عنصر اول 0 باشد ، اگر عنصر اول 1 باشد ، اضافه کنید و<0, 2, 1, 2>اگر 2 باشد ، و یک طرح خط از طول توالی های تولید شده (سیستم برچسب) ایجاد کنید.»

                                      خروجی مورد انتظار:

                                      پاسخ و بررسی راه حل خود

                                      سایر سازه های الگوی در زبان Wolfram چیست؟

                                      به جز [پت] با هر چیزی به جز پات مطابقت دارد. الگوی توالی [PATT] با دنباله ای از آرگومان ها در یک تابع مطابقت دارد. سفارش بی نظیر [پت] به هر ترتیب با آنها مطابقت دارد. f [x_: v] v را به عنوان یک مقدار پیش فرض تعریف می کند ، بنابراین f [] همسان است ، با x بودن v.

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

                                      سرانجام متوقف می شود. گزینه ای وجود دارد که می گوید تا چه حد پیش می رود. FixpointList [F ، X ، N] حداکثر مراحل N متوقف می شود.

                                      • در یک الگوی تکراری پت .. ، فراموش نکنید که فضایی را به عنوان مثال بگذارید. 0 .. برای جلوگیری از سردرگمی با اعداد اعشاری.
                                      • توابع می توانند ویژگی هایی داشته باشند که بر نحوه عملکرد تطبیق الگوی تأثیر می گذارد. به عنوان مثال ، Plus دارای ویژگی های مسطح و بدون سفارش است. تخت به این معنی است که B+C را می توان از A+B+C+D بیرون کشید. بدون سفارش به این معنی است که می توان عناصر را مرتب کرد ، بنابراین می توان A+C را بیرون کشید.(مسطح مانند خاصیت ریاضی همکار است ؛ بی نظم مانند رفت و آمد.)
                                      • الگوریتم برای مرتب سازی نشان داده شده معمولاً مرتب سازی حباب نامیده می شود. برای لیستی از طول n ، به طور معمول در مورد n ^2 مرحله انجام می شود. نوع عملکرد زبان Wolfram بسیار سریعتر است و فقط کمی بیش از N قدم می زند.
فارکس به زبان ساده...
ما را در سایت فارکس به زبان ساده دنبال می کنید

برچسب : نویسنده : طاهره ایرانی بازدید : <-PostHit-> تاريخ : سه شنبه 3 مرداد 1402 ساعت: 11:52