یک سؤال:
آیا تا به حال چای دم کردهاید؟ برای انجام آن چه مراحلی را طی میکنید؟ ممکن است پاسخ شما به صورت زیر باشد:
- چای را در قوری میریزیم.
- آب جوشیده را بر روی آن میریزیم و صبر میکنیم تا دم بکشد.
- وقتی دم کشید نوش جان میکنیم…
فردی که تا به حال این کار را انجام نداده، آیا می تواند با این دستورالعمل چای دم کند؟!
طبعا جواب منفی است. با توجّه به ریزهکاری های موجود در انجام این عمل باید به گزینههای زیر توجه کنیم:
- ابتدا از تمیز بودن قوری مطمئن میشویم و اگر کثیف بود آن را میشوییم.
- سپس سماور یا کتری را کنترل می نماییم تا تمیز بوده و آب داشته باشد.
- حال اگر کتری است آن را روی شعله گاز قرار میدهیم و اگر سماور است آن را روشن میکنیم.
- در حین این که به صورت پیاپی جوش آمدن آب را چک میکنیم، چای را در قوری میریزیم تا آب جوش بیاید.
- آب که جوش آمد آن را داخل قوری میریزیم تا روی چای را بگیرد.
- آن را روی سماور یا کتری قرار میدهیم تا دم بکشد.
- بسته به نوع چای و تجربهی قبلی دم کشیدن آن بین ۵ تا ۱۵ دقیقه طول خواهد کشید.
- در انتها با ریختن چای به میزان لازم، رنگ مناسب آنرا با ریختن آب جوش تنظیم میکنیم.
- به تعداد لازم ریخته و نوش جان می نمایید.
حال که مراحل بالا را خواندید، آیا میتوان با مراحل بالا عملیات دم کردن چای را انجام داد؟
این نوع نگارش دستورالعمل یا دستورکار دم کردن چای است که در کامپیوتر به آن الگوریتم میگوییم.
الگوریتم چیست؟
مجموعهای از دستورات است که مراحل انجام کار را با یک زبان مشخّص به صورت دقیق و با جزئیّات کافی بیان میکند. دقّت داشته باشید که شروع، پایان و ترتیب انجام مراحل کار باید درآن مشخّص شده باشد. الگوریتم حل یک مسأله لزوماً منحصر به فرد نیست.
به زبان ساده تر :
هر مجموعه دستورالعمل که به یک کامپیوتر اعلام کند مسائل را چگونه حل کند یک الگوریتم محسوب میشود.
فلوچارت چیست؟
فلوچارت نوعی بیان تصویری برای نشان دادن یک الگوریتم است که علایم مخصوص به خود را دارد.
برنامه نویسی چیست؟
برنامه نویسی روند طرّاحی و ساخت یک برنامهی قابل اجرا در کامپیوتر است که انجام کار خاصّی را به عهده میگیرد. معمولاً این کارها تکراری و طاقت فرساست و انجام آن توسّط کامپیوتر با سرعت بیشتر و دقّت بالاتر انجام میگیرد.
برای مثال: پیدا کردن اعداد اوّل تا ۱۰۰۰ که در کسری از ثانیه توسط کامپیوتر انجام میگیرد.
به زبان ساده، برنامه نویسی مهارت صحبت کردن با کامپیوتر است. کامپیوترها زبان انسان را متوجّه نمیشوند و ما هم زبان کامپیوتر را! حالا اگه بخواهیم از قدرت آنها استفاده کنیم و به آنها دستوراتی بدهیم تا اجرا کنند باید بتوانیم با آنها حرف بزنیم.
درواقع برنامه نویسی، زبان صحبت کردن با کامپیوتر ها برای اجرای دستورات ماست.
برای برنامه نویسی به چه چیزهایی احتیاج داریم؟
- دانش برنامه نویسی
- مفاهیم اولیه مثل الگوریتم و فلوچارت
- دستورهای زبان برنامه نویسی
- نصب زبان برنامه نویسی روی کامپیوتر
- IDE (Integrated Development Environment)
- به معنی محیط توسعهی یکپارچه است و منظور از آن نرم افزاری برای نوشتن برنامه است.
- میتوانیم از نرم افزار هایی که دستورات یا syntax زبان پایتون را میفهمند و حتی خطاها را متوجه و توضیح می دهند استفاده کنیم.
- برای مثال: IDLE , Pycharm, VSCode, Brackets, EClips, Atom, …
چرا زبان پایتون ؟
این زبان برنامهنویسی، همه منظوره، سطح بالا، شیءگرا و متن باز است که توسط خیدو فان راسِم در سال ۱۹۹۱ در کشور هلند طراحی شد. در سال ۱۹۹۶ وی دربارهٔ نحوه پیدایش این زبان مینویسد:
در حدود شش سال قبل در دسامبر ۱۹۸۹ من به دنبال یک پروژه برنامهنویسی در جهت فعّالیّت مورد علاقهام میگشتم تا اوقات فراغت کریسمس را پر کنم. دفتر کارم بسته بود، منتها یک رایانه شخصی داشتم و چیزی بیش از این هم در اختیارم نبود. تصمیم گرفتم تا یک مترجم برای یک زبان اسکریپتی بنویسم. قبلاً در مورد زبان ABC فکر کرده بودم. چیزی شبیه به C و Unix، جذاب برای هکرها و قابل انعطاف برای پژوهشگران. نام پایتون را برای عنوان این پروژه انتخاب کردم چرا که جسورانه و غیر معمول بود (همچنین از طرفداران پر و پا قرص سیرک مانتی پایتون بودم)
کلمات کلیدی و اصلی این زبان به صورت حدّاقلی تهیه شدهاند و کتابخانههایی که در اختیار کاربر است بسیار وسیع هستند.
امّا اصطلاحات مطرح شده در بالا:
همه منظوره:
برای همه کار از جمله برنامه نویسی در وب و اپلیکیشن ها و حتی نرم افزارهای موبایل قابل استفاده است.
سطح بالا:
به زبان انسان نزدیکتر از زبان ماشین که صفر و یک است، می باشد.
شیءگرا:
با کلیّهی اشیاء موجود در برنامهها و سیستم عاملها کار کرده و خصوصیّات آن را درک نموده و تغییر میدهد.
متن باز:
متن این زبان برنامه نویسی در اینترنت موجود است و شما میتوانید با دانلود کردن آن تغییرش داده و بازنشر نمایید!!
امّا چرا پایتون را انتخاب کردهایم؟
- سادگی و نزدیکی به زبان انسان (سطح بالا بودن)
- با کمترین کد نویسی به نتیجه میرسیم
- اجرا بر روی پلتفرم های مختلف ( متن باز بودن)
- شئگرا بودن
- درون سازی و استفاده از کد های C و Java به صورت مستقیم در خود متن برنامه
- به خاطر متن باز بودن انجمن ها و تالار های گفتگوی زیادی برای حل مشکلات آن وجود دارد
- با web کار میکند
- برای شروع ساده و عالیست
پایتون زبانی مفسّری است یا کامپایلری؟
مفسّر یک برنامه کامپیوتری است که دستورهای نوشتهشده در یک زبانِ برنامهنویسیِ سطح بالا را به شکل یک کدِ قابلفهم برای ماشین اجرا میکند.
بزرگترین مزیّتی که مفسر دارد این است که برنامه نوشتهشدهی اصلی، وابسته به نوع سختافزار نیست. یعنی برنامهای که به زبان مفسّر نوشته شود میتواند بر روی هر نوع سیستمعاملی اجرا شود.
پایتون یک زبان مفسّری است
به زبان دیگر در صورتی که در فرم نوشتاری یا syntax (سین تَکْسْ) شما ایرادی باشد، پایتون فقط به پیام خطا بسنده نمیکند و ایراد شما را برایتان شرح میدهد.
کامپایلر کل متن برنامه را به زبان ماشین ترجمه و سپس بررسی مینماید و خروجی میدهد که امکان خطایابی کمی پر دردسر است.
نصب پایتون و شروع به کار
در لینوکس هر دو نسخه ۲ و ۳ پایتون نصب است و حتی IDLE هم موجود است و نیاز به کار ویژهای نیست!
حتماً سری به سایت پایتون بزنید…
python.org
برای نصب در ویندوز از منوی Download نسخه ویندوز را دانلود کنید و پس از عملیات نصب به صورت next های پشت سر هم با زدن کلمهی IDLE در کادر جستجوی منوی استارت آن را باز نمایید.
در ادامه کار را در محیط توسعهی IDLE ادامه میدهیم.