ابتکار عمل - بنیاد ولفرام
- دنیای ریاضی
- ریاضیات مبتنی بر رایانه
- یک نوع جدید از علم
- فناوری Wolfram برای هکاتون ها
- برنامه سفیر دانشجویی
- Wolfram برای استارتاپ ها
- پروژه تظاهرات
- جوایز مبتکر Wolfram
- Wolfram + تمشک پی
- برنامه های تابستانی
- بیشتر.



_ ("خالی") مخفف هر چیزی است. x _ ("x خالی") مخفف هر چیزی است ، اما آن را x می نامد. _ H مخفف هر چیزی با Head H است. و X _ H مخفف هر چیزی با Head H است و آن را x می نامد.
تابعی را تعریف کنید که استدلال آن یک عدد صحیح به نام n است: 
عملکرد هر زمان که استدلال یک عدد صحیح باشد ارزیابی می شود: 

Give a definition which only applies when n>0 : 
این تعریف در مورد اعداد منفی اعمال نمی شود: 

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

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

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


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

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


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


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


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



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



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

| پات /مجرای | الگویی که اگر یک شرط برآورده شود مطابقت دارد |
| ___ | الگویی برای هر دنباله ای از عناصر صفر یا بیشتر ("خالی سه گانه") |
| پت .. | الگویی برای یک یا چند تکرار پات |
| طولانی ترین [پت] | الگویی که طولانی ترین دنباله ای را که مطابقت دارد انتخاب می کند |
| 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 قدم می زند.