همه افراد باید برنامهنویسی یاد بگیرند؛ چون فکر کردن را به آدمها یاد میدهد.)(استیو جابز)
آموزش الگوریتم به زبان خودمونی :)(پارت اول)
به نام خدا
من علی اکبر سلیمانی هستم و امروز با یه اموزش خیلی خیلی روان و خودمونی در مورد مبحث الگوریتم در خدمتتون هستم…
همه میدونیم که الگوریتم رو وقتی برای اولین بار میخوایم یاد بگیریم مثل یه کابوس وحشتناکه ولی من اینجام تا شمارو از قسمت کابوس وار این خواب بیرون بکشم و رویاهاش و شیرینیش رو بهتون نشون بدم…
پس با من همراه باشید با الگوریتم به زبان ساده
الگوریتم اصلا چیه؟؟؟
به صورت کاملا عامیانه و خودمونی بخوام بگم الگوی حل یک مساله رو الگوریتم میگن!!(به همین راحتی)
بر فرض مثال من میگم جواب (۲+۲)*۸ چی میشه؟ شما اول خب میای ۲ رو با ۲ حمع میکنی ک میشه ۴ بعد در ۸ ضربش میکنی جواب ۳۲ میشه.الگوریتم هم دقیقا همین کاریه ک شما کردی الان…اینه ک مساله رو ببینی چجوری میخوای حلش کنی و مراحلشو خورد و خاکشیر کنی و بنویسی…
الان یه مثال میزنم ک بهتر بفهمی…
مثلا من میخوام یه چایی دم کنم چیکارا باید بکنم؟
- به آشپزخانه میرم
- کتری رو اب میکنم
- کتری را روی گاز میزارم
- گاز را روشن میکنم
- صبر میکنم که اب جوش بیاد
- چای خشک رو تو قوری میریزم
- اب جوش رو توی قوری میریزم
- قوری را روی کتری میزارم
به همین سادگی!!ما جواب مساعل رو میدونیم فقط نمیدونیم چجوری باید به زبان الگوریتم بیانش کنیم. حالا بیاین یه مثال واقعی تر و نزدیک تر به برنامه نویسی حل کنیم
مثلا من میخوام یه الگورتیمی بنویسم که یه عدد از کاربر بگیره و اونو با ۲ جمع کنه و جوابشو بهم بده
1.عدد را از کاربر بگیر
2.عدد رو با ۲ جمع کن وجواب را در حافظه نگه دار
۳.جواب را چاپ کن
یا یکی دیگه
الگوریتم برنامه ای که دو عدد از کاربر بگیره و حاصل ضربشون رو چاپ کنه
۱.عدد اول را بگیر
۲.عدد دوم را بگیر
۳.عدد اول در دوم را ضرب کن و حواب را در حافظه نگه دار
۴.جواب را چاپ کن
دقت کنید تنها کاری ک من دارم اینجا انجام میدم اینه ک مراحل رو به بخش های کوچیکتر میشکنم به همین راحتی!!! بیاین یکم جلوتر بریم و یه شرط تو الگوریتممون اضافه کنیم
مثلا الگوریتمی رو بنویسید ک عددی رو از ورودی بگیره و نشون بده ک زوجه یا فرد
شرط میبندم همه قفل کردید ک ایییین دیگه چیه بابا چجوری اخه ولی یکم فکر کنید ما همه جواب اینو بلدیم هر عددی که بر ۲ بخش پذیر باشه زوجه در غیر اینصورت فرده (چقد سادست…ما فقط خودمون سخت میگیریم)
۱.عددی رو از ورودی بگیر
۲.آن عدد را بر ۲ تقسیم کن و باقیمانده تقسیم را در حافظه نگه دار
۳.اگر باقیمانده برابر با 0 است “زوج” را چاپ کن در غیر اینضورت “فرد” را چاپ کن
ممکنه استادای شما جور دیگه ای بهتون درس داده باشن وی اصلا درگیر این مساعل نباشید به نظر من الگوریتم یه چیز شخصیه و هر کسی میتونه به زبون خودش بنویستش. مهم نیست ک الگوریتم رو جوری مینویسید مهم اینه ک خورد خورد بشه و بفمیدش جون قراره بعدا از روی همین الگوریتم برناممون رو بنویسیم و یه نکته خیلی مهم که واسه هر برنامه نویسی یه زمانی سوال بوده شاید با این قبیل الگوریتم های وحشتناک مثل محاسبه ترانهاده ماتریس و محاسبه فاکتوریل چند عدد و سری فیبوناچی و … مواجه شدید.بذارید خیالتون رو راحت کنم شما تو برنامه های سنگین حسابداری هم به چیزی جز ۴ عمل اصلی نیاز نخواهید داشت.اگر میخواهید یک برنامه نویس تجاری باشید و استاد شما اینطور درس میده قطعا استاددتون یه برنامه نویس نماست! (این تیکه اقتباس از سایت البرز کد)
و اما تمرینات این پارت(اگر میخواید یاد بگیرید حتما بدون کمک گرفتن از کسی خودتون انجامش بدید)
- برنامه ای بنویسید که دو عدد را تفریق کند.
- برنامه ای بنویسید که نمره دو تا از درس های دانش آموزی را گرفته، و معدل آن دو درس را بدهد. (معدل=مجموع نمره ها تقسیم بر تعداد آنها)
- برنامه ای بنویسید که یک عدد را بگیرد و مشخص کند آیا بر ۵ بخش پذیر هست یا خیر؟ (راهنمایی: از باقی مانده استفاده کنید.)
- برنامه ای را بنویسید که اول یک عدد بگیرد. سپس عدد دوم را بگیرد و مشخص کند عدد اولی بر دومی بخش پذیر است یا خیر (راهنمایی: از باقی مانده استفاده کنید.)
اگه تو نوشتن اگوریتم ها مشکلی داشتید میتونی به ایدی من تو تلگرام پیام بدید sclup@
منبع نوشته: تکنو مگ
مطلبی دیگر از این انتشارات
راه اندازی Powerline در ترمینال ویندوز
مطلبی دیگر از این انتشارات
چگونگی طراحی یک برنامه وب: معماری نرمافزار
مطلبی دیگر از این انتشارات
دانشگاه به چه دردی میخوره ؟