زبانها و دستور زبانهای رسمی نرم افزار و پشتیبانی ریاضی نمونه های زبان های برنامه نویسی رسمی شده

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

· الفبای نمادهای قابل قبول و کلمات سرویس (کلیدی) ؛

· قوانین نحوی برای ساختن ساختارهای زبان قابل قبول از الفبا.

· معناشناسی تبیین معنا و هدف از ساخت زبان.

زبانهای برنامه نویسی برای نشان دادن راه حل مشکلات به گونه ای استفاده می شوند که بتوان آنها را در رایانه انجام داد.

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

برای اینکه برنامه ای که به زبان برنامه نویسی سطح بالا نوشته شده است در رایانه اجرا شود ، باید به زبان ماشین ترجمه شود. ابزار نرم افزاری که این عملکرد را انجام می دهد ، مترجم نامیده می شود.

مترجمبرنامه ای است که متن برنامه ای را که به یک زبان نوشته شده است می خواند و آن را به یک متن معادل به زبان دیگر (معمولاً زبان ماشین) ترجمه (ترجمه) می کند. دو نوع اصلی مترجم وجود دارد: کامپایلرهاو مترجمان.

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

مترجمدر نتیجه ترجمه ، عملیات مشخص شده در برنامه اصلی را انجام می دهد. در این حالت ، برنامه به زبان اصلی باقی می ماند و نمی تواند بدون مترجم برای اجرا اجرا شود.

تقسیم به زبان های تدوین شده و تفسیر شده تا حدودی دلخواه است. بنابراین ، برای هر زبان کامپایل شده سنتی ، مانند پاسکال ، می توانید یک مترجم بنویسید ، و برای هر زبان تفسیری ، می توانید یک کامپایلر ایجاد کنید - به عنوان مثال ، زبان BASIC ، که در اصل تفسیر شده است ، می تواند بدون هیچ محدودیتی کامپایل شود.

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

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

طبقه بندی زبان های برنامه نویسی می تواند بر اساس چندین معیار انجام شود: ماشین محور (مونتاژ کننده ها) و مستقل از ماشین ، تخصصی و جهانی.

زبانهای تخصصی شامل زبان ART ( آبه طور طبیعی پبرنامه ریزی شده تی ools) اولین زبان برنامه نویسی تخصصی برای ماشین آلات با کنترل عددی است. این زبان توسط گروهی از متخصصان آمریکایی در سالهای 1956-1959 توسعه داده شد. تحت راهنمایی ریاضیدان داگلاس تی راس. زبان COBOL ( شرکتمیلیون بکاربری - Oاجاره کرد العصبانیت) ، که در ایالات متحده تحت رهبری گریس موری هاپر در سال 1959 ایجاد شد ، بر پردازش اطلاعات اقتصادی متمرکز است. گریس موری هاپر ریاضیدان پروژه توسعه COBOL را با رتبه کاپیتان رتبه دوم رهبری کرد و بعداً دریادار عقب شد. G.M. هاپر "مادر و مادربزرگ" SOBOL نامیده می شود.


(گریس موری هاپر)

زبانهای تخصصی شامل زبانهای برنامه نویسی وب مدرن Perl و PHP است. زبان های Rapier ، E-language (روسیه) ، SMR (بریتانیای کبیر) ، LOGO (USA) را می توان به عنوان زبان هایی که برای آموزش برنامه نویسی در نظر گرفته شده اند طبقه بندی کرد.

رایج ترین زبانهای برنامه نویسی جهانی امروزه C ++ ، دلفی ، جاوا ، پاسکال ، ویژوال بیسیک ، پایتون هستند.

اما با در نظر گرفتن زبان های برنامه نویسی به عنوان یک موضوع مستقل از تحقیقات ، می توان آنها را با توجه به مفهوم ایجاد یک زبان طبقه بندی کرد.

طبقه بندی زبانهای برنامه نویسی

زبانهای برنامه نویسی به دو دسته رویه ای و غیر رویه ای تقسیم می شوند. رویه ای (امری ضروری) زبانها زبانهایی از نوع اپراتور هستند. شرح الگوریتم در این زبان به صورت دنباله ای از عملگرها است. ویژگی یک زبان رویه ای وجود اپراتور تخصیص (Basic ، Pascal، C) است. برنامه ای که به زبان دستورالعمل نوشته شده است بسیار شبیه دستورات دستور در زبانهای طبیعی است ، یعنی دنباله ای از دستورات است که کامپیوتر باید آنها را اجرا کند. هنگام برنامه نویسی به شیوه ای ضروری ، برنامه نویس باید به کامپیوتر توضیح دهد چگونهشما باید مشکل را حل کنید

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

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

زبانهای منطقی

در برنامه هایی که به زبان های برنامه نویسی منطقی نوشته شده اند ، اقدامات مربوطه تنها در صورتی انجام می شود که شرط مجاز لازم برای استخراج حقایق جدید از این حقایق طبق قوانین منطقی مشخص شده وجود داشته باشد. برنامه نویسی منطقی بر اساس منطق ریاضی است (نگاه کنید به " عملیات منطقی کمیسازها”, “عبارات بولی”).

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

آلن کلمرو
(آلن کلمراویر)

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

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

مادر ("داشا" ، "ماشا").

مادر ("ناتاشا" ، "داشا").

علاوه بر این ، یک قانون وجود دارد که مادربزرگ رابطه را معرفی می کند:

مادربزرگ (X ، Y): -

اکنون می توانیم درباره مادربزرگ این یا آن شخص یا نوه (نوه) یک زن خاص پرس و جو کنیم:

مادربزرگ (ناتاشا ، X).

سیستم PROLOG پاسخ این درخواست را به شرح زیر خواهد داد:

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

امروزه یک کلاس کامل از زبان های منطقی وجود دارد. بنابراین ، زبانهای برنامه نویسی منطقی QA-4 ، Popler ، Conniver و QLISP نیز از زبان برنامه ریز سرچشمه گرفته اند. زبانهای برنامه نویسی Mercury ، Visual Prolog ، Oz و Fril از زبان Prolog برخاسته اند.

زبانهای کاربردی

اولین زبان از نوع عملکردی ، زبان LISP است که در موسسه فناوری ماساچوست در 1956-1959 ایجاد شد. جان مک کارتی ، که در سال 1956 در کنفرانس دارتموث (ایالات متحده) اولین بار اصطلاح "هوش مصنوعی" را پیشنهاد کرد.

جان مک کارتی

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

پس از ظاهر شدن ، LISP دارای عناوین متعددی است که ویژگی های آن را منعکس می کند: زبان عملکرد ، زبان نمادین ، ​​زبان پردازش لیست ، زبان بازگشتی. از نظر طبقه بندی امروزی ، LISP به عنوان یک زبان برنامه نویسی از نوع کاربردی تعریف می شود که بر اساس روش محاسبه (روش محاسبه در دهه 30 قرن گذشته توسط A. Cherch به عنوان یک مدل ریاضی دقیق طراحی شده است) برای توابع قابل محاسبه ، مراجعه کنید. "نظریه الگوریتم ها").

برنامه ای که به زبان کاربردی نوشته شده است شامل مجموعه ای نامتعادل از معادلات است که توابع و مقادیری را که به عنوان توابع سایر مقادیر تعریف می شوند ، تعریف می کند. برنامه ها و داده های LISP در قالب عبارات نمادین وجود دارند که به عنوان ساختار لیست ذخیره می شوند. LISP با دو نوع شی سروکار دارد: اتم هاو لیست ها... اتمها نمادهایی هستند که برای شناسایی اشیایی که می توانند عددی یا نمادین باشند (مفاهیم ، مواد ، افراد و غیره) استفاده می شوند. یک لیست دنباله ای از صفر یا بیشتر عناصر است که در داخل پرانتز قرار گرفته است و هر یک از آنها یا یک اتم یا یک لیست است. سه عملیات ابتدایی بر روی لیست ها انجام می شود: بازیابی اولین عنصر لیست. دریافت بقیه لیست پس از حذف اولین عنصر ؛ ترکیب عنصر اول لیست L و بقیه لیست Q.

متون برنامه فقط به زبانهای برنامه نویسی کاربردی توصیف کردنروش حل مشکل ، اما دنباله ای از اقدامات را برای حل تجویز نکنید.

موارد زیر معمولاً ویژگیهای اصلی زبانهای برنامه نویسی کاربردی در نظر گرفته می شوند: اختصار و سادگی. تایپ قوی ؛ مدولار بودن ؛ توابع - اشیاء محاسبه ؛ خلوص (بدون عوارض جانبی) ؛ محاسبه معوق (تنبل)

علاوه بر LISP ، زبانهای کاربردی شامل REFAL (توسعه یافته در اواسط دهه 60 توسط V.F.Turchin در دانشگاه دولتی Lomonosov Moscow) ، Haskell ، Clean ، ML ، OCaml ، F #است.

در اینجا نمونه ای از شرح الگوریتم معروف شناخته شده است مرتب سازی سریعیک لیست در Haskell:

qsort (x: xs) = qsort elts_lt_x ++ [x]

Qsort elts_greq_x کجا

elts_lt_x =

elts_greq_x =

در اینجا می گوید که لیست خالی از قبل مرتب شده است. و مرتب کردن یک لیست غیر خالی به این معنی است که لیست را به سه قسمت تقسیم می کنیم: لیستی از عناصر کمتر از سر لیست اصلی ، سر لیست اصلی ([x]) ، و لیستی از عناصر در دم لیست لیست اصلی که بزرگتر یا مساوی x باشد.

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

زبانهای شی گرازبانهایی هستند که مفاهیم رویه و داده های مورد استفاده در سیستمهای برنامه نویسی معمولی با مفهوم "شی" جایگزین شده اند (مقاله را ببینید) برنامه نویسی شی گرا”). SmallTalk در خالص ترین حالت خود یک زبان برنامه نویسی شی گرا محسوب می شود ، امکانات برنامه نویسی شی گرا نیز در جاوا ، C ++ ، دلفی تعبیه شده است.

توسعه بیشتر برنامه نویسی مدرن با اصطلاح "برنامه نویسی موازی" همراه است. برای پیاده سازی این فناوری ، زبان های تخصصی شی گرا در حال توسعه هستند. زبانهای این نوع شامل ، برای مثال ، MC # ( mcsharp) یک زبان برنامه نویسی سطح بالا شی گرا برای بستر .NET است که از ایجاد برنامه هایی که در محیط توزیع شده با تماس های ناهمزمان کار می کنند پشتیبانی می کند.

ساختار زبان برنامه نویسی

تفاوتهای اساسی بین زبانهای برنامه نویسی موجود در مفهوم زبانهای ساختمانی وجود دارد ، این امر به ویژه در مورد زبانهای قبلی صادق است ، اما همه این زبانها به دلیل داشتن ساختار رسمی یکسان از نظر زبانهای برنامه نویسی نامیده می شوند. سیستم ساخت داخلی

هر زبان برنامه نویسی شامل جملات (عملگرها) است. جملات (مانند کلمات) بر اساس الفبای خاصی تعریف می شوند. نحو زبان مجموعه ای از جملات را بر روی الفبای C توصیف می کند ، که در ظاهر برنامه های خوش فرم را نشان می دهند.

نحوزبان - این قوانین برای به دست آوردن کلمات و جملات این زبان است. نحو به صورت شماتیک با استفاده از قوانین گرامری خاصی توصیف شده است.

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

معناشناسی یک زبان قوانین تفسیر کلمات در یک زبان رسمی است ، به عنوان مثال. تعیین معنای عناصر زبانی فردی

برای تعریف زبانهای رسمی ، از جمله زبانهای برنامه نویسی ، از نمودارهای BNF (Backus - Naur) و نحو استفاده می شود. این دو روش توصیف قابل تعویض هستند.

هنگام توصیف یک زبان برنامه نویسی از طریق BNF ، از نام های زیر استفاده می شود:

1) <..>- کلمه تعریف شده ؛

2) R یک قاعده از نحو برای تشکیل یک کلمه است.

3) :: = - قانون BNF.

هر یک Rشامل کلمات پایانییا نشانه هازبان و احتمالاً نویسه های زیر:

· [..] - این عنصر در BNF وجود دارد.

· (..) - این ورودی را می توان در BNF استفاده کرد.

· (..) * - این ورودی را می توان در BNF چندین بار محدود استفاده کرد.

مثال 1در اینجا مثالی از یک قانون BNF است که یک عدد صحیح را تعریف می کند.

این قانون به شرح زیر خوانده می شود: "یک عدد صحیح یک کاراکتر 0 یا دنباله ای از کاراکترها است که می تواند با یک کاراکتر" - "شروع شود ، پس از آن یک رقم غیر صفر ، و به دنبال آن هر دنباله نهایی ارقام."

نمودارهای نحوی شکل خاصی از توصیف زبانهای رسمی را شبیه به BNF نشان می دهند. سه نوع عنصر در نمودارهای نحوی استفاده می شود: بیضی شکل / دایره ، مستطیل ، فلش. کلمات انتهایی یا واژه نامه ها در بیضی قرار می گیرند ، و کلمات تعریف شده در مستطیل. نمایش گرافیکی زبان از طریق نمودارهای نحوی ، توصیف زبان را واضح می سازد.

مثال 2... توصیف یک عدد صحیح با استفاده از نمودار نحو.

طبق برنامه مدل ، لازم است دانش آموزان طبقه بندی مدرن زبان های برنامه نویسی را ارائه دهند و همچنین در زمینه های کاربرد هر یک از آنها راهنمایی شوند. ساده ترین راه برای ارائه این مبحث این است که پس از آشنایی دقیق با یکی از زبان های برنامه نویسی ، انجام شده است.

باید توضیح داد که چرا زبانهای جدید ظاهر می شوند و زبانهای قدیمی بهبود می یابند: اول از همه ، این امر زمانی اتفاق می افتد که به دنبال ابزاری برای نوشتن سریع برنامه های پیچیده باشید که علاوه بر این ، خطاهایی نیز نداشته باشند. یک مثال وجود دارد که ایجاد زبان ADA (به نام اولین برنامه نویس زن Ada Lovelace ، دختر بایرون) در سال 1974 در وزارت دفاع ایالات متحده آغاز شد. ارتش آمریکا متوجه شد که زمان ، تلاش و پول زیادی را صرف توسعه و نگهداری سیستم های کامپیوتری تعبیه شده (مانند سیستم های هدایت موشک) می کند و خطاهای ظریف زبان برنامه نویسی منجر به فجایع واقعی می شود.

زبانهای اعلامی در اواخر دهه 80 بسیار محبوب بودند - اوایل دهه 90 قرن گذشته ، آنها برای برنامه نویسی نسل پنجم زبانهای برنامه نویسی هوش مصنوعی نامیده می شدند. با این حال ، امیدها برای توزیع گسترده آنها هنوز محقق نشده است. شاید به این دلیل که سیستم های موجود برنامه نویسی کاربردی و منطقی اجازه ایجاد برنامه های سریع کار برای کارهای مهم را نمی دهند. ممکن است زمان آنها به سادگی هنوز فرا نرسیده باشد.

با انتخاب یک استراتژی برای آموزش موضوع "الگوریتم سازی و برنامه نویسی" ، لازم است توجه داشته باشید که وظیفه یک دوره آموزش عمومی تا حد زیادی توسعه سبک خاصی از تفکر ، شکل گیری عمومی ترین مهارت ها است ، به جای توسعه برخی از زبانهای خاص و ابزارهای فنی برنامه نویسی ، تواناییها و ایدهها. در عین حال ، چنین دوره ای باید مبنایی برای مطالعه بیشتر حرفه ای برنامه نویسی در دبیرستان یا دبیرستان (در چارچوب آموزش حرفه ای) باشد.

در حال حاضر ، دو روش رایج برای آموزش برنامه نویسی وجود دارد:

1) آموزش بر اساس یک زبان ویژه توسعه یافته زبان آموزشی ، متمرکز بر آموزش مهارت های برنامه نویسی اساسی ؛

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

اولین رویکرد اغلب هنگام آموزش اصول برنامه نویسی در دبیرستان با استفاده از زبانهای خاص ، به عنوان مثال ، Rapier ، E-language ، LOGO استفاده می شود. این زبانها قابلیت های دانش آموزان دبستان را در نظر می گیرند. این روش برای مطالعه عمیق علوم کامپیوتر در کلاس های 5-6 مناسب است.

در مورد رویکرد دوم ، می توان گفت که اکثر پیاده سازی های مدرن زبان های استاندارد دارای بسیاری از جزئیات فنی هستند و یادگیری آنها دشوار است. با این وجود ، قابل قبول ترین برای یک مدرسه آموزش عمومی ، که در آن درس علوم کامپیوتر در پایه های 8 تا 11 آموزش داده می شود ، آموزش مبانی نظری برنامه نویسی بر اساس یک زبان استاندارد است. در این مورد ، نیازی به ورود به اعماق زبان نیست. دانشجویانی که به آن علاقه دارند می توانند خودشان این کار را انجام دهند. بیشترین توجه باید به گذار از ساختارهای الگوریتمی به اجرای نرم افزاری آنها در یک زبان برنامه نویسی باشد.

در اینجا شایان ذکر است که پاسکال در ابتدا به عنوان یک زبان آموزشی ایجاد شد ، اما با گذشت زمان به عنوان یک زبان استاندارد رواج یافت و به عنوان یک زبان شی گرا با فناوری برنامه نویسی بصری دلفی توسعه یافت. می توانید پاسکال یا پایه را در پایه درس های 8-9 پایه گذرانده و به عنوان یک دوره تمدید شده (اختیاری) در پایه های 10-11 می توانید دانش آموزان را با افزونه های شی گرا (دلفی و ویژوال بیسیک) آشنا کنید. هر زبان حامیان و مخالفان خود را دارد و انتخاب نهایی با معلم باقی می ماند.

دو روش اصلی برای یادگیری زبان برنامه نویسی وجود دارد: رسمیو "برنامه نویسی با مثال" اولین مورد براساس توصیف رسمی (دقیق) ساختارهای زبان برنامه نویسی ( نحوزبان و آن مفاهیم) به هر طریقی (با استفاده از نمودارهای نحوی ، فرا زبان یا توصیف کلامی رسمی ، به ویژه معناشناسی) و استفاده از عناصر مورد مطالعه و در نتیجه قابل فهم زبان در حل مسائل. در رویکرد دوم ، ابتدا به دانش آموزان برنامه های آماده داده می شود ، به آنها گفته می شود که دقیقاً چه کاری انجام می دهند و از آنها خواسته می شود که برنامه ای مشابه بنویسند یا برنامه موجود را بدون توضیح کامل تعدادی از "فنی" یا ناچیز ، از نظر معلم از دیدگاه ، جزئیات برای حل مشکل. در عین حال ، گفته می شود که شما بعداً معنی دقیق ساختارهای مربوطه را خواهید آموخت ، اما فعلاً همین کار را انجام دهید. رویکرد دوم به اصطلاح "شروع سریع" اجازه می دهد ، اما خطر به دست آوردن کاربران نیمه با سواد از محیط برنامه نویسی را ایجاد می کند ، به عنوان مثال. افرادی که از ساختارهای نسبتاً پیچیده ای در تمرین خود استفاده می کنند ، اما نمی توانند به وضوح توضیح دهند که چرا در این یا آن مورد استفاده از آنها ضروری است و چگونه کار می کنند. در نتیجه ، دیر یا زود چنین "برنامه نویسان" با خطاهایی روبرو می شوند که نمی توانند آنها را برطرف کنند - آنها فاقد دانش هستند.

یکی از وظایف علوم رایانه در مدارس آموزش دقیق روش رسمی است ، به ویژه هنگام استفاده از تعاریف مختلف. و مطالعه رسمی زبان برنامه نویسی کمک زیادی به این امر می کند. اما حتی بدون مثالهای خوب (نمونه) هنگام آموزش برنامه نویسی به دانش آموزان مدرسه ضروری است. و هرچه دانش آموزان جوانتر باشند ، هنگام توصیف زبان باید مثال های بیشتری آورده شود (حتی گاهی اوقات تعریف دقیق را با آنها جایگزین کنید). نکته دیگر این است که باید اطمینان حاصل شود که در نتیجه بحث مثال ، همه جزئیات آن برای دانش آموزان مدرسه روشن است (توضیح نحوه و چگونگی کار آن ، از جمله تکیه بر مطالب رسمی که قبلاً مورد مطالعه قرار گرفته است ، ضروری است). در این حالت ، دانش آموزان قوی فرصت خواهند داشت که همه چیز را به طور کامل درک کنند و بتوانند از دانش به دست آمده در آینده استفاده کنند ، در حالی که بقیه مهارت های خاصی را کسب می کنند و این فرصت را برای خود باقی می گذارند که در صورت لزوم بعداً به تعاریف رسمی برگردند.

درباره زبان راه آهن قطار بدون توقف روی سکوی کراسنی زوری حرکت می کند. " توجه داشته باشید که راننده از اسم "توقف" و نه فعل "توقف" استفاده کرده است. توقف یک مفهوم بسیار مهم برای کارگران راه آهن است. ممکن است یک قطار "توقف" کند اما "توقف" نداشته باشد. Turchin [Tur-chin 2000] ، با ارائه مثال مشابه ، به رسمی شدن زبان مورد استفاده برای اهداف حرفه ای محدود اشاره می کند.

یک زبان رسمی را می توان به شرح زیر تعریف کرد [Turchin 2000]. یک مدل زبانی دو طبقه از واقعیت را در نظر بگیرید (شکل 4.4). وضعیت si توسط شیء زبان Li رمزگذاری می شود. Object L1 نامی برای si است. مدتی بعد ، موقعیت S1 با موقعیت S2 جایگزین می شود. با انجام برخی فعالیتهای زبانی ، L1 را به یک شی دیگر - L2 تبدیل می کنیم. اگر مدل ما درست باشد ، L2 نام S2 است. در نتیجه ، بدون اطلاع از وضعیت واقعی S2 ، می توانیم با رمزگشایی شی زبان L2 ایده ای از آن بدست آوریم. انجام تبدیل L1-> L2 تعیین می کند که آیا زبان رسمی می شود یا خیر.

    برای یک زبان رسمی ، تغییر L1-> L2 منحصراً توسط اشیاء زبانی Li تعیین می شود که در آن شرکت می کنند و به بازنمایی های زبانی متناظر با آنها در معناشناسی زبان وابسته نیستند.

    برای یک زبان غیر رسمی ، نتیجه تغییر شی زبانی Li نه تنها به شکل نمایندگی خود Li بستگی دارد ، بلکه به بازنمایی si ، که در سر شخص ایجاد می کند ، به ارتباطاتی که در آن وارد می شود بستگی دارد.

یک فرد قادر به درک غیر رسمی ترین زبانها است. و کامپیوتر نمی فهمد ، یا بهتر بگویم ، نمی تواند برنامه ای را به زبان غیر رسمی اجرا کند. به همین دلیل است که زبانهای برنامه نویسی الگوریتمی رسمی همیشه در مطالعه برنامه نویسی از جایگاه مهمی برخوردارند ،

در مورد رسمی شدن غیر رسمی رسمی شدن افراد غیر رسمی یک فرایند غیر رسمی است. اگرچه منطق دانان و ارتش در تلاش هستند تا با این مبارزه کنند.

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

مدل سازی زبان ها

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

    عناصر مدل - مفاهیم اساسی مدل سازی و معانی آنها ؛

    نماد - نمایش بصری عناصر مدل سازی ؛

    راهنمای استفاده - قوانین استفاده از عناصر در چارچوب ایجاد مدلهای دامنه.

زبان های برنامه نویسی و چارچوب ها

    به گفته خالق اولین محیط یکپارچه FRAMEWORK ، محیط یکپارچه چنین برنامه کاربردی است که کاربر ، با راه اندازی آن در ابتدای روز کاری ، تمام منابع لازم برای کار را در آن پیدا می کند و بنابراین یکپارچه را ترک نمی کند محیط تا پایان روز کاری. البته این تعریف چندان صحیح نیست و تا حدودی موقعیت را ایده آل می کند ، اما معنای کلی آن به اندازه کافی روشن است. ویژگی اصلی محیط های یکپارچه میزان بالای تعامل است. این امر با ادغام منابع مختلف نرم افزار در یک کل واحد ، از این رو به این دلیل به دست می آید. بنابراین ، محیط یکپارچه یک کامپایلر یک زبان برنامه نویسی (برنامه ای که یک برنامه اجرایی را از متن یک زبان برنامه نویسی مشخص ایجاد می کند) معمولاً حاوی یک ویرایشگر متن و یک کامپایلر با یک سیستم برای تشخیص خطاهای تدوین است. علاوه بر این ، معمولاً حاوی اشکال زدایی-مترجم زبان معین است که برنامه را خط به خط اجرا می کند و دارای تعدادی ویژگی دیگر است. یکی از مناطق فعال در حال توسعه ، طراحی بصری ، کاملاً مبتنی بر استفاده از قابلیت های یک محیط یکپارچه است. کاربر به صورت تعاملی اشیاء زبان برنامه نویسی لازم برای برنامه خود را انتخاب کرده و بین آنها ارتباط برقرار می کند. محبوبیت زبان هایی مانند Visual BASIC (مایکروسافت) و همچنین Object PASCAL (محیط های دلفی و کیلیکس ، بورلند) تصادفی نیست. حتی یک برنامه نویس بی تجربه که به غیر از BASIC زبان های برنامه نویسی دیگری نمی داند و هرگز در ویندوز برنامه نویسی نکرده است ، می تواند با استفاده از Visual BASIC در دو یا سه روز یک برنامه Windows ایجاد کند. اما یک برنامه نویس درجه یک که قبلاً تحت ویندوز با C ++ برنامه نویسی نکرده است ، اغلب هفته ها یا حتی ماه ها وقت صرف می کند تا برنامه مشابهی را ایجاد کند. درست است که Visual BASIC دارای محدودیت های قابل توجهی است. با استفاده از محیط های طراحی بصری ، می توانید برنامه های بسیار پیچیده ای را بدون تایپ یک خط کد از صفحه کلید ایجاد کنید. با این حال ، همه برنامه های مبتنی بر زبان های برنامه نویسی رویه ای سنتی دارای یک نقص هستند. برای آنها ، کد اجرایی یک چیز است و داده های پردازش شده توسط برنامه کاملاً چیز دیگری است. در واقع ، کد برنامه در یک پرونده با پسوند EXE موجود است و داده ها یا در پرونده های داده خاصی هستند (به عنوان یک قاعده ، به صورت متن یا باینری در نمای داخلی کامپیوتر) ، یا از صفحه کلید وارد شده یا از برخی دستگاه های خارجی دیگر حال بیایید این س askال را بپرسیم: اگر کاربر مجبور باشد اطلاعات برنامه اجرایی را که می تواند به عنوان "افزودنی" به متن برنامه در نظر گرفته شود ، بدهد ، چطور؟ به عنوان مثال ، ما می خواهیم یک نمودار عملکرد بر روی صفحه ترسیم شود و در چنین برنامه ای ما تمام قابلیت های خدمات لازم را ارائه می دهیم. با این حال ، فرمول عملکرد باید توسط خود کاربر تنظیم شود ، و از قبل مشخص نیست که چه چیزی خواهد بود. کاملاً واضح است که وظایف از این دست تنها با کمک یک سیستم مترجم قابل حل است. اما "شما باید برای همه چیز هزینه کنید". کامپایلر متن برنامه را به کد اجرایی که می تواند بدون برنامه کامپایلر کار کند ، ترجمه می کند. از سوی دیگر ، برنامه هایی که بر اساس زبانهای تفسیری ایجاد می شوند ، تنها تحت کنترل برنامه مترجم قابل اجرا هستند. علاوه بر این ، آنها کندتر از نسخه های تدوین شده هستند ، زیرا تفسیر زمان بیشتری می برد. با این حال ، در بسیاری از موارد این بی ربط است.

تاریخ ایجاد: 1963 تحت تأثیر: PROFT تایپ کردن:بی حروف گویش ها:

    Applesoft BASIC

    Commodore BASIC

    Microsoft BASIC

پیاده سازی ها و نسخه ها:

  • Applesoft BASIC مترجم در جاوا اسکریپت

    آتاری مایکروسافت BASIC I / II

  • Commodore BASIC

    Galaksija BASIC

    مایکروسافت ویژوال بیسیک

  • ویژوال بیسیک برای برنامه های کاربردی

BASIC (مخفف عبارت Beginner's All-purpose Symbolic Instruction Code) خانواده ای از زبان های برنامه نویسی سطح بالا است.

بیسیک در سال 1963 توسط استادان کالج دارتموث جان کمنی و توماس کورتز اختراع شد و تحت هدایت آنها توسط تیمی از دانشجویان اجرا شد. با گذشت زمان ، با شروع ظاهر شدن گویش های دیگر ، این گویش "اصلی" به عنوان Dartmouth BASIC معروف شد.

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

این زبان با استفاده از هشت اصل زیر طراحی شده است:

    آسان برای استفاده برای مبتدیان ؛

    یک زبان برنامه نویسی عمومی باشد ؛

    توانایی گسترش قابلیت های موجود در اختیار برنامه نویسان با تجربه را ارائه دهید.

    تعاملی باشید ؛

    ارائه پیام های خطای واضح ؛

    به سرعت روی برنامه های کوچک کار کنید ؛

    نیازی به درک عملکرد سخت افزار ندارید ؛

    واسطه ای بین کاربر و سیستم عامل باشد.

این زبان تا حدودی بر اساس Fortran II و تا حدی بر اساس Algol-60 ، با افزودنیهایی که برای به اشتراک گذاری زمان ، پردازش کلمات و حساب ماتریسی مناسب است ، ایجاد شد. در ابتدا ، BASIC روی GE-265 با پشتیبانی از چندین پایانه اجرا شد. برخلاف تصور عموم ، در زمان شروع به کار ، این زبان کامپایل شده بود. این زبان با ظاهر شدن در میکرو رایانه Altair 8800 محبوبیت جهانی پیدا کرد.بسیاری از زبانهای برنامه نویسی آنقدر سخت بودند که در یک حافظه کوچک جا نمی شدند. برای ماشین هایی با رسانه های آهسته مانند نوار کاغذ ، نوار کاست و بدون ویرایشگر متن مناسب ، زبانی به اندازه BASIC یک یافته عالی بود. در 1975 ، مایکروسافت (در آن زمان فقط دو نفر بودند - بیل گیتس و پل آلن ، با مشارکت مونته دیویدوف) Altair BASIC را منتشر کرد. برای سیستم عامل CP / M ، گویش BASIC-80 ایجاد شد ، که برای مدت طولانی توسعه زبان را تعیین کرد. در این دوره ، چندین نسخه جدید از BASIC ایجاد شد. مایکروسافت چندین نسخه BASIC را برای MS-DOS / PC-DOS از جمله BASICA ، GWBASIC و Quick BASIC (QBASIC) فروخت.بورلند Turbo BASIC 1.0 را در سال 1985 عرضه کرد (جانشینان آن بعداً توسط یک شرکت دیگر با نام PowerBASIC فروخته شد). برنامه های افزودنی مختلف BASIC در رایانه های خانگی ظاهر شد ، که معمولاً شامل ابزارهایی برای کار با گرافیک ، صدا ، اجرای دستورات DOS و همچنین ابزارهای برنامه نویسی ساختار یافته است. چندین زبان دیگر از نحو معروف BASIC به عنوان مبنایی که سیستم کاملاً متفاوتی بر اساس آن ساخته شده بود استفاده کردند (برای مثال به GRASS مراجعه کنید). با این حال ، از اواخر دهه 1980 ، رایانه های جدید بسیار پیچیده تر شده و قابلیت هایی (مانند رابط کاربری گرافیکی) را فراهم کردند که BASIC را دیگر قابل برنامه ریزی نمی کرد. BASIC با وجود این واقعیت که تعداد زیادی از نسخه های آن هنوز در حال استفاده و فروش بودند ، شروع به از دست دادن کرد. BASIC دومین عمر خود را با ظهور Visual Basic از مایکروسافت بدست آورد. این زبان یکی از رایج ترین زبان هایی است که در پلتفرم Microsoft Windows استفاده می شود. بعدها ، یک نوع به نام WordBasic ایجاد شد ، که قبل از Word 97 در MS Word استفاده می شد. نوع Visual Basic for Applications (VBA) در 1993 در Excel 5.0 ، سپس در 1995 در 1995 و سپس در همه ابزارهای دیگر ساخته شد. شامل مجموعه Office - در سال 1997. Internet Explorer 3.0 و بالاتر و Microsoft Outlook شامل یک مترجم VBScript بود. بسته کامل OpenOffice.org همچنین شامل یک مترجم BASIC می باشد.

سلام ، جهان!: نمونه ای برای نسخه های QBasic 1.1 ، QuickBasic 4.50

چاپ " سلام , جهان !"

Factorial: نمونه ای برای نسخه های QBasic 1.1 ، QuickBasic 4.50

از تعیین تکراری فاکتوریل استفاده می شود. هنگام محاسبه 13! سرریز حسابی رخ می دهد و در اینجا رفتار پیاده سازی های مختلف متفاوت است: QBasic سرریز را گزارش می دهد و QuickBasic به سادگی مقادیر منفی را خروجی می دهد. علاوه بر این ، دستور PRINT ، به طور پیش فرض ، یک فاصله را قبل و بعد از شماره چاپ می کند.

DIM f به اندازه طولانی f = 1 PRINT "0! ="؛ f برای i = 1 تا 16:

f = f * i:

چاپ i؛ "! ="؛ f

زبان رسمی شده- یک سیستم نشانه مصنوعی طراحی شده برای نشان دادن برخی از نظریه ها. زبان رسمی با زبانهای طبیعی (ملی) ارتباطات و تفکر بشر ، از زبانهای مصنوعی مانند اسپرانتو ، با زبانهای "فنی" علم که وسایل بخش خاصی از زبان طبیعی را ترکیب می کند ، متفاوت است. با نمادهای علمی مربوطه (زبان شیمی ، زبان ریاضیات معمولی و غیره) ، از زبان الگوریتمی مانند برنامه نویسی عمومی و غیره اول از همه ، این واقعیت است که وظیفه آن این است که به عنوان وسیله ای برای تثبیت (رسمی شدن) یک محتوای منطقی خاص عمل کند ، که این امکان را فراهم می آورد که رابطه پیامدهای منطقی و مفهوم اثبات پذیری (یا مشابه آنها) را معرفی کند. از نظر تاریخی ، اولین زبان رسمی شده بود قیاس شناسی ارسطو ، با استفاده از یک قطعه استاندارد شده از زبان طبیعی (یونانی) پیاده سازی شده است. ایده کلی یک زبان رسمی توسط لایب نیتس (charactera universalis) تدوین شد ، که گسترش آن را به "حساب استنباط ها" - calculus ratiocinator ارائه کرد. در دوران معاصر ، انواع مختلف زبانهای رسمی بر اساس قیاس منطق و جبر توسعه داده شد. نقطه عطف اینجا کار بود مورگانا , بول و پیروان آنها ، به ویژه شرودر و پورتسکی ... زبانهای رسمی رسمی - در رایج ترین اشکال خود - به کار خود باز می گردند فرگه "Begriffsschrift" - "نوشتن در مفاهیم" (1879) ، که از آن خط اصلی توسعه زبان منطق گزاره ای و (شامل آن) منطق محمولات (چندجلدی) و همچنین استفاده از این زبان منطقی برای مشکلات تأسیس ریاضیات

ساختار مشخصه چنین زبانهای رسمی ، تعیین الفبای علائم اولیه ، تعیین استقرایی فرمول زبان (به درستی ساخته شده) ، به اصطلاح است. تنظیم قوانین آموزش و پرورش ، تعیین قوانین استنباط ، به اصطلاح. قوانین دگرگونی که ویژگی منطقی برجسته فرمولها (حقیقت ، اثبات پذیری و غیره) را حفظ می کند. افزودن قوانین تحول ، یک زبان رسمی را به یک حساب منطقی تبدیل می کند. انواع زیادی از زبانهای رسمی وجود دارد: اینها ، اول از همه ، زبانهای سازه های قیاسی- قیاسی ، سیستمهای استنباط طبیعی ("طبیعی") و ساختارهای متوالی ، جداول تحلیلی ، سیستمهای "منطق اختلاف" و بسیاری دیگر است. به

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

زبانهای رسمی معمولاً از نظر نحو و معناشناسی مشخص می شوند. اما ضروری ترین ویژگی منطقی فرمول های آن است که توسط قوانین استنباط (حقیقت ، اثبات ، قابلیت اطمینان ، احتمال و غیره) حفظ می شود. برای هر زبان رسمی ، مشکلات کامل بودن منطق بیان شده در آن ، قابلیت تصمیم گیری و سازگاری آن ضروری است. به عنوان مثال زبان کلاسیک منطق گزاره ای کامل ، قابل حل و سازگار است ، اما کلاسیک است منطق محمول (چند صندلی) ، اگرچه کامل است ، اما نامحلول است. زبان محاسبه محمول گسترده - با کمیسازها با استفاده از محمولات و کاربرد نامحدود اصل انتزاع - متناقض است (چنین بود سیستم منطقی - حسابی فرگه ، که راسل آنتی نومی را به نام خود کشف کرد).

یک زبان رسمی می تواند "شکل خالص" باشد ، به عنوان مثال. اطلاعات اضافی منطقی را حمل نکنید ؛ اگر او آن را حمل کند ، به یک زبان رسمی کاربردی تبدیل می شود ، که ویژگی آن وجود محمولات و اصطلاحات ثابت (توصیف) است - برای مثال. حسابی ، - منعکس کننده خواص ناحیه برنامه. برای رسمیت بخشیدن به نظریه های سطح بالای انتزاع ، یک زبان رسمی را می توان به طرق مختلف تغییر داد ، گسترش داد یا "بر اساس آن" بنا شد. مثال: رسمی شدن تجزیه و تحلیل ریاضی کلاسیک به عنوان حساب مرتبه دوم (یعنی با کمیسازها بر متغیرهای محمول). در برخی موارد ، یک زبان رسمی شامل ساختارهای منطقی بسیاری از دستورات (حتی بی نهایت) است (برای مثال ، "برج زبانها" توسط AA Markov ، که به صورت رسمی ریاضیات سازنده عمل می کند ، یا تفسیر روشها به شکل سلسله مراتب "جهانهای ممکن"). مبنای معنایی زبان رسمی منطق می تواند نظری ، جبری ، احتمالی ، نظری بازی و غیره باشد. همچنین ممکن است چنین "تضعیف" ای وجود داشته باشد که فقط مربوط به معناشناسی احتمالی است-برای مثال ، اینگونه است ، زبان رسمی "منطق فازی" بوجود می آید (به معنای Zade). سپس زبان با در نظر گرفتن عامل گوینده بومی (که به ارزیابی میزان "عملکرد عضویت" موضوع به حجم مفهوم داده شده می پردازد) یک عملگرایی خاص را به دست می آورد. در اینجاست که گرایش فزاینده ای برای در نظر گرفتن "عامل انسانی" در زبانهای رسمی شده ، به این شکل یا شکل دیگر ، آشکار می شود ، که به وضوح در برخی از زبانهای رسمی منطق مکانیک کوانتومی آشکار می شود. توسعه زبانهای رسمی در جهت متفاوتی پیش می رود ، که معناشناسی آن مستلزم رد مفروضات وجودی یا پیش نیازهای هستی شناختی است - در مورد قابل قبول بودن قوانین با تعداد نامحدود مقدمات ، "چند درجه ای" مناطق موضوعی ، حتی موارد متناقض و غیره

یکی از ویژگیهای ضروری زبان رسمی ، تفسیر "ممکن" قواعد استنباط است. به عنوان مثال ، در یک مرحله خاص ما آزاد هستیم که از قانون modus ponens استفاده کنیم یا استفاده نکنیم. زبانهای الگوریتمی که "تجویز کننده" هستند از این ویژگی خالی هستند. اما با توسعه منطق رایانه ای و توسعه برنامه هایی از نوع "توصیف" ، این تفاوت شروع به هموار شدن می کند. توسعه زبانهای رسمی متمرکز بر حل مشکلات اکتشافی در همان جهت عمل می کند.

ادبیات:

1. کلیسای A.مقدمه ای بر منطق ریاضی ، جلد 1. م. ، 1960؛

2. گوه S.K.مقدمه ای بر فرا ریاضی. م. ، 1957 ؛

3. کاری H.مبانی منطق ریاضی م. ، 1969 ؛

4. فرویدنتال H.زبان منطق. م. ، 1969 ؛

5. اسمیرنووا E.D.زبانهای رسمی شده و مشکلات معناشناسی منطقی م. ، 1982

زبانهای رسمی (رسمی)

فهمیدن

زبان رسمی (رسمی) یک زبان مصنوعی است که با قوانین دقیق برای ساختن عبارات و درک آنها مشخص می شود.

یک زبان رسمی مطابق با قوانین واضح ساخته می شود و یک نمایش ثابت ، دقیق و جمع و جور از ویژگی ها و روابط حوزه مورد مطالعه (اشیاء مدل شده) را ارائه می دهد.

بر خلاف زبانهای طبیعی ، زبانهای رسمی دارای قواعد شفاف تنظیم شده برای تفسیر معنایی و تغییر نحوی علائم مورد استفاده هستند ، و همچنین این واقعیت که معنا و معنای نشانه ها بسته به شرایط عملگرا تغییر نمی کند (برای به عنوان مثال ، در زمینه).

زبانهای رسمی اغلب در اطراف زبان ریاضیات ساخته می شوند.

در طول تاریخ توسعه ریاضیات ، به طور گسترده ای از نشانه های نمادین برای اشیاء و مفاهیم مختلف استفاده کرده است. با این حال ، در کنار تعیین نمادین ، ​​ریاضیدانان نیز آزادانه از زبان طبیعی استفاده می کردند. اما در مرحله ای از توسعه علم (قرن XVII) ، نیاز به تجزیه و تحلیل منطقی دقیق قضاوت های ریاضی و همچنین روشن شدن مفهوم "اثبات" ، که برای ریاضیات مهم است ، ایجاد شد. معلوم شد که حل این مسائل بدون رسمی سازی دقیق نظریه های ریاضی غیرممکن است. نیاز به ارائه این نظریه ها به زبان رسمی وجود داشت. قرن بیستم را می توان قرن توسعه سریع زبانهای مختلف رسمی دانست.

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

همه زبانهای رسمی سازه هایی هستند که توسط شخصی ایجاد شده اند. اکثر آنها مطابق طرح زیر ساخته شده اند.

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

از آنجا که مفهوم "نماد" دارای معنای معنایی چند ارزشی است ، واژه "حرف" اغلب برای شخصیت های الفبا استفاده می شود. اما باید به خاطر داشت که حروف الفبای یک زبان رسمی می توانند حروف الفبای زبانهای طبیعی ، و براکت ها ، و کاراکترهای خاص و غیره باشند.

با توجه به قوانین خاصی می توانید از حروف استفاده کنید کلمات و عبارات .

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

مثال 1

یکی از مهمترین از نظر علم کامپیوتر ، الفبا است که از دو حرف "0" ، "1" تشکیل شده است. هر دنباله محدود صفر و یک کلمه ای در این الفبا است.

در زبانهای منطقی-ریاضی ، عبارات متمایز می شوند مقررات و فرمول ها .

ترم ها- این آنالوگ نام اشیا است ، هدف اصلی آنها نشان دادن برخی از شی است.

اصطلاحات عمدتاً شامل متغیرها و ثابتهای موضوعی هستند - عباراتی که برای تعیین اشیاء خاص استفاده می شوند.

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

مثال 2

در منطق ، این توابع عبارتند از وارونگی () ، پیوند () ، تفکیک () ، دلالت () و غیره.

نمونه هایی از اصطلاحات در جبر بولی:

ولی؛ АВ А؛ (AC).

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

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

ولی؛ prog_1 ؛ ((A1 + 25) 3 * B) و (B0)) ؛ 2+ sqrt (z * sin (b)).

