با سلام مجدد خدمت دوستان عزیزم :
حلسه ی اول رو با نام و یاد خدا شروع می کنیم
توی این جلسه می خوایم درباره ی الگوریتم صحبت کنیم درباره روش های حل مسائل و اون رو به زبون فارسی بنویسیم
با یک مثال شروع می کنم »
شما قصد دارید معدل 3 تا درس یک دانشجو رو حساب کنید ؟
جسارت به دوستان برنامه نویس نشه من این حرف هایی که درباره ی برنامه نویسی میزنم از دیدگاه خودمه اگه اشتباهی میگم شما به بزرگی خودتون ببخشید
خوب بریم سر سوالمون :
یک برنامه نویس باید تخیل فوق العاده قوی داشته باشه سوالی رو که بهش میدن بیاره توی دنیا واقعی
ببینه توی دنیای واقعی چطوری میشه اون کارو کرد و بره توی دنیای مجازی اون کار رو انجام بده
مثلا همین سوال رو نگاه کنید » کارنامتون یادتونه پایان سال یا امتحانات میان سال ؟؟
کارنامتون رو که بهتون میدادن مینشستین چیکار میکردید واسه حساب کردن معدلتون ؟؟؟ فکر کنم حالا افتاد
بله درسته همون کار رو باید انجام بدید ولی توی دنیای مجاری ( مثلا توی این سوال همه ی درس هامون 1 واحدی هستند )
باید نمره ی اول رو با نمره ی دوم جمع کنید و باز جمع اونها رو با نمره ی سوم یا به زبون ساده تر همه ی نمرات رو با هم جمع کنید
خوب حالا که همه ی نمرات رو جمع کردید باید تقسیم بر تعدادشون کنید و معدل رو به دست بیارید
خوب بر میگردیم به دنیای مجاری خودمون
خوب شما وقتی توی برگه نمره ی اول رو با نمره ی دوم جمع کردی جمعش رو یک جا نگه داشتی که با نمره ی سوم جمع کنید درسته ؟؟؟ و بعد باز جمع اونها رو با نمره ی سوم جمع می کردین و باز جمع جمع این دو رو با نمره ی چهارم جمع می کردین
یک نکته ای بهتون بگم اینکه توی دنیای مجازی شما باید منطقی عمل کنید راه حلتون باید با منطق باشه
مثلا شما اگه برگردید به صورت منطقی به این سوال میبینید درسته همه رو با هم جمع می کنید در دنیا واقعی ولی در اصل شما میاین عدد اول با صفری که توی ذهنتون هست جمع می کنید و بعد باز جمع عدد اول با صفر رو با عدد دوم جمع می کنید به همین ترتیب به صورت زیر
عدد اول + 0 = جمع عدد اول و 0
جمع عدد اول و 0 + عدد دوم = جمع ( جمع عدد اول و 0 ) و عدد دوم
.
.
.
.
این ادامه داره تا هر تعداد عددی که خواسته باشید
فکر می کنم الان بعضی از دوستان فکر می کنن چقدر این مسئله ی ساده رو دارم می پیچونم ولی درسته داره خیلی پیچ می خوره ولی ما می خوایم با اصل الگوریتم اشنا بشیم و طرز نگاه به مسئله رو توی شما شکل بدم
یک ترفندی هست بین بچه های کامپیوتر که وقتی می خوان یک مسئله ی مشکل رو حل کنن میان یک قسمت ساده از اون مسئله رو پیاده می کنن در دنیای واقعی و بعد روش کار دستشون میاد ( شیوه ی راه حل رو می فهمن ) و اون رو میبرن توی دنیای مجاری
پس ما یک ظرف اصلی داریم در این سوال که همه ی اعداد رو یکی یکی میایم توش میریزیم تا همه با هم جمع بشن
میایم روش کاری که کردیم رو به زبون فارسی می نویسیم
3 نمره داریم که هر کدوم رو با a و b و c نمایش میدیم
ظرف ما نامش sum هست پس »
مرحله ی 1 : sum = a + sum
مرحله ی 2 : sum = b + sum
مرحله ی 3 : sum = c + sum
مرحله ی 4 : sum / 3
در مرحله ی چهار معدلمون به دست میاد
ما به هر یک از a و b و c و sum توی زبان برنامه نویسی میگیم متغیر
متغیر که معنای اصلیش میشه ظرف یا چیزی که درون خودش مقداری رو نگه داره
پس با متغیر اشنا شدید
حالا به یک نکته توجه کنید توی حل سوال بالا ؟!! ما توی مرحله ی 1 و 2 و 3 یک عمل رو هی تکرار کردیم
درسته اینجا ما وسعت سوالمون کم بود ولی واسه یک سوالی که وسعتش زیاد باشه نمی تونید برای تمام متغیر ها خط به خط مثل بالا بنویسید
پس مجبورید از حلقه استفاده کنید
مثلا در بالا 3 با درستور یک رو اجرا کنه و بعد بره دستور چهار
هر توی هر بار اجرا به جای a عدد مربوط رو قرار بده
مسئله ی ما شد دو مرحله , مرحله ی یک که سه بار اجرا میشه و مرحله ی 4
امیدوارم گیج نشده باشید
خوب حالا بریم سر همون سوال ولی یکم پیشرفته تر
دانشگاه ها رو دقت کردید ؟
اگه معدلتون بالای 17 بشه میشید معدل الف و اگه نشید هم که دیگه نشدید
سوال ما اینه که معدل 3 تا از درس های دانشجو رو بگیرید و بگید معدل الف هست یا نیست ؟
ای بابا ما گه مردیم و یک بار بالاتر از 15 هم نشد
خوب حالا مراحل قبل رو میریم فقط یک مرحله بعد مرحله ی 4 داریم و اون هم تست می کنیم ببینیم بالاتر هست بانه
مرحله ی 5 : اگر معدل بالاتر از 17 هست
چاپ کنه معدل الف
مرحله ی 6 : اگر بالاتر از 17 نیست
چاپ کنه معدل الف نیست
ما به این چک کردن ها می گیم شرط که با اگر شروع میشه اگر درست بود شرط , یک عمل رو انجام میده اگر درست نبود یک عمل دیگه رو
تقریبا رسیدیم به اخر این جلسه حالا من یک سوال میدم روش فکر کنید و حلش کنید
سوال » ما توی کشورمون دو نوع درجه ی هوا داریم یکی حداقل و یکی هم حداکثر میانگین هر کدام از این دو نوع رو توی یک یک ماه بدست بیارید اگر تفاوت میانگین حداقل با حداگثر 10 درجه بود بگه ماه پاییز است وگر نه بگه ماه پاییز نیست
انشا ا... جلسه ی بعد حلش می کنیم ولی شما روش فکر کنید و اونهایی که دوست ندارن توی تاپیک جواب رو بزارن و مشکل دارن واسم بفرستن جواب رو و بپرسن واسه حلش
من یک عذر خواهی از دوستان عزیز که برنامه نویسی یاد دارن بکنم که دارم اینجور در سطح پایین کار می کنم ولی ما خودموم از همین مثال ها شروع کردیم
انشاا... تا چند روز دیگه بخش اموزش پیشرفته رو هم راه میندازیم به جزء این بخش
و نکته ی دیگه هم اینکه ما هر جلسه مون روز در میونه یعنی امروز که 9/26 بود جلسه ی بعد 9/28 خواهد بود
شرمندم اگه خوب توضیح ندادم شما با بزرگواری خودتون ببخشیدم
اگر سوالی چیزی هست خوشحال میشم جواب بدم و توضیح بدم
با تشکر
علاقه مندی ها (Bookmarks)