+2 امتیاز
قبل در برنامه نویسی توسط (217 امتیاز)
ویرایش شده قبل توسط
تفاوت این دو در چیست میشه در قالب مثال توضیح دهید. مثلا وقتی یه برنامه ای اجرا نمیشه و دارای خطای سینتکسی و یا سمنتیکی (صرف و نحو) میشه یعنی چی؟

1 پاسخ

+3 امتیاز
قبل توسط (484 امتیاز)

خب خطای سینتکسی رو که می دونیم؛ یعنی مثلا یه سمیکولن نذاریم یا بلوک هامون رو نبندیم و از این جور خطاهای نشانه گذاری که ممکنه رخ بده.

این جور خطا ها یعنی خطاهای سینتکسی حین کامپایل، توسط کامپایلر تشخیص داده می شن.

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

مثلا فرض کنیم ما یه متغیر اینطور تعریف کنیم:

int a="Radeon"

درستش اینه که:

int a =7

 

خب تو این مثال،ما یه متغیر رشته ای رو در قالب یه integer بنام a تعریف کردیم؛ برنامه کار می کنه اما نتیجه مطمئنا اشتباه خواهد بود.

یا مثلا تو تعریف یه آرایه

a= math.tan(12)

همون طور که می بینی، سینتکس درسته و برنامه کامپایل شدنیه اما، سمنتیک اشتباهه؛ چون داخل کمان سینوس باید مضارب عدد پی رو بذاریم. یعنی:

a= math.tan(12*pi)

 

 

سوالات مشابه

+1 امتیاز
1 پاسخ 260 بازدید
...