دانلود مقاله زبان برنامه نویسی SML
|
||||||||||||||
فهرست مطالب : مقدمه برنامه نویسی چیست؟ مرور کلی چرا برنامه نویسی تابعی مهم است کاربرد SML در طراحی صفحات وب منابع و ماخذ . چکیده : اس امال SML یک زبان برنامهنویسی تابعی همه منظوره است که توسط رابین میلنر و همکاران در اواخر دهه ۱۹۷۰ در دانشگاه ادینبورگ توسعه یافت. قواعد دستوری آن از ISWIM الهام گرفته است. کلمه ML از فوق زبان (Meta Language) گرفته شده است. امال معمولاً به عنوان یک زبان تابعی ناخالص یاد میشود. چرا که به اثرات جنبی ، اجازه میدهد و بنابراین برنامه نویسی امری، بر خلاف زبان برنامه نویسی تابعی خالص مانند هاسکل. به همین دلیل امال یک زبان برنامهنویسی چند نمونهای (multi-paradigm) نیز عنوان میشود. امروزه زبانهای مختلفی در خانواده امال است دو گویش اصلی آن ام ال استاندارد و Caml است. اما بقیه شامل F# که یه پروژهٔ تحقیق باز که هدف .NET شرکت مایکروسافت بود نیز وجود دارند. کلمات کلیدی : SML-ML-برنامه نویسی- برنامه نویسی تابعی-برنامه نویسی رویه ای
مقدمه : برنامه نویسی چیست؟ برنامه نویسی را می توان به یک بازی هوش تشبیه کرد ، بازی بر روی داده ها و متغیرها با استفاده از دستورات و ابزارهای برنامه نویسی که در اختیار ما گذاشته شده است . در این بازی ابتدا باید ابزراهای مورد نیاز خود ، جهت نوشتن برنامه ای خاص را انتخاب کرده سپس باید ابزارها را به گونه ای در کنار هم قرار دهیم و به گونه ای با ابزارها بر روی داده ها و متغیرها کار کنیم تا به هدف مورد نظر برسیم . بنابراین باید در ابتدا ، شناخت کافی بر روی ابزارها و کاربرد آنها داشته باشیم که تجربه نشان داده این یادگیری برای دانشجویان ، چندان دشوار نیست و اکثر دانشجویان قادر به درک ابزارها و دستوراتی مانند if یا while و غیره می باشند . اما نکته مهم این است که پس از تسلط بر روی ابزارها ، تازه بازی آغاز می شود و ما تنها بر قوانین بازی و ابزارهای موجود شناخت پیدا کرده ایم . اینجاست که برخی دانشجویان دچار مشکل می شوند و قادر به استفاده مناسب از ابزارها و بسط دادن آنها در کنار یکدیگر جهت رسیدن به هدف نهایی برنامه نمی باشند . در این مرحله دانشجویان باید دارای یک روحیه الگوریتمی شوند بدین معنی که توانایی تفکیک مراحل ، جهت رسیدن به پاسخ را داشته باشند . کمتر دانشجویی است که بدون تمرین و ممارست به این روحیه دست پیدا کند . از علائم ورود یک دانشجو به دنیای برنامه نویسی شوق و اشتیاق او جهت یافتن تمرینهای جدید برنامه نویسی است و چنین دانشجویی با پشتکار خود می تواند یک برنامه نویس حرفه ای شود تعریف SML همانطور که گفته شد امال (به انگلیسی: ML)، یک زبان برنامهنویسی تابعی همه منظوره است که توسط رابین میلنر و همکاران در اواخر دهه ۱۹۷۰ در دانشگاه ادینبورگ توسعه یافت. نحو این زبان از زبان برنامهنویسی آیسوییم الهام گرفته است. کلمه ML از فوق زبان (Meta Language) گرفته شده است. امال برای بهبود بخشیدن به رویه اثبات در قضیه LFC طراحی شده است. این برای کاربرد آن در الگوریتم استنتاج نوع هیندلی- میلنر که به طور خودکار اکثر عبارتها بدون نیاز به تفسیر نوع صریح شناخته شده است. مرور کلی امال معمولاً به عنوان یک زبان تابعی ناخالص یاد میشود. چرا که به اثرات جنبی و بنابراین برنامه نویسی امری، بر خلاف زبان برنامه نویسی تابعی خالص مانند هاسکل، اجازه میدهد. به همین دلیل امال یک زبان برنامهنویسی چند نمونهای (multi-paradigm) نیز عنوان میشود. خصوصیات امال شامل استراتژی سنجش فراخوانی با مقدار (call – by – value)، توابع درجه یک، مدیریت حافظه خودکار در مواجه با مجموعه دادههای ناخواسته، چندریختی پارامتریک و انواع پویا، انواع استنتاج، انواع دادههای جبری، ازمون الگو و جابه جایی استثناء است. برخلاف هاسکل، امال از ارزیابی مشتاق استفاده میکند به این معنا که تمام عبارات همگی ارزیابی میشوند. در نتیجه شما نمیتوانید مستقیماً از لیستهای نامحدود استفاده کنید. هرچند ارزیابی کند و بنابراین ساختمان دادههای نامحدود مانند لیستها میتوانند به واسطهٔ توابع بی نام شبیه سازی شوند. امروزه زبانهای مختلفی در خانواده امال است دو گویش اصلی آن امال استاندارد و Caml است. اما بقیه شامل F# که یه پروژهٔ تحقیق باز که هدف .NET شرکت مایکروسافت بود نیز وجود دارند. ایدههای امال در زبانهای بی شماری نفوذ کرده است مانند هاسکل و Cyclone و Nemerle. از تواناییهای امال معمولاً در طراحی زبان بکار برده میشود (کامپایلرها، استفاده برای تحقیقات زیستی، سیستمهای مالی و کاربردها شامل پایگاه دادههای شجره نامه ها، برنامهٔ سرویس دهنده / سرویس گیرنده نظیر به نظیر. مثال هایی از اس امال SML تشریح برنامهٔ امال خالص برنامهٔ Hello world! یک زبان تابعی، تابع فاکتوریل است. به عنوان یک امال خالص: fun fac (0 : int) : int = 1 | fac (n : int) : int = n * fac (n-1) این فاکتوریل را به عنوان یک تابع بازگشتی با یک وضعیت پایه (base case) محدود توصیف میکند. این شبیه تعاریف فاکتوریل یافت شده در کتابهای درسی ریاضیات است. بسیاری از کدهای ML از نظر امکانات و نحو نیز شبیه ریاضیات است. قسمتی از تعریف نشان داده شده اختیاری است و نوع این تابع را تعریف میکند. نشانه گذاری E: میتواند به عنوان عبارت E که دارای نوع t هست تلقی شود. برای مثال متغیر n، برای نوع صحیح (integer) است و نتیجهٔ اجرای fac برای n (fac(n) ) هم نوع صحیح دارد. بنابراین تابع فاکتوریل تابعی از نوع صحیح به نوع صحیح ( int -> int ) است. به خاطر نوع استنتاج، حاشیه نویسی نوع میتواند حذف شود و توسط کامپایلر نتیجه گیری شود. بازنویسی بدون درج نوع مانند مثال: fun fac 0 = 1 | fac n = n * fac (n-1) تابع همچنین وابسته به آزمون الگو است و این یک بخش مهم برنامه نویسی ML است. توجه کنید که پارامترهای تابع لزوماً در پرانتز نیستند اما حتماً توسط فاصله گذاری جدا شده اند. زمانی که متغیر ورودی تابع ۰ است، تابع نوع صحیح ۱ برمی گرداند، برای حلات دیگر خط دوم اجرا خواهد شد. این خط بازگشتی است و تابع را دوباره فراخوانی و اجرا میکند تا زمانی که به وضعیت پایه برسد. زبان برنامه نویسی SML (فایل کامل این پروژه ۳۱( سی و یک) صفحه word همراه با منابع و ماخذ می باشد.) در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنی فایل پس از پرداخت.
|
زبان برنامه نویسی SML
توجه مهم :
*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت ۰۹۳۹۲۷۶۱۶۳۰ ارسال کنید *(از ساعت ۸ الی ۲۳)
دیدگاهتان را بنویسید