الگوریتم چیست؟جیمز رابینسون را تماشا آموزش الگوریتم وفلوچارت کنید که مفهوم الگوریتم ها را معرفی می کند، و توضیح می دهد که چگونه آنها با برنامه ها مرتبط هستند و چرا اینقدر مهم هستند.زیرنویس ها را فعال کنیدتنظیماتPIPورود به حالت تمام صفحهبازیمشاهده متناین پست رو به اشتراک بگذارید
برنامه نویسان از توابع برای ساخت تکه های قابل استفاده مجدد از کد و مدیریت پیچیدگی استفاده می کنند. در این مقاله، منظور برنامه نویسان از واژه الگوریتم و نحوه ارتباط الگوریتم ها با برنامه هایی که می نویسیم را مورد بحث قرار خواهیم داد. فرصتی وجود خواهد داشت که چند الگوریتم ساده انگلیسی بنویسید و سپس از مهارت های فهرست خود برای تبدیل این الگوریتم ها به برنامه استفاده کنید. همچنین با یادگیری ایجاد و دستکاری لیست ها، مهارت های پایتون خود آموزش الگوریتم وفلوچارت را گسترش خواهید داد.
الگوریتم ها
یکی از چالشهای مرتبط با یادگیری (و آموزش) علوم کامپیوتر، واژگان اضافی است که معرفی میکند، یا اصطلاحات پیچیده برای ایدههای به اندازه کافی ساده (الگوریتم، تجزیه، انتزاع)، یا اصطلاحاتی که معانی خاصی در سایر زمینههای یادگیری دارند ("متغیر" به معنای چیزی است که در ریاضیات، علوم و علوم کامپیوتر متفاوت است). در حالی که مهم است که زبان آموزان اصطلاحات را درک کنند، مهمتر درک آنها از مفهوم یا ایده مورد بحث است.
یک الگوریتم را می توان به سادگی به صورت زیر تعریف کرد:الگوریتم مجموعه ای از دستورالعمل هاست که دقیقاً یک فعالیت را توصیف می کند.دستورالعمل ها باید به گونه ای باشد که هر «بازیگری» بتواند برای تولید همان خروجی از آن آموزش الگوریتم وفلوچارت پیروی کند.
«بازیگر» به هر چیزی اعم از انسان یا رایانه اطلاق میشود که قابلیت محاسبه را داشته باشد.می خواهند نگه دارنداین مطالب برگرفته ازدوره آنلاین Raspberry Pi Foundationبرنامه نویسی 102: مانند یک دانشمند کامپیوتر فکر کنید
مشاهده دورهالگوریتمها هر روز در اطراف ما برای انجام انواع کارها استفاده میشوند، مانند یافتن مسیری از A به B، جستجو در اینترنت برای یافتن مناسبترین صفحات، یا توصیه فیلمها بر اساس تماشای گذشته شما.
در حالی که میتوانیم کلمات دستورالعملها را جایگزین الگوریتم کنیم، برخی از ویژگیهای مهم الگوریتمها وجود دارد که آنها را متمایز میکند. یک الگوریتم:
باید به اندازه کافی دقیق و بدون ابهام باشد: هر ایرانیان سایبر مرحله باید برای بازیگر اجرای الگوریتم واضح باشد.باید قابل تکرار باشد و بر اساس ورودی های یکسان نتایج آموزش الگوریتم وفلوچارت قابل پیش بینی تولید کند.
می تواند در طیف وسیعی از اشکال، از جمله زبان طبیعی، شبه کد، نمودار جریان، یا نمادها نشان داده شود.یک الگوریتم ترسیم مربعی که به زبان انگلیسی ساده، شبه کد و نمودار جریان نشان داده شده است.
الگوریتم ها و برنامه ها
اصطلاح الگوریتم اغلب با برنامه اشتباه گرفته می شود. در حالی که این دو به هم مرتبط هستند، معانی متفاوتی دارند. یک الگوریتم چگونگی تکمیل یک کار خاص را برای هر بازیگری برای انجام آن شرح میدهد، در حالی که یک برنامه همان الگوریتمی است که برای کامپیوتر پیادهسازی میشود تا قوانین یک زبان برنامهنویسی مشخص را انجام دهد و نوشته شود.
به عنوان مثال، الگوریتم ترسیم مربع زیر را می توان با استفاده از ابزار قلم در اسکرچ، ماژول لاک پشت در پایتون، یا حتی توسط یک ربات طبقه ای پیاده سازی کرد.
کدی که الگوریتم بالا را در بلوکهای اسکرچ و پایتون بهعلاوه یک ربات کف نشان میدهد. بلوک های خراش عبارتند از: "وقتی روی پرچم سبز کلیک شد" "قلم پایین" "تکرار 4" "حرکت 100 مرحله" "چرخش در جهت عقربه های ساعت 90 درجه" و انتهای بلوک تکرار. برنامه پایتون میخواند: "از لاکپشت واردات Turtle t = Turtle() برای x در محدوده (4):" و سپس "t.forward(100) t.right(90)" را نشان میدهد.
یک مشکل، راه حل های متعدد
یکی از جنبه های واقعا جالب الگوریتم ها الگوریتم وفلوچارت این است که برای هر مسئله ای، راه حل های متعددی وجود دارد. خواه ساده، ظریف، سریع یا ناکارآمد باشند، همه آنها تا زمانی که خروجی های مورد نظر را تولید کنند معتبر هستند.