تظهر الحاجة إلى تطبيق عملية حساب باقي القسمة عند العمل بأرقام الرقم. & nbsp ؛
دعنا نحلل المهمة التالية:
تم إعطاء رقم مكون من ثلاثة أرقام. اعرض جميع أرقام هذا العدد واحصل على رقم جديد مكون من وحدات ومئات التباديل strong>
أصعب سؤال يطرح نفسه للمبتدئين هو كيفية أخذ الأرقام والحصول عليها من رقم.
في الواقع ، يتم حل كل شيء بكل بساطة ، إذا كنت تتذكر الرياضيات. وتخبرنا الرياضيات أن أي عدد يمكن أن يتحلل إلى مجموع حدود رقمية.
على سبيل المثال: 365 = 3 * 100 + 6 * 10 + 5 * 1
& nbsp ؛. نرى أن كل رقم هو مضاعف الرقم المقابل للرقم. & nbsp؛
سنوضح كيفية الحصول على كل رقم من رقم في متغير منفصل ، باستخدام مثال قسمة الأعمدة على الرقم 10. (نأخذ الرقم 10 ، لأن لدينا نظام رقم عشري ، وبالتالي ، لدينا شروط رقمية 1 ، 10 ، 100 ، إلخ.)
& nbsp؛ & nbsp؛
تحليل الشكل ، يمكنك أن ترى ذلك نبسب ؛
<قبل>
e: = n mod 10 ؛ // عملية n mod 10 - حساب الرقم الأخير من الرقم n (أي وحدات الرقم) 365 mod 10 = 5
د: = n div 10 mod 10 ؛ // عملية n div 10 - تقلل الرقم بمقدار 10 مرات ، أي تجاهل الرقم الأخير من الرقم ( 365 div 10 = 36 ) ،
// الآن يمكننا حساب عدد العشرات من خلال تطبيق العملية المألوفة على النتيجة - حساب الباقي بعد القسمة على الرقم 10 ، 36 mod 10 = 6
s: = n div 100 ؛ // للحصول على المئات ، يكفي تجاهل رقمين من يمين الرقم ، أي القسمة على 10 مرتين ( n div 10 div10 أو مثل n div 100 < / strong>) 365 div 100 = 3
بوجود الأرقام المحفوظة من الرقم ، يمكننا استخلاص أي رقم منها بضرب الرقم المطلوب بالرقم المقابل: & nbsp؛
على سبيل المثال ، سيحصل السطر أدناه على رقم جديد من الرقم الأصلي n ، مع إعادة ترتيب المئات والآحاد:
1) عدد الآحاد القديم (المخزن في المتغير & nbsp؛ e) & nbsp؛ مضروبًا في 100 & nbsp؛
2) عدد العشرات القديم (المخزن في المتغير د) strong> على & nbsp؛ الضرب في & nbsp؛ 10 & nbsp؛
3) يمكننا ببساطة ضرب العدد القديم من المئات في 1 ، أو ببساطة أخذ القيمة المخزنة في المتغير s
ثم أضف القيم من النقاط 1 و 2 و 3 واحصل على رقم جديد:
n1: = e * 100 + d * 10 + s ؛
سيبدو البرنامج بأكمله كما يلي:
<قبل>
var n ، e ، d ، s: عدد صحيح ؛
يبدأ
قراءة (ن) ؛
ه: = ن تعديل 10 ؛
د: = n div 10 mod 10 ؛
s: = n div 100 ؛
writeln (e، & # 39؛ & # 39؛ d، & # 39؛ & # 39؛ s، & # 39؛ & # 39 ؛، e * 100 + d * 10 + s) ؛
نهاية.