فرمول ها

مثال 3

نمونه هایی از فرمول های منطقی:

 (АС) АС = 1 ؛ x ( (x)  (x))

فرمول های یک زبان برنامه نویسی را می توان دستورات برنامه نامید.

نمونه هایی از "فرمول" زبان برنامه نویسی پاسکال:

A: = 2 + sqrt (Z * sin (B)) ؛ اگر F3 بنویسید (R) وگرنه R: = sqr (F) ؛

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

    قوانین ساختمان شرایط و فرمول ها ؛

    قوانین تفسیر اصطلاحات و فرمولها (جنبه معنایی زبان) ؛

    قوانین برداشت

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

مثال 4

اپراتور پاسکال

اگر F3 است (R) در غیر این صورت R: = sqr (F) بنویسید ؛

مطابق قوانین زیر تفسیر می شود:

    متغیر F فقط می تواند از نوع صحیح یا واقعی باشد و متغیر R فقط می تواند از نوع واقعی باشد. اگر اینطور نیست ، این دستور از نظر نحوی نامعتبر است و اجرا نمی شود (یک پیام خطای نحوی نمایش داده می شود) ؛

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

    اگر مقدار عبارت (عبارت پیچیده "F3") پس از کلمه کلیدی (رزرو شده) اگر "true" است ، سپس عبارت بعد از کلمه کلیدی واقع شده و سپس اجرا می شود (مقدار متغیر F روی صفحه نمایش داده می شود) ؛ اگر مقدار آن "false" (false) باشد ، پس عملگر واقع شده پس از اجرای کلید واژه else (مربع مقدار متغیر F محاسبه می شود و نتیجه در سلولی به نام R قرار می گیرد).

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

زبانهای رسمی به طور گسترده در علم و فناوری استفاده می شود. در روند تحقیقات علمی و فعالیت های عملی ، زبانهای رسمی معمولاً در ارتباط نزدیک با زبان طبیعی استفاده می شوند ، زیرا زبان دوم دارای قابلیت های بیان بسیار بیشتری است. در عین حال ، یک زبان رسمی وسیله ای برای نمایش دقیق تر دانش است تا یک زبان طبیعی ، و بنابراین وسیله ای برای تبادل دقیق و عینی تر اطلاعات بین مردم است.

بدان

زبان رسمی (رسمی) یک زبان مصنوعی است که با قوانین دقیق برای ساختن عبارات و تفسیر آنها (درک) مشخص می شود.

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

الفبا- مجموعه ای از نمادهای منبع که تمام عبارات زبان از آنها ساخته می شود.

اصطلاحات زبان رسمی عبارتها و فرمولها هستند.

هدف اصلی مدت، اصطلاح - برای تعیین برخی از شی.

ساده ترین شرایط عبارتند از متغیرها و ثابت های موضوعی - عباراتی که برای تعیین اشیاء خاص استفاده می شود.

اصطلاحات پیچیده با استفاده از توابع مجاز در زبان بر روی اصطلاحات ساده طبق قوانین خاصی ساخته می شوند.

فرمول ها از اصطلاحاتی که عملگرهای مجاز در زبان به کار می روند شکل می گیرند.

نحوزبان - مجموعه ای از قوانین برای ایجاد عبارات معنی دار - شامل موارد زیر است:

    قوانین ساختمان شرایط و فرمول ها ؛

    قوانین تفسیر شرایط و فرمول ها ؛

    قوانین برداشت برخی از فرمولها و اصطلاحات از فرمولها و اصطلاحات دیگر.

زبانهای رسمی مانند زبان منطق و زبانهای برنامه نویسی .

زبانهای رسمی به طور گسترده در علم و فناوری استفاده می شوند. آنها وسیله ای برای تبادل اطلاعات دقیق تر و عینی تر بین مردم نسبت به زبان طبیعی هستند.

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

قادر بودن به

تمرین 1

الفبای زبان برنامه نویسی که می شناسید از چه حروف تشکیل شده است و قوانین تشکیل اصطلاحات ساده در این زبان چیست.

اگر این زبان برنامه نویسی کلمات را ذخیره کرده است؟ اگر چنین است ، لطفاً نمونه هایی از کلمات محفوظ و غیر محفوظ را ارائه دهید.

چه چیزی را می توان به عنوان اصطلاحات و فرمول در زبان های برنامه نویسی در نظر گرفت؟

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

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

فرمول های زبان برنامه نویسی عبارتند از عملگرهای مجاز در آن: ورودی ، خروجی ، تخصیص ، شرطی ، حلقه و غیره.

تخصیص 2

اگر اصول منطق رسمی را مطالعه کرده اید ، پس:

    مثالهایی را بیان کنید که تبدیل رسمی فرمول های منطقی به شما امکان می دهد اطلاعات جدیدی در مورد اشیاء مورد مطالعه بدست آورید.

    فرمول را تفسیر کنید: x ( (x)   (x)) یا  (A  A) = 1

پاسخ. 2) قانون سازگاری است که اصل آن این است: هیچ گزاره ای نمی تواند همزمان درست و غلط باشد.

تخصیص 3

الفبای اعشاری چیست؟

قانون اساسی برای تشکیل (ثبت) اعداد در این سیستم اعداد موقعیتی چیست؟

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

تخصیص 4

چگونه می توان کلمه الفبای دودویی "0100 1001 0100 0110" را در یک سیستم برنامه نویسی که می شناسید تفسیر کرد (فاصله ها برای خوانایی درج شده است)؟

پاسخ. در پاسکال ، این دو بایت را می توان به عنوان یک رشته از کاراکترهای "IF" ، به عنوان دو بایت - 73 و 70 ، به عنوان یک عدد صحیح - 20758 (18758 ؟؟؟) تفسیر کرد.

تخصیص 5

رابط گرافیکی ویندوز شامل عناصری مانند پیکتوگرام یا آیکون است. آیا می توانیم فرض کنیم که آنها در الفبای زبان رابط کاربر این سیستم گنجانده شده اند؟ پاسخ را توجیه کنید.

مدار خود را گسترش دهید

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

دلیل ظهور علائم کاملاً آشکار است: اکثر اشیاء شناختی و فعالیتی در فرایند شناخت و ارائه در فرایند ارتباط قابل درک مستقیم نیستند.

امضا کردن(گر.  - علامت ، رونویسی لاتین - semeion) یک شیء مادی است که به عنوان نماینده شی ، ویژگی یا رابطه دیگری عمل می کند و برای به دست آوردن ، ذخیره ، پردازش و انتقال پیام (اطلاعات ، دانش)

نکته 1 به جای کلمه "نشانه" به معنای مشابه ، مفاهیم دیگری استفاده می شود: "نام" ، "اصطلاح" ، "تعیین".

با توجه به تعریف یکی از بنیانگذاران نظریه علائم (نشانه شناسی) C.P. Pearce ، امضا کردنیک عنصر x است که با توجه به برخی ویژگیها جایگزین عنصر y (denotatum) برای موضوع می شود.

به ترتیب، دلالت- منظور این علامت در شرایط خاص این است.

دنوتاتبرخی از واحدهای انتزاعی زبانی (از لات. denoto - من تعیین می کنم) - مجموعه ای از اشیاء که می توان با این علامت نامگذاری کرد.

توجه 2- بجای کلمه "denotatum" در منطق ، از نامهای دیگر (یکسان ، مترادف) استفاده می شود: اغلب "معنی" ، "تعیین شده".

به نوبه خود ، هر علامت برخی از ویژگی های شی تعیین شده توسط آن را مشخص می کند. اطلاعاتی که علامت در مورد تعیین شده حمل می کند معمولاً نامیده می شود مفهومعلامت (از مفهوم لاتین - مفهوم).

یادداشت 3 اصطلاح "مفهوم" مترادف است: "معنی" ، "معنی نشانه".

برای مثال ، در کلمه "حیوان" معنای باستانی کلمه "شکم" را پیدا می کنیم - زندگی. حیوانات نه با وجود شکم ، بلکه با این واقعیت که زنده هستند ، دارای شکم هستند. بنابراین ، مفهوم نشانه "حیوان" مفهوم یک موجود زنده است ، انفجار هر موجود زنده خاصی است که در یک موقعیت نمادین معنا منظور شده است.

به گفته پیرس ، همه علائم به دو دسته تقسیم می شوند فهرست مطالب , نمادین و نمادین از نظر ماهیت رابطه بین دال و مدلول.

نسبت شاخصبین دال و دال در نشانه بر اساس شباهت واقعی و موجود آنها در واقعیت است. به عنوان مثال ، این کلمات شامل کلمات onomatopoeic یا فرمول های ساختاری ترکیبات شیمیایی است. علائم شاخص با یک رابطه علی مشخص تعیین می شوند (به عنوان مثال ، وجود سقف های مرطوب نشانه باران است).

نگرش نمادینبین دال و مدلول ، به گفته چارلز پیرس ، "کلیات ساده در برخی از ویژگی ها" است. علائم - کپی (علائم نمادین) - بازتولید ، بازتولیدهایی که مشابه تعیین شده هستند (به عنوان مثال ، عکس ، اثر انگشت).

که در علامت نمادیندال و مدلول "بدون در نظر گرفتن هیچ ارتباط واقعی" با یکدیگر ارتباط دارند (برای مثال ، ترکیب خاصی از صداها ، حروف ، شکلها ، رنگها ، حرکات و غیره با برخی از شیء مطابقت دارد.

این نوع علائم است که برای ساخت زبان های رسمی مهم است (به پاراگراف فصل اول در مورد تز اصلی رسمی شدن مراجعه کنید).

نکته 4 گاهی از علائم نمادین به عنوان نشانه ها یاد می شود نمادها ... با توجه به تفکر فیلسوف برجسته روسی PA فلورنسکی ، نماد "وجودی است که از خودش بزرگتر است. نماد- این چیزی است که چیزی نیست که خودش نیست ، بزرگتر از او ، و در عین حال اساساً از طریق او اعلام شده است ". به عنوان مثال ، موجود افسانه ای گریفین ، با ترکیب شیر و عقاب ، یکی از نمادهای عیسی مسیح است.

اغلب اتفاق می افتد که علامتی که ابتدا به عنوان یک علامت نمادین ظاهر شد بعداً به یک نماد نمادین تبدیل می شود.

به عنوان مثال ، حرف  در الفبای فنیقی "Aleph" نامیده می شد - گاو (شبیه سر گاو نر است). سپس او یک نشانه نمادین بود. در زبان یونانی ، این حرف با گاو ارتباط ندارد و به نشانه ای تبدیل می شود.

با توسعه نمادگرایی ریاضی ، علائم نمادین نیز با نمادها جایگزین می شوند. به عنوان مثال ، عدد V رومی شبیه یک دست باز (پنج انگشت) است ، در حالی که عدد مدرن 5 یک نماد است.

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

اشیاء واقعی و مجموعه ای از این اجسام از این که همیشه قابل نشان دادن باشند فاصله دارند. نمونه های زیادی از دلالت هایی که واقعیت ندارند در افسانه معروف ال کارول "آلیس در سرزمین عجایب" آمده است. همچنین به صورت تصویری اصل ظهور چنین دلالت هایی را فرموله می کند:

"او برای زنده ماندن زندگی کرد (مارس خرگوش - یادداشت نویسنده) ، اما برای زنده ماندن ، چنین نبود." در این زمینه ، ضرب المثل روسی "زندگی می کرد و بود" به هیچ وجه یک تعلیم و تربیت به نظر نمی رسد.

ساختار علامت توسط به اصطلاح "مثلث فرگه" (نامگذاری شده از منطق دان برجسته آلمانی که در توسعه نظریه زبانهای رسمی کمک زیادی کرده است) نامگذاری شده است. در اصطلاحات دیگر ، "مثلث معنایی" یا مثلث اوگدن-ریچاردز نامیده می شود. بین علامت ، دلالت نشانه و مفهوم علامت ارتباط برقرار می کند.

برنج. 4.3.1 مثلث فرگه

با کمک این مثلث ، تعدادی از جلوه های زبانی معروف (موقعیت های نشانه ای) را می توان روشن کرد.

1) مترادف- وضعیتی که شامل تصادف کامل یا جزئی معانی علائم مختلف است:

برنج. 4.3.2 طرح مترادف

2) نشانه ها می توانند دلالت یکسانی داشته باشند ، اما معانی متفاوتی دارند (هویت دلالت کننده). به عنوان مثال ، علائم "گناه 30 درجه" و "1/2" دارای یک معنی هستند ، یعنی از یک شماره واقعی نام می برند ، اما معنی این علائم متفاوت است:

برنج. 4.3.3. طرح هویت دلالت کننده

3) چندجمله ای(ابهام) - یک علامت دارای بیش از یک معنی است:

برنج. 4.3.4 طرح چند قلبی

حقیقت جالب

مرجع تاریخی

اولین گامها در جهت ایجاد یک زبان رسمی منطق در دوران باستان برداشته شد. ارسطو (384-322 قبل از میلاد) متغیرهای تحت اللفظی را برای موضوعات و محمولات جملات ساده ساده معرفی کرد و رئیس مدرسه رواقی کریسیپوس (حدود 281-208 قبل از میلاد) و شاگردانش-متغیرهایی برای جملات به طور کلی ... در قرن شانزدهم ، R. Descartes (1596-1659) اساس زبان رسمی مدرن ریاضیات-جبر الفبایی را ایجاد کرد ، و G.V. Leibniz (1646-1716) نمادگرایی دکارتی را به منطق منتقل کرد. زبان اصلی منطق در آن زمان زبان طبیعی بود. لایب نیتس با درک نواقص نحوی و معنایی یک زبان طبیعی (دست و پا گیر ، ابهام و عدم صحت عبارات ، قوانین نحوی نامشخص و غیره) این نظریه را ارائه کرد که بدون ایجاد یک زبان مصنوعی خاص - "حساب جهانی" - توسعه بیشتر منطق است. غیر ممکن اما تنها در پایان قرن 19 ، ایده لایب نیتس در مطالعات J. Boulle (1815-1864) ، S. Jevons (1835-1882) ، E. Schroeder (1841-1902) و دیگران-جبر منطق ظاهر شد

توسعه بیشتر زبان منطق با نامهای J. Peano (1858-1932) و G. Frege (1848-1925) همراه است. پانو تعدادی از نمادها را که در ریاضیات مدرن پذیرفته شده اند ، به ویژه "" ، "" ، "" ، برای نشان دادن روابط متعلق ، اتحاد و تقاطع مجموعه ها معرفی کرد. فرگه یک حساب گزاره ای و گزاره ای بدیهی ساخت که شامل همه عناصر اساسی محاسبات منطقی مدرن بود.

بر اساس نتایج بدست آمده از فرگه و با استفاده از نماد تغییر یافته Peano ، B. Russell (1872-1970) و AN Whitehead (1861-1947) در کار مشترک خود "اصول ریاضیات" (1913) مفاد اصلی زبان رسمی را تدوین کردند. از منطق

در حال حاضر ، زبان منطق کاربردی مهمی در انفورماتیک ، در توسعه زبان های برنامه نویسی ، نرم افزارهای رایانه ای و سیستم های مختلف فنی پیدا می کند.

ظهور زبان های برنامه نویسی در اوایل دهه 50 قرن بیستم رخ می دهد. در ابتدا ، برنامه ها به زبان دستورات ماشین ایجاد می شدند و دنباله ای از کدهای دودویی بودند که برای اجرا از کنسول به رایانه وارد می شدند.

اولین قدم در توسعه زبان های برنامه نویسی ، معرفی نمادهای حافظه (حافظه) برای دستورالعمل ها و داده ها و ایجاد یک برنامه ماشین بود که این نمادهای یادگاری را به کدهای ماشین ترجمه می کند. برنامه takai ، و به همراه آن سیستم نمادگذاری ، این نام را دریافت کرد مونتاژ کننده .

هر نوع دستگاه مونتاژ کننده مخصوص به خود را داشت و انتقال برنامه ها از ماشین به ماشین روشی بسیار پر زحمت بود. بنابراین ، ایده ایجاد یک زبان مستقل از ماشین بوجود آمد. چنین زبانهایی در اواسط دهه 50 ظاهر شدند و برنامه ای که جملات این زبان را به زبان ماشین ترجمه می کند شروع شد. مترجم .

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

جایگاه ویژه ای در بین زبان های برنامه نویسی توسط زبان هایی که عملکرد سیستم های مدیریت پایگاه داده (DBMS) را تضمین می کنند ، اشغال شده است. اغلب دو زیر سیستم در آنها متمایز می شود: زبان توصیف داده ها و زبان دستکاری داده ها (همچنین زبان پرس و جو نامیده می شود).

قرن 21 زمانی است که مالکیت اطلاعات مهمترین مزیت رقابتی در هر زمینه ای است. با این حال ، اگر به زبانی قابل فهم برای کسانی که منظور آنها است ، یا مترجمی وجود نداشته باشد که بتواند معنی آن را به مخاطب منتقل کند ، هیچ فایده ای نخواهد داشت.

در حال حاضر ، حدود 2000 نفر روی زمین زندگی می کنند. ویژگی متمایز آنها ، اول از همه ، زبان است.

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

این سیستم های نشانه ای شامل زبان های رسمی است که نمونه های آنها در زیر ارائه شده است.

تعاریف

اول از همه ، اجازه دهید بیان کنیم که زبان چیست. در زیر این کلمه مرسوم است که سیستم علامت را درک کنیم ، که برای برقراری ارتباط بین مردم و دانش استفاده می شود.

اساس اکثر زبانهای مصنوعی و طبیعی الفبا است.

این مجموعه ای از نمادها است که برای تشکیل کلمات و عبارات استفاده می شود.

ویژگیهای این زبان عبارتند از:

  • مجموعه ای از شخصیت های مورد استفاده ؛
  • قوانین برای ترکیب "کلمات" ، "عبارات" و "متون" از آنها ؛
  • مجموعه ای از قوانین (نحوی ، عملی و معنایی) برای استفاده از ساختارهای ساخته شده.

ویژگیهای زبانهای طبیعی

همانطور که قبلاً ذکر شد ، همه زبانها به طور معمول به مصنوعی و طبیعی تقسیم می شوند. تفاوت های زیادی بین این دو وجود دارد.

زبانهای گفتاری طبیعی هستند. ویژگی های آنها ، از جمله موارد دیگر ، عبارتند از:

  • ابهام اکثر کلمات ؛
  • وجود مترادف و مترادف ؛
  • وجود چندین نام برای یک موضوع ؛
  • وجود استثنا در تقریباً همه قوانین.

همه این ویژگیها تفاوتهای اصلی بین سیستمهای نشانه طبیعی و زبانهای رسمی هستند. نمونه های ابهام در کلمات و جملات برای همه شناخته شده است. بنابراین کلمه "اتر" ، بسته به زمینه ، می تواند هم به معنای پخش محتوایی و هم رادیویی یا تلویزیونی باشد.

در عین حال ، عملکردهای اصلی زبانهای گفتاری عبارتند از:

  • ارتباطات ؛
  • فعالیت شناختی ؛
  • بیان احساسات ؛
  • تأثیر بر طرف گفتگو (خبرنگار ، اگر در مورد مکاتبات صحبت می کنیم).

ویژگیهای زبانهای مصنوعی

زبان های مصنوعی توسط انسان برای اهداف خاص یا برای گروه های خاصی از مردم ایجاد شده است.

یکی از ویژگیهای اصلی زبانهای مصنوعی ، قطعیت واضح واژگان آنها و همچنین قوانین اختصاص معانی به آنها و تشکیل عبارات است.

زبانها و دستور زبانهای رسمی

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

طرح ایجاد سیستم های علامت رسمی به شرح زیر است:

  • یک الفبا انتخاب شده است (مجموعه ای از نمادهای منبع) ؛
  • قوانین ایجاد عبارات (نحو) زبان تعیین شده است.

دامنه کاربرد

منطق رسمی ، برنامه نویسی و غیره) در فرایند تحقیقات علمی استفاده می شود. آنها برای نشان دادن دانش بهتر از روشهای طبیعی هستند و وسیله ای برای تبادل عینی و دقیق اطلاعات هستند.

زبانهای رسمی شامل همه سیستم های شناخته شده از نمادهای ریاضی و شیمیایی ، کد مورس ، نماد موسیقی و غیره است.

علاوه بر این ، زبانهای برنامه نویسی رسمی به طور گسترده مورد استفاده قرار می گیرند. توسعه سریع آنها در اواسط قرن بیستم و در ارتباط با ظهور فناوری رایانه آغاز شد.

زبان منطق رسمی

هر زبان برنامه نویسی بر اساس ریاضیات است. او به نوبه خود بر سیستم نشانه منطق رسمی تکیه می کند.

به عنوان یک علم ، منطق توسط ارسطو ایجاد شد. او همچنین قوانینی را برای تغییر گزاره هایی که ارزش حقیقت آنها را بدون توجه به محتوای مفاهیم موجود در این بیانیه ها حفظ می کند ، تدوین کرد.

منطق رسمی با "کاستی" زبانهای طبیعی مرتبط با ابهام برخی از گزاره ها و غیره مبارزه می کند. برای این منظور ، عملیات با افکار با اعمال با نشانه های زبان رسمی جایگزین می شود. این امر هرگونه عدم قطعیتی را از بین می برد و به شما امکان می دهد تا حقیقت گزاره را به طور دقیق ثابت کنید.

ویژگی های زبان های برنامه نویسی

همانطور که قبلاً ذکر شد ، با برخی از رزروها ، می توان آنها را به عنوان رسمی طبقه بندی کرد.

بسیاری از قواعد نحوی آنها را با دومی و برخی کلمات کلیدی و ساختارها با قوانین طبیعی متحد می کند.

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

بسیاری از نویسه های معتبر در زبان های برنامه نویسی ، کاراکترهایی هستند که می توانید از صفحه کلید تایپ کنید. آنها اولین قسمت از جدول کدگذاری ASCII را نشان می دهند.

دستور زبان ها

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

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

طبقه بندی زبانهای برنامه نویسی

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

اکنون می توانید به این س answerال پاسخ دهید: "چه زبانهای رسمی می دانید؟" دانشمندان همچنان به بهبود آنها ادامه می دهند تا راه حل مشکلات مختلف عملی و نظری را که در حال حاضر حل ناپذیر تلقی می شوند ، ممکن سازند.

سوالی دارید؟

گزارش اشتباه تایپی

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