الگوریتم

الگوریتم و برنامه نویسی

الگوریتم 

واژه ی الگوریتم از نام خوارزمی گرفته شده است.

خوارزمی از ریاضی دانان و ستاره شناسان و جغرافی دانان ایرانی است.

کامپیوترها و سیستم های کامپیوتری برای انجام کارها نیاز به برنامه دارند.

برای نوشتن یک برنامه اغلب نیاز به الگوریتم داریم.

می توان الگوریتم را الگو نیز نامید.

یعنی در اکثر مواقع نقطه شروع نوشتن یک برنامه نوشتن یک الگو است.

الگوریتم

الگوریتم چیست؟

یک دستورالعمل مرحله به مرحله برای نوشتن یک برنامه است.

مهارت حل مسئله یک مهارت مهم برای برنامه نویسی است.

در واقع یک روش گام به گام برای حل کردن مسائل است.

می توان گفت همان طریقه پخت در آشپزی است.

اگر این طور فرض کنیم کسی که الگو را می نویسد نویسنده دستور آشپزی است.

و کامپیوتر آشپز.

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

کامپیوتر الگو را به یک برنامه تبدیل می کند.

برای حل یک مسئله می توان راه های متعددی ارائه کرد.

مراحل نوشتن الگوریتم

اولین قدم تعیین هدف است

تعیین نقطه شروع 

تعیین نقطه پایان

لیست کردن مراحل از ابتدا تا انتها

مشخص کردن نحوه انجام هر مرحله  

الگوریتم

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

مرحله به مرحله بنویسید که قرار است چه کارهایی انجام شود.

در زمان نوشتن یک الگو فکر کنید که کامپیوتر یک بچه است.

یعنی باید کوچک ترین چیزها را برایش توضیح دهید.

الزامی برای استفاده از زبان انگلیسی وجود ندارد.

هنگام استفاده از عملگرهای ریاضی حق تقدم رعایت کنید.

سعی کنید بهترین الگو را ارئه دهید.

سه مورد که باید برای نوشتن الگوریتم شفاف باشد:

مقادیر معلوم

مقادیر معلوم همان داده های مسئله است.

اطلاعاتی که برای حل مسئله در اختیار داریم.

خواسته های مسئله

مقادیری که مجهول هستند و هدف اصلی مسئله می باشند.

عملیات محاسباتی

دستورات و روابط منطقی که برای حل مسئله به کار می روند.

الگوریتم

مثالی از الگوریتم در زندگی روزمره

صبح شده است و قرار است به مدرسه بروید.

از تخت بیرون می آیید ولی هر چه فکر می کنید نمی دانید که جورابتان کجاست؟

در مرحله اول به سراغ جاهایی می روید که معمولا جورابتان را می گذارید.

مثلا زیر تخت خوابتان را جستجو می کنید.

بعد سعی می کنید به خاطر بیاورید که آخرین بار آن را کجا گذاشته اید.

بعد سراغ لباس های شسته ی روی بند رخت می روید.

در مرحله بعد از پدر یا مادر خود سوال می پرسید.

تا در نهایت جورابتان را پیدا کنید.

همانطور که در این مثال مشخص است الگو روش کار ارائه می دهد.

ویژگی های الگوریتم

نقطه شروع و پایان

هر الگو باید دارای شروع و پایان مشخصی باشد.

ورودی

یک الگو می تواند هیچ ورودی نداشته باشد.

یا می تواند چند ورودی داشته باشد.

خروجی

یک الگو باید یک یا چند خروجی داشته باشد.

کارایی

هر دستور الگو باید قابل اجرا باشد.

محدودیت

الگو باید پس از طی مراحل محدودی پایان یابد.

الگوریتم

شرط ها

وقتی قصد داریم درستی یک عبارت را بررسی کنیم و بر اساس درستی یا نادرستی آن عملیات خاصی را انجام دهیم از شرط ها استفاده می کنیم.

شکل کلی شرط به این دو صورت است:

اگر (عبارت شرط) آنگاه دستورات مورد نظر

اگر (عبارت شرط) آنگاه دستورات مورد نظر ۱ در غیر این صورت دستورات مورد نظر۲ 

حلقه ی تکرار

بعضی مواقع نیاز است که یک عملیات مشخص چند بار تکرار گردد.

حلقه ی تکرار کمک می کند که مجموعه ای از دستورات تکرار شوند. 

چرخه حیات الگوریتم

طراحی 

برای طراحی روش‌های مختلفی وجود دارد.

مانند روش های تقسیم و غلبه، روش های حریصانه و …

اثبات درستی 

باید اثبات شود که الگوریتم نوشته شده درست است یا خیر.

یعنی به ازای هر ورودی مناسب خروجی صحیحی بدهد.

تحلیل 

تحلیل یعنی این که یک الگوریتم به چه میزان پیچیدگی زمانی و فضایی نیاز دارد.

پیاده سازی

نوشتن الگوریتم به یک زبان برنامه‌نویسی معین

تست برنامه

تست یک برنامه شامل دو مرحله است:

اشکال زدایی و اندازه‌گیری کارایی 

چند نمونه از الگوریتم های رایج

الگوریتم های مرتب سازی که داده ها را بر اساس یک ترتیب معین مرتب می کند.

الگوریتم‌های پیدا کردن بهترین پاسخ که در مورتورهای جستجو کاربرد دارند.

الگوریتم های پیشنهاددهنده کهدر بسیاری از نرم افزارها مثل شبکه های مجازی کاربرد دارد.

الگوریتم‌های رمزنگاری کهبرای امنیت تبادل اطلاعات به کار می روند.

الگوریتم‌های فشرده سازی که برای کاهش حجم داده ها به کار می روند.

 

الگورینک

 

   

مهتاب روحی

دیدگاه بگذارید

avatar
  Subscribe  
Notify of
     

با تین تک همراه شو :)