آشنایی با الگوریتم، فلوچارت و شبه کد

آشنایی با الگوریتم، فلوچارت و شبه کد

الگوریتم چیست؟
الگوریتم دستورالعملی برای حل مجموعه ای از مسائل است. مجموعه ای از دستورالعمل ها است که به شما می گوید گام به گام چه کاری انجام دهید. 
الگوریتم مفهومی است که می تواند با استفاده از زبان، فلوچارت یا شبه کد توصیف شود. یک الگوریتم می تواند در زبان های برنامه نویسی مختلف پیاده سازی شود. 
فلوچارت ها
فلوچارت یک توصیف گرافیکی از یک الگوریتم با استفاده از شکل های مختلف و فلش ها است که آن ها را به هم متصل می کند و مناسب برای الگوریتم های ساده است.
فلوچارت ها وقتی بزرگ‌تر می‌شوند به یک «نمودار اسپاگتی» تبدیل می‌شوند که پیگیری آن دشوار است. امروزه به طور معمول از آن ها استفاده نمی شود. 
شبه کد
شبه کد، ایده ی استفاده از یک راه میانی برای ارتباط بین زبان طبیعی و زبان برنامه نویسی است.  این ایده سینتکس رسمی ندارد اما به طور معمول ساختار زیر را دارد: 
1. از مفهوم متغیر و انتساب استفاده می شود. به عنوان مثال: "a<- 5" به این معنی است که متغیر a دارای ثابت 5 است. 
2. داده های ورودی و خروجی نشان داده شده است. 
3. دستورالعمل های چرخه ای مانند "loop" استفاده می شود.

مثال:
شبه کد زیر برای تعیین این که یک مثلث، متساوی الساقین یا متساوی الاضلاع است.

Input data: side1, side2, side3
Output data: triangle type

if side1 = side2 and side1 = side3
then 
type <- equilateral
else
if (side1 = side2) or (side1 = side3) or (side2 = side3)
then 
 type <- isosceles 
else
 type <- scalene

برنامه چیست؟
یک برنامه به طور ذاتی به یک کامپیوتر مرتبط است. کامپیوترها برنامه ها را اجرا می کنند. برنامه ها داده ها را از فایل ها، پایگاه های داده، شبکه ها، صفحه کلیدها می خوانند و داده ها را روی فایل ها، پایگاه های داده، شبکه ها، صفحه نمایش ها و غیره می نویسند.
برنامه ها توسط پردازنده کامپیوتر اجرا می شوند. برای این کار، آن ها باید بر روی RAM حافظه اصلی بارگذاری شوند. بارگذاری برنامه ها بر روی حافظه توسط نوع خاصی از نرم افزار یا برنامه به نام سیستم عامل انجام می شود.
تفاوت بین الگوریتم و برنامه
اگرچه ممکن است آن ها با هم ترکیب شوند زیرا هر دو مجموعه ای از دستورالعمل ها هستند، اما نشان دهنده ی دو مفهوم بسیار متفاوت هستند. یک الگوریتم بیشتر شبیه یک ایده است، راهی برای حل یک مسئله، در حالی که یک برنامه بیشتر به اجرای یک یا چند کار توسط کامپیوتر مرتبط است.
یک برنامه می تواند یک یا چند الگوریتم را پیاده سازی کند، یا ممکن است آن قدر ساده باشد که مجبور نباشیم از یک الگوریتم استفاده کنیم.
وظیفه یک توسعه دهنده به طور معمول با طراحی الگوریتم هایی برای حل مسائل و سپس پیاده سازی و گنجاندن آن ها در یک برنامه، شروع می شود. وقتی در مورد یک برنامه صحبت می کنیم همیشه این ایده وجود دارد که توسط یک کامپیوتر اجرا می شود در حالی که یک الگوریتم می تواند توسط یک شخص اجرا شود.
یک برنامه به زبان ماشین یا حداقل به زبانی نوشته می شود که می تواند توسط نوعی ماشین کامپایل یا تفسیر شود (گاهی اوقات ماشین مجازی).

منبع:  

http://www.edu4java.com/en/concepts/what-is-a-program-an-algorithm.html

 

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon