اعرض كل أعمالك. تذكر أن أجزاء البرنامج يجب كتابتها بلغة Java.

افترض أنه تم استيراد الفئات المدرجة في Java Quick Reference حيثما كان ذلك مناسبًا.
ما لم تتم الإشارة إلى خلاف ذلك في السؤال، افترض أن المعلمات في استدعاءات الطريقة ليست فارغة وأن الأساليب يتم استدعاؤها فقط عند استيفاء شروطها المسبقة.
عند كتابة الحلول لكل سؤال، يمكنك استخدام أي من الطرق التي يمكن الوصول إليها والمدرجة في الفئات المحددة في هذا السؤال. إن كتابة كميات كبيرة من التعليمات البرمجية التي يمكن استبدالها باستدعاء إحدى هذه الطرق لن تحصل على رصيد كامل.
 
يتضمن هذا السؤال حساب العامل المشترك الأكبر بين عددين صحيحين موجبين واستخدام العوامل المشتركة الأكبر لتقليل الكسور. سوف تكتب طريقتين في فئة NumberSystem التالية.

نظام أرقام الفئة العامة

{

/\*\* الشرط المسبق: a وb أعداد صحيحة موجبة.

\* إرجاع العامل المشترك الأكبر بين a وb، كما هو موضح في الجزء (أ).

\*/

ثابت عام int gcf (int a، int b)

{ /\* سيتم تنفيذه في الجزء (أ) \*/ }

 

/\*\* الشرط المسبق: البسط والمقام أعداد صحيحة موجبة.

\* تقليل بسط / مقام الكسر

\* ويطبع النتيجة كما هو موضح في الجزء (ب).

\*/

تقليل الفراغ الثابت العام (البسط int، المقام int)

{ /\* سيتم تنفيذه في الجزء (ب) \*/ }

}

العامل المشترك الأكبر (GCF) لعددين صحيحين a وb هو أكبر عدد صحيح يقسم بالتساوي إلى كل من a وb. على سبيل المثال، العامل المشترك الأكبر 8 و12 هو 4.

يمكن حساب العامل المشترك الأكبر باستخدام القواعد التالية.

الحالة الأولى: إذا كان a قابلاً للقسمة على b بالتساوي، فإن العامل المشترك الأكبر هو b.
الحالة الثانية: إذا لم يكن a قابلاً للقسمة بالتساوي على b، فإن العامل المشترك الأكبر لـ a وb يساوي العامل المشترك الأكبر لـ b والباقي عند قسمة a على b.
إذا تم تطبيق القاعدة في الحالة الثانية بشكل متكرر، فمن المؤكد أنها ستؤدي في النهاية إلى الحالة الأولى. خذ بعين الاعتبار الأمثلة التالية.

مثال 1
عند تحديد العامل المشترك الأكبر 30 و3، تنطبق الحالة الأولى لأن 30 قابل للقسمة على 3. لذلك، العامل المشترك الأكبر 30 و3 هو 3.
مثال 2
عند تحديد العامل المشترك الأكبر 3 و30، تنطبق الحالة الثانية لأن 3 لا يقبل القسمة على 30. سيكون العامل المشترك الأكبر 3 و30 مساويًا للعامل المشترك الأكبر 30 والباقي عند قسمة 3 على 30 أو 3.
عند تحديد العامل المشترك الأكبر 30 و3، تنطبق الحالة الأولى لأن 30 قابل للقسمة على 3. والعامل المشترك الأكبر 30 و3 هو 3، وبالتالي فإن العامل المشترك الأكبر 3 و30 هو 3 أيضًا.
مثال 3
عند تحديد العامل المشترك الأكبر 24 و9، تنطبق الحالة الثانية لأن 24 غير قابل للقسمة على 9. سيكون العامل المشترك الأكبر 24 و9 مساويًا للعامل المشترك الأكبر 9 والباقي عند قسمة 24 على 9 أو 6.
عند تحديد العامل المشترك الأكبر 9 و6، تنطبق الحالة الثانية لأن 9 غير قابل للقسمة بالتساوي على 6. سيكون العامل المشترك الأكبر 9 و6 مساويًا للعامل المشترك الأكبر 6 والباقي عند قسمة 9 على 6 أو 3.
عند تحديد العامل المشترك الأكبر لـ 6 و3، تنطبق الحالة الأولى لأن 6 قابل للقسمة بالتساوي على 3. العامل المشترك الأكبر لـ 6 و3 هو 3، وبالتالي فإن العامل المشترك الأكبر لـ 24 و9 هو 3 أيضًا.
مثال 4
عند تحديد العامل المشترك الأكبر لـ 7 و3، تنطبق الحالة الثانية لأن 7 غير قابل للقسمة بالتساوي على 3. سيكون العامل المشترك الأكبر لـ 7 و3 مساويًا للعامل المشترك الأكبر لـ 3 والباقي عند قسمة 7 على 3 أو 1.
عند تحديد العامل المشترك الأكبر لـ 3 و1، تنطبق الحالة الأولى لأن 3 قابل للقسمة بالتساوي على 1. العامل المشترك الأكبر لـ 3 و1 هو 1، وبالتالي فإن العامل المشترك الأكبر لـ 7 و3 هو 1 أيضًا.
 

(أ) تُرجع طريقة gcf العامل المشترك الأكبر للمعلمتين a وb، كما تحدده الحالة الأولى والحالة الثانية. اكتب طريقة gcf أدناه. ننصحك بتنفيذ هذه الطريقة بشكل متكرر.

/\*\* الشرط المسبق: a وb أعداد صحيحة موجبة.

\* إرجاع العامل المشترك الأكبر بين a وb، كما هو موضح في الجزء (أ).

\*/

ثابت عام int gcf (int a، int b)
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}