بایگانی برچسب: پادکست برنامه نویسی

آموزش برنامه‌نویسی – شروع دوباره – الگوریتم چیست

سلام

قرار شد آموزش‌ها برنامه‌نویسی به شیوه‌ی پادکست + نوشته منتشر شوند و امشب هم یک پادکست ۵ دقیقه‌ای در مورد الگوریتم‌ها داریم که متن کامل‌نشده‌ی آن را هم در زیر مشاهده می‌کنید. دلیل کامل‌نشده‌بودن متن نیز این بوده که بخش‌هایی را در حین ضبط اضافه یا حذف کردم مثلا فلوچارت!

بخش اول را از می‌توانید از این‌جا دانلود کنید. همین‌طور همه‌ی پادکست‌های آموزش برنامه‌نویسی (که در آینده منتشر خواهند شد) در مدیافایر موجودند.

این هم نوشته‌ی کامل‌نشده:

سلام

قراره اولین بخش از آموزش برنامه‌نویسی رو دوباره شروع کنیم و امروز جمعه چهارم اسفند ۹۱ هستش و الان هم یه تیکه از بخش اول موسیقی Jack Sparrow از آلبوم موسیقی متن دزدان دریایی کارائیب ۳ (که اسم اصلی‌ش گنجینه‌ی مرد مرده یا Dead Man’s Chest هستش) پخش شد براتون.

خوب بریم سراع آموزش.

رسمه که آموزش الگوریتم رو از درست‌کردن شیرکاکائو شروع کنن که چون شیرکاکائو کپی‌رایت داره و کپی‌رایت‌ش مال یکی از معلم‌های ماست ما از شیرقهوه استفاده می‌کنیم

باید بدونید که در سلوک برنامه‌نویس ها واحبه همیشه یه لیوان شیرقهوه (یا قهوه) کنار دست‌تون باشه!

خوب ما برای درست‌کردن شیر قهوه اول از همه یه قاشق چای‌خوری (که هیشکی تاحالا باهاش چایی نخورده) قهوه و دو تا سه قاشق چایی خوری شکر بر می‌داریم و توی آب جوش به مقدار لازم می‌ریزیم و هم می‌زنیم تا خوب حل بشه و بعد هم شیر می‌ریزیم روش و می‌زاریم کنار دست‌مون تا هروقت لازم شد یه ذره ازش بخوریم.

به مراحلی که ما طی کردیم تا شیرقهوه درست بشه می‌گن الگوریتم درست‌کردن شیرقهوه.

خوب امیدوارم تعریف الگوریتم رو خوب فهمیده باشید.

اما قبول دارید که فهموندن این الگوریتم به کامپیوتر تقریبا غیرممکنه؟ حداقل الان که غیر ممکنه.

برای همین هم باید الگوریتم رو ساده‌تر کنیم. حالا فرض کنیم که یه روبات خیلی پیچیده با قابلیت پذیرش دستورات زیاد داشته باشیم که دستورات ما رو تا حدودی بفهمه ولی خوب چون اون هم کامپیوتره بازهم نمی‌تونه معنی «خوب حل‌شدن» رو بفهمه پس لازمه که متغیرهای کیفی‌مون رو کمّی کنیم.

پس الگوریتم‌مون می‌شه این

یک قاشق قهوه رو بریز توی لیوان

سه قاشق شکر بریز توی لیوان

(مثلا) ۱۰۰میلی‌لیتر آب جوش بریز توی لیوان

تا وقتی که هیچ دونه‌ی قهوه‌ای توی لیوان نمونه محتویات لیوان رو پر کن

تا وقتی که لیوان پر نشده توش شیر بریز

لیوان رو بده به برنامه‌نویس‌ت که قهوه‌ش رو بخوره و برو به کارات برس (:D)

خوب حالا این شد یه الگوریتم که مناسبه برای یه روبات که زبون ما رو می‌فهمن.

اما مطمئنا کامپیوتر شما نمی‌تونه معنی «برو» یا «لیوان» یا حتی قهوه و شکر رو بفهمه و خوب فعلا ما چنین روباتی نداریم. شما اگر دارید خیلی سرمایه‌دارید با این قیمت دلار!

ولی ما برای هرکاری توی زندگی‌مون الگوریتم داریم. مثلا از خیابون رد شدن که شعر‌ش رو روی همه‌ی ایستگاه‌های اتوبوس دیدید و لازم به تکرار نیست!

خوب بیاید یه‌ذره به واقعیت نزدیک‌تر بشیم. اگر روباتی ساده‌تر ولی بازم پیچیده داشته باشیم که بشه بهش گفت که راه بره و دست‌هاش رو تکون بده و مثلا برنامه‌ای برای تشخیص رنگ هم براش بنویسم می‌شه الگوریتم درست‌کردن قهوه رو بازم به واقعیت نزدیک کرد. این‌جوری که در کابینت رو باز کنه و ماده‌ی قهوه‌ای رو پیدا کنه و ماده‌ی سفید رو هم (با این امید که نمک توی اون کابینت نباشه یا مثلا مرگ موش!) و اونا رو توی آب بی‌رنگ باهم قاطی کنه (بازهم با این امید که فقط به اندازه‌ی یک قاشق قهوه و سه قاشق  شکر داشته باشیم) و مثلا بگیم تا وقتی همه‌ی مقادیر مشکی رنگ شد و رنگ قهوه‌ای توی لیوان نمونده باشه و بعدش هم آب سفید رو بریزه توش تا لیوان پر بشه.

و خوب اگر روبات‌مون اینا رو هم نفهمه یعنی یه روبات بازم ساده‌تر ولی بازم پیچیده مجبوریم الگوریتم رو به صورت موتور-موتور تجزیه کنیم. یعنی برای هر حرکت یک موتور باید به کار بیوفته و شاید هم چندتا و این خیلی موتور می‌شه!

خوب فکر کنم برای بخش اول کافی باشه.

برای تمرین هم الگوریتم درست‌کردن خامه‌عسل، باقالی پلو با گوشت و زرشک‌پلو با مرغ رو اول خودتون سعی کنید بنویسید و بعدش هم از کتاب آشپزی کمک بگیرید. و خوب در مرحله‌ی بعدی سعی کنید الگوریتم رو برای روبات‌های ساده‌تر شرح بدید.

به این می‌گن آموزش چندمظوره!‌ هم برنامه‌نویسی و هم آشپری!

برای این‌که هیجان قضیه زیاد بشه میگم که در بخش بعدی آموزش‌مون درمورد الگوریتم‌ها توی برنامه‌نویسیه و البته این بستگی داره به میزان علاقه‌ی شما

خوب امیدوارم تا قسمت بعدی شاداب  و سلامت باشید.

 پی‌نوشت: در پادکست فراموش کردم که بگم آهنگ کار هانس زیمره.

پی‌نوشت۲: هر مشکلی که دیدید لطفا اطلاع بدید مثلا اگر صدا بد بود یا نوشته (و صدا) کامل نبود یا هر چیز دیگه.