همه افراد باید برنامهنویسی یاد بگیرند؛ چون فکر کردن را به آدمها یاد میدهد.)(استیو جابز)
آموزش الگوریتم به زبان خودمونی :) (پارت دوم)
سلاااااام
من علی اکبر سلیمانی هستم و با پارت دوم الگوریتم به زبان خودمونی امروز در خدمتتونم
قبل از اینکه این اموزش رو شروع کنم یه نکته رو حتما رعایت کنید که حتما اول پارت های قبلی رو بخونید و حتما تمریناتی ک اخر اموزش میزارم رو انجام بدید در ضورتی که تونستید حل کنید پارت بعدی رو بخونید در یر اینصورت فقط خودتونو گیج میکنید و نتیجش این میشه که از برنامه نویسی متنفر می شید!!
الان که درس جلسه پیش رو به خوبی یاد گرفتید یه سری نکات رو لازم میدونم ک همین الان بگم ک الگوریتم هاتون کاملا حرفه ای به نظر بیان!
۱.اول از همه اینکه الگوریتم باید به ترتیب و مرحله به مرحله باشه (الگوریتم از بالا به پایین به ترتیب نوشتن شما اجرا میشه و اگه ترتیبش اشتبا باشه به مشکل بر میخوره)
۲.از بیان چیزای اضافه پرهیز کنید چون نرم افزار رو سنگین میکنه و همچنین کد نویسیش سخت میشه
۳.از زبان ساده استفاده کنید یه طوری باشه ک هر کسی الگوریتم رو دید بفمه چیه و تازه نخواد کد رمزگشاییش رو از شما بگیره!
۴.الگوریتم باید حتما شماره گزاری شده باشه مراحلش.
۵. همیشه مرحله شماره ۱ الگوریتم شروع و مرحله اخرش پایان باید باشه.
۶.اولویت عملگرهای ریاضی را در نظر داشته باشید (به عنوان مثال محاسبه حاصل ضرب نسبت به محاسبه حاصل جمع در اولویته)
اینم یادتو باشه که شما فقط عملگر هایی رو مجاز به استفاده هستید که روی صفحه کلیدتون باشه (مثل جمع و ضرب و…)
چیزایی مث خط کسری و توان و… رو مجاز به استفاده نیستیم و باید جور دیگه بنویسیمشون.
بر فرض مثال شما نمیتونید عبارت زیر رو تو الگوریتم به کار ببرید
در عوضش باید اینظوری باید اینطوری تایپ بشه
خب فک میکنم دیگه نکات لازم رو گفتم بریم سر ادامه اموزش
با یه مثال شروع میکنیم
برنامه ای بنویسید که یک عدد از ورودی بگیرد و مثبت و منفی بودن انرا مشخص کند
شروع و پایان برنامه رو توجه کنید
۱.شروع
۲.عددی را از ورودی بگیر و انرا در a قرار بده
۳.اگر ۰>a آنگاه “مثبت” را چاپ کن در غیر اینصورت “منفی” را چاپ کن
۴. پایانیکی دیگه از نکاتی که باید رعایت کنید اینه که اگر متنی رو میخواید چاپ کنید داخل الگوریتمتون حتما داخل دابل کوتیشن “متن” باید قرار بگیره.
مثال:برنامه ای بنویسید که دو عدد دریافت کند و نشان دهد میانگین انها بزرگتر یا مساوی با ۲۰ است یا خیر
۱.شروع
۲.a و b را از ورودی دریافت کن
۳.a و b را جمع کن و مجموع را در c قرار بده (c=a+b)
۴.c را بر ۲ تقسیم کن و حاصل را در d قرار بده
۵.اگر ۲۰=<d آنگاه “YES” را چاپ کن
۶.اگر d<20 انگاه “NO”را چاپ کن
۷.پایان
خب بیاین یکم جلوتر بریم
الگوریتمی بنویسید که ۳ عدد از ورودی بگیرد و بزرگترین ان را چاپ کند
۱٫ شروع
۲٫ a و b و c را از ورودی بگیر
۳٫max=a(یک متغیر با نام دلخواه تعریف کردم تو این مرحله و برابر با یکی از اعداد قرار دادمش)
۴٫اگر b>max آنگاه b را به max بده(max=b)
۵٫اگر c>max آنگاه c را به max بده(max=c)
۶٫max را چاپ کن
۷٫پایانبه این ترتیب عددی که از همه بزرگتره برابر با max قرار داده میشه و در اخر هم همین max ینی بزرگترین عدد چاپ میشه (به همین سادگی)
عملگر های منطقی
اگر بخواهیم چند شرط و مقایسه را با هم ترکیب کنیم باید از عملگرهای منطقی استفاده کنیم، که شامل دستورات زیر میشه: and: عملگر “و” منطقی (and منطقی) این عملگر شرطها را بررسی میکنه و اگر تمام آنها درست باشه دستورات شرط برقرار میشود، اما اگر تنها یکی از شرطها برقرار نباشد، دستورات شرط اجرا نمیشه. or: عملگر “یا” منطقی (or منطقی) این عملگر شرطها را بررسی میکنه و اگر تنها یکی از آنها نیز درست باشه دستورات شرط برقرار میشه، فقط در صورتی که هیچ کدام از شرایط برقرار نباشه دستورات اجرا نمیشه. not: عملگر “نقیض” این عملگر تمام دستورات را نقض میکنه، یعنی عبارات صحیح غلط و عبارات غلط صحیح میشه.
بزارید مطلب بالارو با یه مثال بهتون توضیح بدم
الگوریتمی بنویسید که دو عدد را دریافت کرده و مشخص کند مجموع آن دو عدد بین ۰ تا ۲۰ هست یا خیر.
- شروع
- m و n را دریافت کن.
- sum=m+n
- اگر sum>0 و sum<20 آنگاه چاپ کن “Yes” در غیر اینصورت “No” را چاپ کن.
- پایان
(همونظور که می بینید در دستور شرط از and منطقی “و” استفاده کردیم، بدین ترتیب برای اجرای دستور باید هر دو شرط همزمان برقرار باشه با اینکار تونستیم بازهی اعداد را مشخص کنیم)
خب این پارت هم اینجا به پایان رسید امیدوارم تونسته باشم لپ مطلب رو به خوبی بیان کنم و مفهوم داستان تفهیم شده باشین
ایدی من داخل تلگرام sclup@ هست اگر مشکلی داشتید میتونید به بنده رجوع کنید تا مشکلتون رو حل کنم
منبع نوشته: تکنو مگ
مطلبی دیگر از این انتشارات
تجربه یادگیری سی پلاس پلاس به صورت Self-Study
مطلبی دیگر از این انتشارات
معرفی معماری سه لایه در مهندسی نرم افزار
مطلبی دیگر از این انتشارات
هوش مصنوعی و زبان های برنامه نویسی (قسمت دوم)