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

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

 سرعت برنامه پایین می آید ولی خوبی برنامه این هست که زمانی که برنامه تغییر می کند.

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

و در حقیقت آن لحظه ترجمه برنامه انجام می شود.

چیز هایی که برای آفلاین برنامه هست شامل: C,C++,C#,JAVA,… این ها همه مواردی هستند که به صورت آفلاین اجرا میشوند.

و اما آن هایی که به صورت آنلاین هستند شامل: PHP,MATLAB,JAVASCRIPT مواردی هستند که به صورت آنلاین اجرا می شوند.

ولی در آفلاین C#,JAVA زبانی که هستند یک حالت بینا بین بین آفلاین و آنلاین دارد و یک شباهت کوچکی به مفسری هم دارند این دو زبان.

چه زمانی زبان c کامپایل می شود؟

زمانی زبان c کامپایل میشود که مستقیما به ML به زبان ماشین کامپایل می شود.

اما مثلا C# ,Java به یک IL اول کامپایل میشوند و بعد قرارهست به صورت آنلاین C#,JAVA زمانی که کامپایل میشوند.

به یک زبان میانی و IL موقع اجرا مانند زبان های مفصری به زبان ماشین ترجمه میشود.

برای تکمیل برنامه به چه چیزهایی نیاز هست؟

برای تکمیل برنامه به عملیات(operation) و اطلاعات (data) لازم هست یعنی یک کار معمولا روی یک اطلاعات انجام می شود.

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

فرض مثال:

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

هم ورودی اطلاعات دارد هم خروجی اطلاعات دارد  الزاما این اعداد را از طریق حافظه نمی گیرد.

در C تعریف می شود:

Int  n=10;

N=n+1;

N=10.5;

N=’A’;

 امکان دارد در هر برنامه ای مشکل به وجود بیاد غالبا در زمان کامپایل برنامه یا edit برنامه به این موضوع اشکال میگیرند.

  1. متغیرهاvariable)): متغیر می تواند مقدار نداشته باشد و از کاربر مقدار را بگیرد می تواند تعریف شود و کاربر عوض کند می تواند یک چیز تصادفی باشد می تواند مقدار داشته باشد و تا آخر برنامه عوض نشود یا بعضی متغیر ها هستن که ثابت تعریف میشوند.
  2. تابع function)):

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

که ورودی میگیرد و کار انجام میدهد مثال: DROW SQUARE(a) و یک a میگیرد در برنامه ها این را می توان نوشت.

3 آرایه ها assay)):

فرض مثال: مختصات دو نقطه در یک صفحه باشند و اسم یکی از آنها X1 و Y1 هست آن یکی هم X2 ,Y2 هست و تا زمانی که دوتا هستند مشکلی نیست.

ولی نمیشود که فرض مثال : x(1…1000) تعریف شود و یک جوری باشد که مثلا در ریاضیات نوشته می شود xi, yi این i بتواند هر مقداری از یک دو تا هزار را درون خودش داشته باشد.

4-ساختارstructure)):

که مانند آرایه هست که در آرایه اسن شکلی مشاهده میشود X [I] که i یک اندیس عددی هم هست فرض مثال به جای متغیر یک رشته باشد x[‘name’] یا حتی راحت تر X.NAME این نوتیشنی هست که مرسوم تر هست.

 این دو به یک معنی هستند و در واقع یک ساختار را معرفی میکنند ساختار یک آرایه هست که اعضای آرایه انواع آن ها باهم فرق داشته باشد و به جای اندیس با عدد اندیس با نام داشته باشند.

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

بررسی اجزای سازنده برنامه ها:

انواع دستورها:

-1 فراخوانی عملیات(operation call): ساده ترین نوع دستوری هست که می توان در نظر گرفت.

مثال:

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

 -2تعریف و تخصیص definition &assignment)):

فرض مثال:

زمانی که شما دارید با یک شخص صحبت می کنید و میگویید که یک عدد صحیح برابر است با 10 در نظر گرفته می شود فرض مثال در یک برنا مه کامپیوتری توضیح داده می شود که :

N =10

اگر ان قبلش تعریف نشده باشد برنامه این را تعریف می کند و هم ده را به برنامه اختصاص می دهد.

دستورهای ترکیبی و پیچیده:

  1. بلوک کد یا دستورها:

فرض مثال: یعنی شما دستورات را در نظر بگیرید و دستورات را بلوک کنید اسم بزارید برای دستورات و ماهیت آن را تعریف کنید.

  • تکرار: یکی از چیزهایی که اشخاص در کامپیوترها می پسندند این است که کامپیوتر ها می توانند تکرار کنند بدون این که خسته شوند و اشتباه کنند تکرار یکی از مولفه های بسیار مهم است تکرار را اشخاص می توانند با یک if  و با یک go to  بسازند.

فرض مثال:

Start

//////

If(—–)then go to start

انواع مختلف تکرار:

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

مدیریت حالات استثنائی(Exception Handling):

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

شرایط مورد نیاز برای کامل بودن یک زبان برنامه نویسی که این از نظر عملیاتی هست که از نظر اجرایی یک چیزهایی هم لازم هست:

ترتیب اجرا (order of Execution ): یعنی دستورات به ترتیب اجرا شود رندمی نباشد.

شرط انشعاب و انتخاب: فقط دستور if را داشته باشد.

تکرار

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

وجود go to:

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

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *