Mission Carthage

الرئيسية › الدروس › الحساب (Arithmétique)

العوامل الأولية والعاملي وC(n,p) والقواعد وArmstrong

الفصل 16 · 3 رياضيات وعلوم وتقنية, 3 علوم الإعلامية, باك رياضيات وعلوم وتقنية, باك علوم الإعلامية

العوامل الأولية، العاملي، الترتيبات والتوفيقات، تبديل القاعدة، الأعداد التامة وأعداد Armstrong.

دروس هذا الفصل

  1. التحليل إلى عوامل أولية
  2. العاملي، الترتيبات والتوفيقات
  3. تبديل القاعدة
  4. الأعداد التامة وأعداد Armstrong

الدرس 16.1 : التحليل إلى عوامل أولية

9 دقيقة

كل عدد n ≥ 2 يتكتب جداء أعداد أولية: 60 = 2 × 2 × 3 × 5. باش نلقاو العوامل هذي، نجرّبو نقسمو n على d = 2, 3, 4…: كي d يقسم n، نكتبوه ونعوّضو n بـ n div d؛ وإلا نتعدّاو لـ d اللي بعدو. نوقفو كي n تولّي 1.

نصيحة : نجمو نجرّبو d = 4 من غير خوف: كي نوصلو لـ 4، الـ 2 الكل خرجو، إذن 4 ما عادش تقسم n. كان الأعداد الأولية اللي يتكتبو.

انتبه : ما نزيدو d كان كي القسمة ما تنجحش: نفس العامل ينجم يرجع برشا مرّات (2 × 2 في 60).

بـ Python

كل عامل أولي يتكتب في سطر.

n = int(input())
d = 2
while n > 1:
    if n % d == 0:
        print(d)
        n = n // d
    else:
        d = d + 1

بـ algorithme

boucle Tant que توقف كي n تولّي 1.

Algorithme Facteurs
Début
  Lire(n)
  d ← 2
  Tant que n > 1 Faire
    Si n mod d = 0 Alors
      Ecrire(d)
      n ← n div d
    Sinon
      d ← d + 1
    FinSi
  FinTantQue
Fin

TDO
Objet | Type/Nature
n, d | Entier

الدرس 16.2 : العاملي، الترتيبات والتوفيقات

10 دقيقة

الـ factorielle متاع n، نكتبوها n!، هي الجداء 1 × 2 × … × n (و 0! = 1). تعدّ قدّاش من طريقة نرتّبو بيها n حاجات. بيها نحسبو:

فرصة باش نكتبو دالة fact(n) وننادوها برشا مرّات: هذا هو التحليل إلى وحدات.

نصيحة : النتائج أعداد صحيحة: نقسمو بـ div (في Python //) باش تقعد entier.

بـ Python

الدالة fact تتنادى خمسة مرّات باش نحسبو A(n, p) و C(n, p).

def fact(n):
    f = 1
    for i in range(2, n + 1):
        f = f * i
    return f

n = int(input())
p = int(input())
print("A =", fact(n) // fact(n - p))
print("C =", fact(n) // (fact(p) * fact(n - p)))

بـ algorithme

الدالة عندها TDO متاعها للمتغيّرات المحلية f و i.

DEF FN fact (n : Entier) : Entier
TDO
Objet | Type/Nature
f, i | Entier
Début
  f ← 1
  Pour i de 2 à n Faire
    f ← f * i
  FinPour
  Retourner f
Fin

Algorithme Denombrement
Début
  Lire(n)
  Lire(p)
  Ecrire("A = ", fact(n) div fact(n - p))
  Ecrire("C = ", fact(n) div (fact(p) * fact(n - p)))
Fin

TDO
Objet | Type/Nature
n, p | Entier

الدرس 16.3 : تبديل القاعدة

11 دقيقة

إحنا نكتبو الأعداد في القاعدة 10 (الأرقام من 0 لـ 9). الـ ordinateur يستعمل القاعدة 2 (binaire، الأرقام 0 و 1)؛ ونلقاو زادة القاعدة 16 (hexadécimal، من 0 لـ 9 وبعد من A لـ F).

نصيحة : باش نحطّو كل باقي قدّام اللي قبلو، نبنيو chaîne: ch ← convch(r) + ch.

انتبه : لـ n = 0، الـ boucle Tant que n > 0 ما تدورش والـ chaîne تقعد فارغة: عالج الحالة هذي وحدها كان التمرين يطلبها.

بـ Python

التحويل من القاعدة 10 للقاعدة 2.

n = int(input())
ch = ""
while n > 0:
    ch = str(n % 2) + ch
    n = n // 2
print(ch)

بـ algorithme

convch تحوّل الباقي (entier) لـ chaîne.

Algorithme Binaire
Début
  Lire(n)
  ch ← ""
  Tant que n > 0 Faire
    ch ← convch(n mod 2) + ch
    n ← n div 2
  FinTantQue
  Ecrire(ch)
Fin

TDO
Objet | Type/Nature
n | Entier
ch | Chaîne

الدرس 16.4 : الأعداد التامة وأعداد Armstrong

10 دقيقة

مواضيع الامتحانات تحبّ الأعداد المميّزة. كل واحد نختبروه بالحاجات اللي تعرفهم: الـ boucles، mod و div.

نصيحة : لـ Armstrong، نمرّو على الأرقام مرّتين: مرّة باش نعدّوهم، ومرّة للمجموع. نخدمو على نسخة من n باش n تقعد كيما هي.

بـ Python

نختبرو كان عدد هو Armstrong.

n = int(input())
k = 0
c = n
while c > 0:
    k = k + 1
    c = c // 10
s = 0
c = n
while c > 0:
    s = s + (c % 10) ** k
    c = c // 10
if s == n:
    print(n, "est un nombre d'Armstrong")
else:
    print(n, "n'est pas un nombre d'Armstrong")

بـ algorithme

القوّة تتكتب ^ في الـ algorithme.

Algorithme Armstrong
Début
  Lire(n)
  k ← 0
  c ← n
  Tant que c > 0 Faire
    k ← k + 1
    c ← c div 10
  FinTantQue
  s ← 0
  c ← n
  Tant que c > 0 Faire
    s ← s + (c mod 10) ^ k
    c ← c div 10
  FinTantQue
  Si s = n Alors
    Ecrire(n, " est un nombre d'Armstrong")
  Sinon
    Ecrire(n, " n'est pas un nombre d'Armstrong")
  FinSi
Fin

TDO
Objet | Type/Nature
n, k, c, s | Entier

تدرّب مجانًا

كل درس فيه 3 تمارين مجانية مع تلميحات باش تطبّق الفصل هذا مع هنّيبوت.

افتح الفصل في Mission Carthage جرّب في الكومبيلاتور أونلاين

← الفصل اللي قبل : البحث في tableau · الفصل اللي بعد : المصفوفات (Matrices) →

كل الفصول · شوف فروض 2 تكنولوجيا المصلّحة

الدروس كتبناها لـ Mission Carthage على أساس البرنامج الرسمي. الأستاذ متاعك يبقى المرجع.