0 / 5. 0

فهرست مطالب

فهرست مطالب

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

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

مقسوم علیه های عدد 4 عبارتند از :  1،2،4

مقسوم علیه های عدد 30 عبارتند از:  1، 2، 3، 5، 6، 10، 15، 30

حالا می توانیم مشاهده کنیم که اعداد 1 و 2، مقسوم علیه های مشترک اعداد 4 و 30 می باشند.

1- الگوریتم مقسوم علیه های مشترک دو عدد

در این قسمت، این الگوریتم را مرحله به مرحله توضیح و جدول دیباگ آن را رسم می کنیم تا بهتر بتوانیم عملکرد این الگوریتم را بفهمیم.

  • مرحله اول

مرحله اول دریافت ورودی می باشد. یعنی اعدادی که می خواهیم مقسوم علیه های مشترک آنها را محاسبه کنیم. سپس، این عدد را در دو متغیر دلخواه مثل N1 و N2 قرار می دهیم (مثلا N1=4 و N2=30).

حالا جدول دیباگ آن را به این شکل رسم می کنیم:

الگوریتم مقسوم علیه های مشترک دو عدد - مرحله اول
شکل 1- دریافت دو عدد از کاربر و نگهداری آنها در متغیرهای N1 و N2
  • مرحله دوم

در این مرحله باید به وسیله یک شمارنده، حلقه ای ایجاد کنیم که بتواند اعداد 1 تا 4 را در خودش نگه دارد. 

نکته: چون اعداد مشترک بین 30 و 4 عبارتند از 1، 2، 3 و 4 پس کافی است حلقه ای ایجاد کنیم که بتواند 1 تا 4 را بشمرد.

اسم این متغیر را c می گذاریم و مقدار اولیه آن 1 است. همچنین مانند مرحل قبل، جدول دیباگ را تکمیل می کنیم:

الگوریتم مقسوم علیه های مشترک دو عدد - مرحله دوم
شکل 2- تعریف یک شمارنده با استفاده از تعریف متغیر C
  • مرحله سوم
  • a) عدد N1 و N2 را بر C تقسیم میکنیم و اگر باقیمانده هر دو عدد برابر با صفر شد، C را در خروجی چاپ می کنیم.
  • b) به C یک واحد اضافه می کنیم، اگر C بزرگتر از N1 بود به مرحله چهارم برو، در غیر اینصورت، قدم 1 رو دوباره اجرا کن..

این مرحله در واقع یک حلقه می باشد، یعنی مرحله چهارم چند دور اجرا می شود. در این جا، این حلقه را انقدر تکرار می کنیم تا C بزرگتر از N1 شود.

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

  • دور  اول

زمانیکه وارد دور اول حلقه در مرحله چهارم می شویم، N=7 ،C=1 وR=1 می باشد.

حالا طبق قدم اول(در بالا به آن اشاره شد)، R*C و نتیجه را در R میریزیم و سپس به C، یک واحد می کنیم.

چون C در مرحله قبل برابر با 1 بوده است پس در پایان دور اول به آن یک واحد اضافه می کنیم که می شود 1 .

الگوریتم مقسوم علیه های مشترک دو عدد - مرحله دوم
شکل 4- مرحله سوم: دور اول
  • دور  دوم

در این دور،R*C می کنیم. از انجایی که در پایان دور اول مقدار R برابر با یک و مقدار C برابر با 2 بود پس 2=2*1. نتیجه را در R میریزیم و به C یک واحد اضافه می کنیم که می شود C=3.

الگوریتم محاسبه فاکتوریل
شکل 5- مرحله چهارم: دور دوم
  • دور  سوم تا هفتم

حالا دورهای قبلی را انقدر تکرار می کنیم تا C بزرگتر از N شود. آنگاه میرویم به مرحله پنجم.

شکل 6- مرحله چهارم: دور سوم تا هفتم
  • مرحله پنجم

از آنجا که در پایان دور هفتم مرحله چهارم، مقدار c برابر با 8 شده است و 8 از N بزرگتر است پس مرحله چهارم به پایان میرسد و وارد مرحل پنجم می شویم.

در این مرحله مقدار R را در خروجی نشان داده و الگوریتم محاسبه فاکتوریل به پایان می رسد.

حالا شما الگوریتمی بنویسید که یک عدد را بگیرد و حاصل جمع اعداد 1 تا آن عدد را محاسبه کند. همچنین جدول دیباگ آن را رسم کنید.

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