Forwarded from C++ (mahdi)
C++
ساختارِ سوال سوم امتحان سه شنبه متغیر ها و اعداد فقط عوض شده ساختار کلی دقیقا همین است
حل نهایی
Forwarded from C++ (mahdi)
#شرح_انواع_خطا_با_مثال
حتما بخوانید برای امتحان عملی کمکتون میکنه
کلا ما دو نوع خطا داریم:
1-خطای نحوی(syntax)
2-خطای منطقی
1- خطای نحوی
خودِ کامپایلر به شما خطا میدهد و میگه فلان خط مثلا سیمیکالون یا پرانتز نزاشتی یا اصلا متغیر تعریف نکردی و اونو نوشتی
و در بخش log مینویسه چه خطایی دارید و با خواندنِ اون به راحتی می توانید بر طرف کنید
پرتکرار ترین خطای نحوی:
error: 'x' was not declared in this scope
(خطا: 'x' در این محدوده اعلام نشده است)
پرتکرار ترین خطای دانشجویان است
نکته:به جای x هر چی میتونه قرار بگیره مثلا i یا پرانتز یا براکت یا اسم تابع یا غیره
نشان دهنده چندین احتمال است :
1-یا نوع داده ای 'x' مشخص نشده
مثلا=
for(i=0 ; i<=n-1 ; i++)
در اینجا نوع داده ای i مشخص نشده و به جای x دقیقا i را در پیام بالا میزاره
2-یا اسم 'x' را اشتباه نوشتید
مثال=
تابع به اسم first_index ساختید
اما در main آن را firs_index فراخوانی کردید چون t آخرِ ان را نزاشتید میگوید چنین چیزی را نمیشناسد دقیقا دوباره همین پیام را میدهد
ممکنه اسم متغیر هم اشتباه نوشته باشید
3-یا مکان قرار گیری 'x' اشتباه است
(حالت پیش نیازی رعایت نشده)
مثلا تابع را در جای مناسب تعریف نکردی
مثال=
int sum(int a, int b)
{
return abss(a) + abss(b)
}
int abss(int a)
{
if(a<0)
a *=-1;
return a;
}
دقیقا در خطا به جای x کلمه abss قرار میدهد چون برنامه ما از بالا به پاین اجرا میشه چون اول در تابع sum،
تابع abss را فراخوانی میکنی اما این تابع در حافظه ایجاد نشده و وجود ندارد
و باید تابع abss را بالای تابع sum تعریف می کرد تا اول در حافظه ایجاد میشد(همان اجرا میشد) و سپس از تابع استفاده می کرد
پس حالت پیش نیازی فراخوانی تابع خیلی خیلی خیلی خیلی خیلی مهمه
2- خطای منطقی
کامپایلر هیچ خطایی به شما نمی دهد و موقع اجرا برنامه خروجی نمیده یا اشتباه جواب میده و شما فکر میکنید کدبلاک خرابه یا برنامه مشکل داره و برطرف کردن آن ها سخته
مثلا شخصی که جلوی if سیمیکالون میزاره
if(n==k); ❌
یا
یک مساوی میزاره در شرط if
if(n=k) ❌
اشتباهاً به جای i مینویسه 1
for(int i=1; 1<=n ; i++)❌
for(int i=1; i<=n ; i++)☑️
یکسری خطا های ریزی دارید که حتی اگر بخوام هم برطرف کنم زمان میبره واقعا دقت کنید و کد زیاد بزنید
حتما بخوانید برای امتحان عملی کمکتون میکنه
کلا ما دو نوع خطا داریم:
1-خطای نحوی(syntax)
2-خطای منطقی
1- خطای نحوی
خودِ کامپایلر به شما خطا میدهد و میگه فلان خط مثلا سیمیکالون یا پرانتز نزاشتی یا اصلا متغیر تعریف نکردی و اونو نوشتی
و در بخش log مینویسه چه خطایی دارید و با خواندنِ اون به راحتی می توانید بر طرف کنید
پرتکرار ترین خطای نحوی:
error: 'x' was not declared in this scope
(خطا: 'x' در این محدوده اعلام نشده است)
پرتکرار ترین خطای دانشجویان است
نکته:به جای x هر چی میتونه قرار بگیره مثلا i یا پرانتز یا براکت یا اسم تابع یا غیره
نشان دهنده چندین احتمال است :
1-یا نوع داده ای 'x' مشخص نشده
مثلا=
for(i=0 ; i<=n-1 ; i++)
در اینجا نوع داده ای i مشخص نشده و به جای x دقیقا i را در پیام بالا میزاره
2-یا اسم 'x' را اشتباه نوشتید
مثال=
تابع به اسم first_index ساختید
اما در main آن را firs_index فراخوانی کردید چون t آخرِ ان را نزاشتید میگوید چنین چیزی را نمیشناسد دقیقا دوباره همین پیام را میدهد
ممکنه اسم متغیر هم اشتباه نوشته باشید
3-یا مکان قرار گیری 'x' اشتباه است
(حالت پیش نیازی رعایت نشده)
مثلا تابع را در جای مناسب تعریف نکردی
مثال=
int sum(int a, int b)
{
return abss(a) + abss(b)
}
int abss(int a)
{
if(a<0)
a *=-1;
return a;
}
دقیقا در خطا به جای x کلمه abss قرار میدهد چون برنامه ما از بالا به پاین اجرا میشه چون اول در تابع sum،
تابع abss را فراخوانی میکنی اما این تابع در حافظه ایجاد نشده و وجود ندارد
و باید تابع abss را بالای تابع sum تعریف می کرد تا اول در حافظه ایجاد میشد(همان اجرا میشد) و سپس از تابع استفاده می کرد
پس حالت پیش نیازی فراخوانی تابع خیلی خیلی خیلی خیلی خیلی مهمه
2- خطای منطقی
کامپایلر هیچ خطایی به شما نمی دهد و موقع اجرا برنامه خروجی نمیده یا اشتباه جواب میده و شما فکر میکنید کدبلاک خرابه یا برنامه مشکل داره و برطرف کردن آن ها سخته
مثلا شخصی که جلوی if سیمیکالون میزاره
if(n==k); ❌
یا
یک مساوی میزاره در شرط if
if(n=k) ❌
اشتباهاً به جای i مینویسه 1
for(int i=1; 1<=n ; i++)❌
for(int i=1; i<=n ; i++)☑️
یکسری خطا های ریزی دارید که حتی اگر بخوام هم برطرف کنم زمان میبره واقعا دقت کنید و کد زیاد بزنید
Forwarded from C++ (AmirHossein)
#جلسه_هفتم
💢هدف اصلی در آرایه،
ذخیرهسازی داده ها و دسترسی به آن ها با استفاده اندیس ها است
🟢در آرایه 3 کار حتما در هر مسئله ای
به ترتیب انجام میشود :
1-تعریف آرایه(ساختن خانه های آرایه)
2-مقدار دهی کردن آرایه(قرار دادن عدد داخلِ خانه ها)
3-دسترسی به مقادیر(عناصر) آرایه
(حال با فراخوانی اسم و جایگاه هر خانه به مقادیر یا همان عناصر آرایه دسترسی پیدا
می کنیم)
💢هدف اصلی در آرایه،
ذخیرهسازی داده ها و دسترسی به آن ها با استفاده اندیس ها است
🟢در آرایه 3 کار حتما در هر مسئله ای
به ترتیب انجام میشود :
1-تعریف آرایه(ساختن خانه های آرایه)
2-مقدار دهی کردن آرایه(قرار دادن عدد داخلِ خانه ها)
3-دسترسی به مقادیر(عناصر) آرایه
(حال با فراخوانی اسم و جایگاه هر خانه به مقادیر یا همان عناصر آرایه دسترسی پیدا
می کنیم)
Forwarded from C++ (mahdi)
C++
#جلسه_هفتم 💢هدف اصلی در آرایه، ذخیرهسازی داده ها و دسترسی به آن ها با استفاده اندیس ها است 🟢در آرایه 3 کار حتما در هر مسئله ای به ترتیب انجام میشود : 1-تعریف آرایه(ساختن خانه های آرایه) 2-مقدار دهی کردن آرایه(قرار دادن عدد داخلِ خانه ها) 3-دسترسی به…
وویس بالا حتما با این عکس گوش داده شود مفاهیم اولیه آرایه یک بعدی
توضیح داده شده در کلاس شنبه هست
توضیح داده شده در کلاس شنبه هست