در اولین قسمت از آموزش برنامه نویسی به زبان پایتون با انواع زبان های برنامه نویسی آشنا شدیم و یاد گرفتیم زبان های برنامه نویسی را می توان به دو دسته زبان های سطح بالا و زبان های سطح پایین تقسیم کرد. همچنین با برخی تفاوت های این دو دسته آشنا شدیم و نحوه اجرای برنامه های نوشته شده در هر یک از آنها را نیز آموختیم. بخش دوم نیز همانند بخش اول به کلیات اولیه مورد نیاز برای قدم گذاشتن به دنیای برنامه نویسی می پردازد. در روز دوم با ساختار کلی یک برنامه و انواع خطاهای ممکن در زمان نوشتن و اجرای برنامه ها آشنا خواهیم شد.
برنامه چیست؟
یک برنامه را می توان دنباله ای از دستورات دانست که نحوه اجرای یک فعالیت محاسباتی را مشخص می کنند. این فعالیت می تواند ریاضیاتی مانند حل دستگاه معادلات یا یافتن ریشه یک چند جمله ای باشد و یا محاسبه ای غیر ریاضی به حساب آید. برای مثال ممکن است بخواهید کلمه مشخصی در یک متن را یافته و همه دفعات تکرار آن را با کلمه دیگری جایگزین کنید. نحوه صدور دستورات در زبان های مختلف برنامه نویسی متفاوت است اما می توان ساختاری کلی برای همه آنها در نظر گرفت.
ورودی (input) : دریافت داده ها از صفحه کلید، یک فایل یا دستگاهی دیگر
خروجی (output) : نمایش داده ها بر روی نمایشگر یا ارسال آنها به یک فایل یا دستگاهی دیگر
بخش ریاضی: اجرای عملگرهای ساده ریاضی مانند جمع و ضرب
اجراهای شرطی: بررسی شرایطی مشخص و اجرای کدهای متناسب با آنها
تکرار: اجرای عملکردی به صورت متناوب با کمی تغییر در پس زمینه برنامه تا زمانی مشخص
در واقع تمامی زبان های برنامه نویسی از همین چند بخش ساده تشکیل می شوند. در نتیجه باید اینطور فکر کنید که در برنامه نویسی هدف ما شکستن بخش های بزرگ و پیچیده یک مساله به قطعه های کوچکتر و ساده تر است تا بتوان به راحتی به حل آنها پرداخت.
رفع خطاها
برنامه نویسی مملو از اشتباهات ریز و درشت است. به دلایل نه چندان مهم، خطاهای برنامه نویسی باگ (bug) نام دارند و فرآیند برطرف کردن آنها رفع خطا یا دیباگ (debugging) نام گرفته. سه نوع خطا می توانند در یک برنامه ایجاد شوند: خطاهای ساختاری (syntax error)، خطاهای زمان اجرا (runtime error) و خطاهای منطقی (semantic error).
خطاهای ساختاری
پایتون (و در حالت کلی تمامی زبان های برنامه نویسی) تنها قادر به اجرای برنامه هایی هستند که از نظر ساختاری صحیح باشند. در غیر این صورت مترجم وجود یک خطا را به اطلاع شما می رساند. Syntax وابسته به ساختار یک برنامه و قوانین آن است. برای مثال پرانتز ها باید به صورت جفتی در یک برنامه استفاده شوند؛ در نتیجه چیزی مانند (1+2) صحیح و 8) نادرست است و در صورت استفاده یک خطای ساختاری رخ خواهد داد. در صورت وجود یک خطای ساختاری در برنامه به هیچ عنوان قادر به اجرای آن نخواهید بود. این خطاها به خصوص در آغاز فرآیند یادگیری برنامه نویسی به دفعات رخ می دهند و با گذشت زمان و کسب مهارت به تدریج کمرنگ تر خواهند شد.
خطاهای زمان اجرا
دلیل نام گذاری این خطاها با چنین نامی آن است که پیش از اجرای برنامه از وجود آنها بی اطلاع خواهید بود. همچنین برخی از برنامه نویسان به این دسته از خطاها “استثنایی” می گویند زیرا بروز آنها نشان دهنده وقوع یک اتفاق استثنایی و عموما ناگوار است. خطاهای زمان اجرا معمولا در برنامه های ساده و کوتاه ظاهر نمی شوند اما در برنامه های پیچیده تر باید منتظر آنها باشید.
خطاهای منطقی
نوع سوم خطاها، خطاهای منطقی هستند و نکته قابل توجه درباره آنها، عدم نمایش هیچ گونه پیامی مبنی بر وجود یک خطا در برنامه توسط رایانه است. با این حال در صورت وجود یک خطا در برنامه نوشته شده نتیجه نهایی با آنچه انتظار می رود یا در واقعیت وجود دارد متفاوت خواهد بود. پیدا کردن خطاهای منطقی معمولا کاری دشوار است زیرا باید برای یافتن آنها خط به خط به بررسی برنامه ای که نوشته شده بپردازید و با تغییر پارامترها و مشاهده خروجی محل اشکال را پیدا کنید.
رفع ایراد تجربی
رفع ایراد یکی از مهم ترین مهارت ها در برنامه نویسی است. این کار با وجود خسته کننده بودند باعث به چالش کشیدن ذهن، قوی تر شدن دانسته ها و تسلط بیشتر در برنامه نویسی خواهد شد. شاید بتوان رفع ایراد را نوعی کارآگاهی دانست زیرا باید به کمک یک یا چند سرنخ مشکل را پیدا کنید. برخی از برنامه نویسان فرآیندهای برنامه نویسی و رفع ایراد را به صورت هم زمان انجام می دهند و به تدریج برنامه نهایی را بدون ایراد آماده می کنند. در چنین شرایطی بررسی درستی اجرای برنامه، یافتن ایرادها و رفع آنها تدریجی انجام می شوند.
زبان های تجربی و زبان های رسمی
زبان های طبیعی مواردی هستند که انسان ها به کمک آنها صحبت می کنند. زبان هایی مانند انگلیسی، فارسی، آلمانی و فرانسوی توسط انسان ها اختراع نشده اند (هر چند کمی توسط آنها قانونمند می شوند) و به صورت طبیعی تکامل پیدا می کنند. در طرف دیگر زبان های رسمی قرار می گیرند که توسط انسان ها برای اهدافی مشخص طراحی شده اند. برای مثال علائم و شکل های مورد استفاده در ریاضی نوعی زبان رسمی را ایجاد می کند و نشانه های مورد استفاده فیزیکدانان در توضیح روابط و فرمول ها هم یک زبان رسمی است. اما مهم تر از همه این موارد زبان های برنامه نویسی هستند که همگی جزو زبان های رسمی به حساب می آیند و برای انجام محاسبات به شکل هایی خاص طراحی شده اند.
زبان های رسمی قوانین سختگیرانه و دقیقی دارند. برای مثال 6=3+3 یک عبارت ریاضی با ساختار صحیح است اما 1$=2&5 از نظر ریاضی دارای ساختار صحیحی نیست. همچنین همان طور که برای صحبت کردن به یک زبان تجربی باید از اجزای تشکیل دهنده آن آگاه باشید، برای بهره گیری از زبان های رسمی هم باید ترتیب درست ساختار آنها را فرا بگیرید.
اولین برنامه
اگر با کلاس های آموزش برنامه نویسی آشنا باشید حتما می دانید که برای یادگیری هر زبانی، اولین برنامه ای که توسط زبان آموزان نوشته می شود Hello world است! در پایتون دستور چنین برنامه ای به صورت زیر خواهد بود:
‘!print ‘Hello World
خط بالا نمایشی از یک دستور چاپی است که البته چیزی روی کاغذ چاپ نمی کند و تنها خروجی را روی نمایشگر نشان می دهد. نتیجه اجرای چنین برنامه ای به این صورت نشان داده می شود:
!Hello World
همان طور که مشاهده می کنید علامت های گیومه در خروجی نشان داده نمی شوند و تنها برای مشخص کردن دستور اصلی هستند. در نسخه سوم پایتون دستور پرینت کمی متفاوت است و به صورت زیر نوشته می شود:
print (‘Hello World!’)
پرانتزها نشان می دهند که عبارت print یک تابع است. در آینده بیشتر با مفهوم توابع در پایتون آشنا خواهیم شد. در بخش بعدی به سراغ متغیرها و انواع آنها در پایتون خواهیم رفت.
سلام از ویرایشگری که در لینک زیر معرفی شده استفاده کنید:
لینک ([url]”https://www.sakhtafzarmag.com/%D8%A7%D8%AE%D8%A8%D8%A7%D8%B1-%D9%88-%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA/%DA%AF%D9%88%D9%86%D8%A7%DA%AF%D9%88%D9%86/27244/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D9%BE%D9%86%D8%AC%D9%85″[/url])
من برنامه پايتون 3.7و3.8را در مك بوك نصب كردم .وقتي از IDLE براي نوشتن برنامه استفاده ميكنم ووقتي كه براي هرخط اينتر را ميزنم اگرخطا نداشته باشه ميره خط بعدي ول اگرخطايي درهمين خط باشه كامپيوترخطا را اعلام ميكنه ولي قابل برطرف كردن نيست ومجبورم عين همين خط را در سطر بعدي با رفع خطا تكراركنم لطفاً راهنماييم بفرماييد كه چكار كنم توي همون خط خطارا برطرف كنم كه مثلاً ممكن هست يه پرانتز ويا دونقطه و….باشه
ممنون از توجه شما. بسیار خوشحال میشم در هر بخشی که سوال براتون ایجاد میشه تو همین کامنتها مطرح کنید تا ضمن اینکه مشکلات رو برطرف می کنیم بتونیم فضای آموزشی گسترده تری رو هم برای همه کاربرا ایجاد کنیم.
درباره سوالتون؛ مترجم تعاملی و متنی دو اسم هستند که در خود برنامه نویسی تفاوتی ایجاد نمیکنن. مترجم تعاملی به این صورت عمل میکنه که شما تو پنجره دستورات یک خط برنامه تایپ می کنید و بعد با enter زدن خروجی دستور رو همون پایین میبینید. ولی مترجم متنی یعنی اول باید همه برنامه رو تو یه فایل بیرونی ذخیره کنید، بعد اون فایل رو اجرا کنید تا خروجی رو ببینید.
تشکر به خاطر ساده نویسی که برای من که سررشته ای از برنامه نویسی ندارم قابل فهم هست چون من کتابهای زیادی رو دیدم که همه ادعای آموزش مبتدی رو داشتند ولی تقریبا همگی فقط بدرد کسی میخورن که قبلا برنامه نویسی کار کرده. اما شماهم در قسمت اول در مورد مترجم تعاملی و متنی متاسفانه کمی غیر قابل فهم نوشتید وتفاوت یا اشتراکش با کامپایل روشن نشده بود.
امیدوارم اموزشها برمبنای پایتون 3.6 باش چون 2.7 قدیمی شده و 3.7 هم خیلی جدید امده . بسیاری از کتابخونه ها و ماژول ها براش نیومده