پنجشنبه, ۲۰ دی, ۱۴۰۳ / 9 January, 2025
مجله ویستا
پارامترهای مهم در برنامهنویسی
● اجرای صحیح برنامه و خاتمهی درست آن (Run Time)
شاید شما هم در گزارشهای خبری شنیده باشید كه در نرمافزار سیستمعامل WIN ۹۵ چندهزار اشكال وجود داشته است! و شاید از شنیدن این خبر خیلی هم تعجب كرده باشید. با توضیحاتی كه در بخش قبلی داده شد مشخص است كه این اشكالات نمیتواند به خطاهای نگارشی(Syntay error) مربوط باشد(چرا؟) بیشتر این اشكالات ناشی از خطاهایی است كه در زمان اجرای برنامه بوجود میآیند. به همین دلیل این نوع خطاها را در اصطلاح، خطاهای زمان اجرای برنامه (Run Time Error) مینامند. همچنانكه از نام آن هم پیدا است این نوع خطاها در زمان اجرای برنامه بوجود آمده و باعث اختلال در روند صحیح اجرای برنامه میگردند.
سعی میكنم با ذكر یك مثال ساده موضوع را بیشتر شرح بدهم.
▪ فرض كنید بخواهیم برنامهای بنویسیم كه مقدار n! را محاسبه كند. در این صورت برنامهی زیر را ملاحظه كنید:
۱۰ Input n
۲۰ fact %=۱
۳۰ for i=۱ to n
fact%=fact%*i
next I
۴۰ print n; “!= “ ; fact %
۵۰ end
اگر این برنامه را به ازاء ۰=n ، ۳=n و یا ۶=n اجرا كنید، جواب درستی خواهید گرفت. ولی اگر برنامه را به ازای ۲۰=n اجرا كنید، برنامه دچار مشكل شده و پایانی ناموفق خواهد داشت و مفسر زبان Basic گزارش خطایی مانند Overflow را به شما خواهد داد. علت وجود این خطا این است كه در سطر ۲۰متغیر fact از نوع صحیح كوتاه معرفی شده است كه میتواند حداكثر مقدار ۳۲۷۶۷ را داشته باشد و چون ۴۰۳۲۰=!۸ ، بنابراین این برنامه میتواند حداكثر برای ۷=n درست اجرا شود. مثال فوق یك نمونهی كوچك از خطاهای زمان اجرای برنامههای كامپیوتری است كه امیدواریم شما را با خطاهایی كه در زمان اجرای برنامه بوجود میآیند آشنا كرده باشد.
خطاهای زمان اجرا را هرگز دستكم نگیرید. حتی برنامهنویسان بسیار باتجربه هم ممكن است با چنین مشكلاتی مواجه گردند. یكی از رایجترین خطاهای زمان اجرا خطاهای Overflow و Underflow میباشند كه همیشه باعث قطع اجرای برنامه گردیده و تقریباً تمام زبانهای برنامهنویسی به طور واضح گزارش خطایی به استفاده كننده میدهند.
نكتهای كه در اینجا ذكر آن مهم به نظر میرسد این است كه متأسفانه خطاهای مورد بحث هرگز توسط مفسر(یا كامپایلر) تشخیص داده نمیشوند و به همین دلیل جهت پرهیز از آنها باید در مرحلهی برنامهنویسی به تمام جزییات برنامه دقت كرد و پس از اتمام برنامه نیز آن را با توجه بیشتر آزمایش نمود. همین دقت نظرها و توجهات در دههی اخیر منجر به بوجود
آمدن روشهای نوین برنامهنویسی گردیده كه بتوان تا حد ممكن از بروز خطا ممانعت به عمل آورد. همچنین الگوهای خاصی برای آزمایش برنامهها تهیه شده است. ولی با این حال هیچیك از این روشها كامل و بینقص نبوده و همچنان دقت در برنامهنویسی یك ضرورت انكارناپذیر است. لذا سعی میكنیم در اینجا چند نكتهی مهم را مطرح كنیم كه با رعایت این نكات تا حد ممكن از انواع خطاها از جمله خطاهای زمان اجرا دوری كنید.
۱) در موقع برنامهنویسی تا جاییكه میتوانید دقیق باشید. گاهی رفع كردن یك خطا در برنامهی نوشته شده چندین برابر بیش از نوشتن كل برنامه، دقت و حوصله میطلبد.
۲) باتجربهترین برنامهنویسان نیز هرگز از مراجعه به كتب مرجع برنامهنویسی و راهنمای دستورالعملها كه به صورت Help در نرمافزارهای برنامهنویسی وجود دارند، بینیاز نیستند. پس اگر با نحوهٔ استفاده، محدودیتها و قابلیتهای یك دستورالعمل آشنایی كامل ندارید حتماً قبل از استفاده از آن به كتب مرجع مراجعه كنید.
۳) همیشه سعی كنید مجموعه عملیات مُنسجم و واحدی را كه لازم است در برنامه استفاده كنید، به صورت یك تابع بنویسید. در این صورت از دو مزیت بهره بردهاید: اول اینكه آزمایش و رفع خطای یك تابع كوچك به مراتب سادهتر از عیبیابی در كل برنامه است. دوم اینكه اگر در برنامههای دیگر بخواهید همان عملیات را انجام بدهید، به راحتی میتوانید از تابع حاضر و آماده استفاده كنید.
۴) قبل از استفاده از هر تابع حتماً آن را به دقت آزمایش كرده و از صحت عملكرد آن مطمئن شوید.
۵) در هر دستور جایگزینی حتماً طرفین تساوی را به دقت تعیین كنید و از تطابق متغیر و مقدار جایگزین مطمئن شوید. به خصوص اگر این دستور در داخل یك حلقه باشد كه هر بار مقدار جدیدی جایگزین میشود.
۶) برنامهنویسی دقت و حوصلهی زیاد میطلبد. اگر تمركز ندارید و یا كمحوصله هستید انتظار نداشته باشید كه برنامهای بدون خطا و جذاب بنویسید.
۷) مطمئن باشید هر چقدر تمرین برنامهنویسی بیشتری داشته باشید كمتر با خطاهای مختلف روبرو میشوید.
۸) نكته آخر اینكه دقت، مطالعه و صرف حوصله رمز موفقیت شما در برنامهنویسی خواهد بود.
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست