4 / 5. 4

فهرست مطالب

فهرست مطالب

الگوریتم به زبان ساده یعنی چه؟

الگوریتم به زبان ساده یعنی بتوانیم راه حل یک مسئله را به صورت گام به گام شرح دهیم. مثلا الگوریتم رد شدن از خیابان شامل چه مراحلی است؟

1- الگوریتم عبور از خیابان

  • مرحله اول –> سمت چپ خود را نگاه می کنیم:

    • اگر ماشینی نمی آمد: به مرحله دو می رویم
    • اگر ماشین می آمد: انقد صبر می کنیم تا برود
  • مرحل دو –> تا وسط خیابان میرویم و سمت راست خود را نگاه می کنیم:

    • اگر ماشینی نمی آمد: به مرحله سه می رویم
    • اگر ماشین می آمد: انقد صبر می کنیم تا برود
  • مرحله سه –> خیابان را رد می شویم
الگوریتم به زبان ساده-الگوریتم عبور از خیابان
شکل 1- الگوریتم عبور از خیابان

2- الگوریتم به زبان ساده برای تشخیص سال تولد

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

  • مرحله اول –> سن شخص را می پرسیم و در حافظه خود نگه می داریم
  • مرحله دوم –> سال جاری را منهای سن شخص می کنیم و نتیجه را در حافظه خود نگه می داریم
  • مرحله سوم –> سال به دست آمده  را به خود شخص اعلام می کنیم

 

در این مثال “سن شخص” حکم ورودی دارد. به هر داده ای که مقدارش مشخص نیست و باید مقدار آن را قبل از شروع الگوریم بدانیم ، ورودی گفته می شود.

 

همچنین هر مقداری که نتیجه الگوریتم شماست حکم خروجی را دارد. در این مثلا “سال به دست آمده در مرحله سوم” خروجی الگوریتم ما می باشد.

3- الگوریتم تشخیص زوج یا فرد بودن عدد

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

  • مرحله اول –> عدد را از کاربر می پرسیم و در حافظه خود نگه میداریم
  • مرحله دوم –> عدد را تقسیم بر دو می کنیم و باقیمانده را در حافظه خود نگه می داریم

  • مرحله سوم-> اگر باقیمانده صفر باشد، به کاربر اعلام می کنیم که عدد زوج است و اگر باقیمانده 1 باشد به کاربر اعلام می کنیم که عدد فرد است

نکته : پس اینجا هم یک ورودی و یک خروجی داریم.

الگوریتم به زبان ساده-الگوریتم تشخیص عدد زوج یافرد
شکل 2- الگوریتم تشخیص سال تولد

4- الگوریتم تشخیص عدد اول

بر اساس تعریف، عدد اول یک عدد صحیح مثبت است که تنها بر خودش و ۱ تقسیم‌پذیر است. برای مثال، ۲، ۳، ۳، ۵ و ۷ اعداد اول هستند.

حال اگر بخواهیم الگوریتمی به زبان ساده بنویسیم که بتواند تشخیص بدهد که یک عدد اول است یا خیر، میتوانیم به صورت زیر عمل کنیم:

  • مرحله اول –> عدد را از کاربر می پرسیم و در حافظه خود نگه میداریم(این عدد را به عنوان n در نظر میگیریم)

  • مرحله دوم –> یک عدد دیگر نیز در نظر میگیریم با عنوان C که مقدار اولیه آن 1 می باشد.( C در واقع اعداد مابین 1 تا n می باشد که در هر مرحله باید یک واحد به آن اضافه کنیم)

  • مرحله سوم –> یک متغیر دیگر نیز با عنوان R تعریف میکنیم و مقدار اولیه آن را 0 میگذاریم، که هر بار که n را بر C تقسیم کردیم و باقیمانده صفر شد، به آن یک واحد اضافه می کنیم.

  • مرحله چهارم- > عدد n را بر C تقسیم میکنیم اگر با قیمانده صفر بود، کارهای زیر را انجام میدهیم:
     1- اگر حاصل باقیمانده n بر C صفر بود، به R یک واحد اضافه کن.
     2- سپس، اگر C کوچکتر از n بود ، به C یک واحد اضافه کن و مرحله چهار را دوباره انجام بده . در غیر اینصورت اگر C با n برابر بود ، برو به مرحله پنچم.

    مرحله پنجم –> اگر R بزرگتر از 2 بود یعنی عدد به غیر از یک و خودش بر اعداد دیگری نیز بخش پذیر بوده است پس عدد اول نیست.
    از طرف دیگر اگر R مساوی با 2 بود یعنی عدد فقط بر خودش و یک بخش پذیر بوده است پس عدد اول است.

 

حالا نوبت شماست که برای مثال زیر یک الگوریتم به زبان ساده بنویسید و آن را در قسمت کامنت برای ما به اشتراک بزارید .

مثال : الگوریتمی بنویسید که دو عدد را بگیرد و میانگین آن ها را محاسبه و اعلام کند.

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

مطالب مرتبط و تکمیلی: