تالار گفتمان مانشت
سوال ۹۳ کنکور ۹۲ - خطای منطقی - نسخه‌ی قابل چاپ

سوال ۹۳ کنکور ۹۲ - خطای منطقی - m@hboobe - 29 دى ۱۳۹۲ ۰۶:۲۸ ب.ظ

[attachment=14772]

خطای منطقی هم داریم؟؟!!
مگر خطا ها در طی سه مرحله تحلیل گرفته نمیشوند؟! لغوی / نحوی (ساختاری) / معنایی Huh

RE: سوال ۹۳ کنکور ۹۲ - AEM4949 - 29 دى ۱۳۹۲ ۰۶:۴۱ ب.ظ

(۲۹ دى ۱۳۹۲ ۰۶:۲۸ ب.ظ)m@hboobe نوشته شده توسط:  خطای منطقی هم داریم؟؟!!

مگه شما برنامه سازی پیشرفته پاس نکردی؟Big Grin

RE: سوال ۹۳ کنکور ۹۲ - e.shrm - 29 دى ۱۳۹۲ ۰۶:۴۴ ب.ظ

(۲۹ دى ۱۳۹۲ ۰۶:۲۸ ب.ظ)m@hboobe نوشته شده توسط:  خطای منطقی هم داریم؟؟!!
مگر خطا ها در طی سه مرحله تحلیل گرفته نمیشوند؟! لغوی / نحوی (ساختاری) / معنایی Huh

خطاهایی منطقی:
۱- سر ریز / تقسیم بر صفر
۲- فراخوانی بازگشتی تابعی که void تعریف شده (توجه کنید که این با اون موردی که برای معنایی توی یه سوال دیگه گفته بودم فرق داره)
۳- ایجاد حلقه نامحدود
۴- ارجاع به حافظه از طریق آدرس پوچ

RE: سوال ۹۳ کنکور ۹۲ - m@hboobe - 29 دى ۱۳۹۲ ۰۷:۰۷ ب.ظ

(۲۹ دى ۱۳۹۲ ۰۶:۴۴ ب.ظ)e.sharmi نوشته شده توسط:  
(29 دى ۱۳۹۲ ۰۶:۲۸ ب.ظ)m@hboobe نوشته شده توسط:  خطای منطقی هم داریم؟؟!!
مگر خطا ها در طی سه مرحله تحلیل گرفته نمیشوند؟! لغوی / نحوی (ساختاری) / معنایی Huh

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

ممنون
فکر کنم فهمیدم چرا میگیم منطقی چون اشتباه نوشته شدن = بجای == در طی فازهای تحلیل مشکلی نیست اما موقعی که میخواد چک بشه و در طول اجرای برنامه هست خطای منطقی رخ میده
یعنی میشه گفت خطاهایی که در حین اجرا بوجود میان منطقی هستن ؟!

RE: سوال ۹۳ کنکور ۹۲ - e.shrm - 29 دى ۱۳۹۲ ۰۷:۳۴ ب.ظ

(۲۹ دى ۱۳۹۲ ۰۷:۰۷ ب.ظ)m@hboobe نوشته شده توسط:  
(29 دى ۱۳۹۲ ۰۶:۴۴ ب.ظ)e.sharmi نوشته شده توسط:  
(29 دى ۱۳۹۲ ۰۶:۲۸ ب.ظ)m@hboobe نوشته شده توسط:  خطای منطقی هم داریم؟؟!!
مگر خطا ها در طی سه مرحله تحلیل گرفته نمیشوند؟! لغوی / نحوی (ساختاری) / معنایی Huh

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

ممنون
فکر کنم فهمیدم چرا میگیم منطقی چون اشتباه نوشته شدن = بجای == در طی فازهای تحلیل مشکلی نیست اما موقعی که میخواد چک بشه و در طول اجرای برنامه هست خطای منطقی رخ میده
یعنی میشه گفت خطاهایی که در حین اجرا بوجود میان منطقی هستن ؟!

کلا خطاهای منطقی دقیقا به منطق برنامه مربوط میشه و چون از نظر اصولی که مربوط به کامپایلر هست قابل شناسایی نیست ، زمان اجرا با این خطا مواجه میشیم.
در مورد = و == این به عملکرد if وابسته هست. کلا if اگر شرطش ۱ دستوراتش اجرا میشه اگه نباشه اجرا نمیشه. == هم اینطوره که اگر برابر باشند ۱ بر میگردونه و در غیر اینصورت یه چیزی غیر از ۱ ، بنابراین وقتی = میزاریم مثل اینه که همون یه چیزی غیر از ۱ رو داریم بر میگردونیم ، این یعنی از نظرکامپایلر هیچ مشکلی نداره فقط برنامه مطابق خواست برنامه نویس و بر اساس منطقی که اونو نوشته اجرا نمیشه.

RE: سوال ۹۳ کنکور ۹۲ - خطای منطقی - Ametrine - 30 آذر ۱۳۹۳ ۰۲:۳۲ ب.ظ

(۲۹ دى ۱۳۹۲ ۰۶:۴۴ ب.ظ)e.shrm نوشته شده توسط:  ۲- فراخوانی بازگشتی تابعی که void تعریف شده (توجه کنید که این با اون موردی که برای معنایی توی یه سوال دیگه گفته بودم فرق داره)
چی فرقی داره؟؟