سی (زبان برنامه‌نویسی): تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز واگردانی ویرایش‌های 46.143.66.76 (بحث) (هاگ) (3.1.21)
خط ۷۶:
# '''[[خطاهای منطقی]]''' (خطاهای زمان اجرا): این دسته خطاها در اثر اشتباه برنامه نویس در طراحی [[الگوریتم]] درست برای برنامه و یا گاهی در اثر درنظر نگرفتن بعضی شرایط خاص در برنامه ایجاد می‌شوند. متأسفانه این دسته خطاها در زمان کامپایل اعلام نمی‌شوند و در زمان اجرای برنامه خود را نشان می‌دهند؛ بنابراین، این خود برنامه‌نویس است که پس از نوشتن برنامه باید آن را تست کرده و خطاهای منطقی آن را پیدا کرده و رفع نماید. متأسفانه ممکن است یک برنامه‌نویس [[خطای منطقی]] برنامه خود را تشخیص ندهد و این خطا پس از مدتها و تحت یک شرایط خاص توسط کاربر برنامه کشف شود. بهمین دلیل این دسته از خطاها خطرناکتر هستند. خود این خطاها به دو دسته تقسیم می‌گردند:
## '''[[خطاهای مهلک]]''': در این دسته خطاها کامپیوتر بلافاصله اجرای برنامه را متوقف کرده و خطا را به کاربر گزارش می‌کند. مثال معروف این خطاها [[خطای تقسیم بر صفر]] می‌باشد.
## '''[[خطاهای غیرمهلک]]''': در این دسته خطا،d.خطا، اجرای برنامه ادامه می‌یابد ولی برنامه نتایج اشتباه تولید می‌نماید. به‌عنوان مثال ممکن است دراثر وجود یک خطای منطقی در یک برنامه حقوق و دستمزد،e.دستمزد، حقوق کارمندان اشتباه محاسبه شود و تا مدتها نیز کسی متوجه این خطا نشود!
 
با توجه به آنچه گفته شد، در می‌یابیم که رفع اشکال برنامه‌ها بخصوص خطاهای منطقی از مهم‌ترین و مشکلترین وظایف یک برنامه نویس بوده و گاهی حتی سخت‌تر از خود برنامه‌نویسی است! بهمین دلیل است که بسیاری از شرکتها (همانند [[مایکروسافت]]) ابتدا [[نسخهٔ اولیه]] نرم‌افزار خود را در اختیار کاربران قرار می‌دهند تا اشکالات آن گزارش شده و رفع گردد. بسیار مهم است که در ابتدا سعی کنید برنامه‌ای بنویسید که حداقل خطاها را داشته باشد، در گام دوم با آزمایش دقیق برنامه خود هرگونه خطای احتمالی را پیدا کنید و در گام سوم بتوانید دلیل بروز خطا را پیدا کرده و آنرا رفع نمایید. هر سه عمل فوق [[کار سختی]] بوده و نیاز به تجربه و مهارت دارد.