صيغة باسكال للمثلث مع أمثلة
⚡ ملخص ذكي
مثلث باسكال هو ترتيب مثلثي للأرقام حيث تساوي كل قيمة مجموع الرقمين الموجودين فوقها مباشرة، مما يكشف عن أنماط عميقة في التوافقية، وتوسعات ذات الحدين، والاحتمالات التي أسرت علماء الرياضيات لقرون.

ما هو مثلث باسكال؟
مثلث باسكال هو مصفوفة مثلثية من الأرقام تتبع نمطًا بسيطًا يعتمد على الصف الذي يعلوه. وقد اشتهر بفضل عالم الرياضيات الفرنسي بليز باسكال في القرن السابع عشر. يبدأ المثلث بالرقم "1" في الأعلى، ويبدأ كل صف لاحق وينتهي بالرقم "1" أيضًا.
إلى جانب شكله الأنيق، يجسد مثلث باسكال علاقات رياضية عميقة. فهو يرتبط ارتباطًا وثيقًا بنظرية ذات الحدين، والعد التوافقي، والاحتمالات، ولهذا السبب يظهر في فصول الجبر والإحصاء وعلوم الحاسوب في جميع أنحاء العالم.
تاريخ مثلث باسكال
على الرغم من تسميته نسبةً إلى بليز باسكال، إلا أن المثلث أقدم منه بقرون. يحتوي النص الرياضي الصيني "الفصول التسعة في الفن الرياضي" على أحد أقدم الأمثلة المعروفة، والذي يعرض العديد من الأنماط نفسها التي نستخدمها اليوم.
عالم الرياضيات الفارسي الكراجي وعالم هندي Pingاستكشف آلا أيضًا مصفوفات مماثلة. قام باسكال بصياغة خصائص المثلث في أطروحته عام 1654 بعنوان "Traité du triangle arithmétique"، والتي أعطت البنية اسمها الحديث في الرياضيات الغربية.
بناء مثلث باسكال
إنشاء مثلث باسكال أمر بسيط. القاعدة الوحيدة التي يجب تذكرها هي أن كل صف يبدأ وينتهي بالرقم 1، وكل رقم آخر يُبنى من الصف الذي يسبقه.
بالنسبة لأي صف r وعمود c، فإن القيمة تساوي مجموع الأرقام في العمودين c-1 و c من الصف r-1.
هنا،
- r = 3، 4، 5، …
- n و c = 2، 3، 4، …، r-1.
فيما يلي خطوات بناء مثلث باسكال:
الخطوة 1) ابدأ بملء الصفين الأولين.
الخطوة 2) العنصر الثاني من الصف الثالث هو مجموع الرقمين الأول والثاني في الصف الثاني.
الخطوة 3) يبدأ الصف الرابع بالرقم "1". الرقم الثاني هو 3، وهو مجموع 1 و 2 (المظلل باللون الأزرق).
توضح الصورة أدناه كيفية ملء الصف الرابع:
الخطوة 4) يتكون الصف الخامس من خمسة أرقام. ونحن نعرف بالفعل نمط ملء الصفوف من الخطوات السابقة.
صيغة مثلث باسكال – معامل ذو الحدين
يحسب معامل ذات الحدين عدد الطرق لاختيار مجموعة جزئية من k عنصرًا من مجموعة من n عنصرًا. ويُكتب عادةً على النحو التالي: "C(n, k)" أو "n اختيار k".
يُعرَّف معامل ذي الحدين على النحو التالي:
يرمز الرمز "!" إلى مضروب العدد.
n! = n.(n-1).(n-2)…3.2.1
على سبيل المثال،
5! = 5.4.3.2.1
= 120
إذن، C(5, 3) أو "5 يختار 3" = 5! / 3!(5-3)!
= 120 / 12
= 10
الطريقة الأولى: بناء مثلث باسكال من الصف السابق
تُحاكي هذه الطريقة كيفية رسمنا للمثلث يدويًا. لنفترض أننا نريد إنشاء مثلث باسكال حتى سبعة صفوف.
الخطوات اللازمة للقيام بذلك هي كالتالي:
الخطوة 1) ابدأ الصف العلوي بالرقم "1".
الخطوة 2) بالنسبة للصف "r"، سيكون العنصر "c" هو مجموع العمود "c-1" والعمود "c" للصف "r-1".
الخطوة 3) سيكون الرقم الأول والأخير في كل صف دائمًا هو "1".
باتباع هذه الخطوات الثلاث البسيطة، يمكننا بناء المثلث بأكمله بشكل منهجي.
C++ Code جزء من مثلث باسكال حسب الصف السابق
#include <bits/stdc++.h> using namespace std; void printRow(int n) { int numbers[n][n]; for (int row = 0; row < n; row++) { for (int col = 0; col <= row; col++) { if (col == 0 || col == row) { numbers[row][col] = 1; } else { numbers[row][col] = numbers[row - 1][col - 1] + numbers[row - 1][col]; } cout << numbers[row][col] << "\t"; } cout << endl; } } int main() { int n; cout << "How many rows: "; cin >> n; printRow(n); }
الإخراج:
How many rows: 7 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
Python Code صيغة مثلث باسكال بواسطة الصف السابق
def printRow(n): numbers = [[0 for row in range(n)] for col in range(n) ] for row in range(len(numbers)): for col in range(0, row+1): if row == col or col == 0: numbers[row][col] = 1 else: numbers[row][col] = numbers[row-1][col-1]+numbers[row-1][col] print(numbers[row][col],end="\t") print("\n") n = int(input("How many rows: ")) printRow(n)
مخرجات مثال مثلث باسكال:
How many rows: 7 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
تحليل التعقيد
A مصفوفة ثنائية الأبعاد يُستخدم في هذا التطبيق. وبما أن N هو عدد الصفوف في مثلث باسكال، فإن هذا يتطلب N2 مساحات الوحدة. لذلك، فإن تعقيد المساحة هو O(N2).
تستخدم الدالة حلقتين متداخلتين، تعمل كل منهما حتى "N" مرة. لذا، فإن التعقيد الزمني هو أيضًا على2)أو تعقيد الوقت التربيعي.
الطريقة الثانية: بناء مثلث باسكال عن طريق حساب معامل ذي الحدين
يمكننا استنتاج أعداد مثلث باسكال مباشرةً باستخدام معاملات ذات الحدين. يوضح الرسم البياني أدناه هذه العلاقة:
فيما يلي خطوات بناء مثلث باسكال عن طريق حساب معامل ذي الحدين:
الخطوة 1) الصف العلوي هو C(0, 0). باستخدام الصيغة أعلاه، C(0, 0) = 1، لأن 0! = 1.
الخطوة 2) بالنسبة للصف "i"، سيكون هناك إجمالي "i" عنصرًا. يتم حساب كل عنصر كـ C(n, r)، حيث n هو i-1.
الخطوة 3) كرر الخطوة 2 لعدد صفوف مثلث باسكال التي تريد إنشاءها.
C++ Code مثلث باسكال باستخدام معامل ذي الحدين
#include <iostream> using namespace std; int factorial(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } int binomialCoefficient(int n, int r) { int result = 1; if (r > n) { return -1; } result = factorial(n) / (factorial(r) * factorial(n - r)); return result; } void printPascalTriangle(int row) { for (int i = 0; i <= row; i++) { for (int j = 0; j <= i; j++) { cout << binomialCoefficient(i, j) << "\t"; } cout << endl; } } int main() { int n; cout << "Enter row number: "; cin >> n; printPascalTriangle(n); }
الإخراج:
Enter row number: 9 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
Python Code مثلث باسكال باستخدام معامل ذي الحدين
def factorial(n): result = 1 for i in range(1,n+1): result*=i return result def binomialCoefficient(n,r): result =1 if r>n: return None result = factorial(n) / (factorial(r) * factorial(n - r)) return int(result) def printPascalTriangle(row): for i in range(row+1): for j in range(i+1): print(binomialCoefficient(i, j), end="\t") print() # print(binomialCoefficient(3, 2)) n = int(input("Enter row number: ")) printPascalTriangle(n)
مخرجات مثال مثلث باسكال:
Enter row number: 8 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1
تحليل التعقيد
تُستخدم ثلاث حلقات تكرارية في هذا التطبيق: واحدة لحساب معامل ذي الحدين، واثنتان أخريان للتكرار عبر كل صف وعمود. بالنسبة لعدد الصفوف، تُنفَّذ الحلقات الثلاث جميعها حتى "ن" مرة. وبالتالي، فإن التعقيد الزمني الإجمالي هو O(n).3).
يُعدّ تعقيد المساحة ثابتًا لأننا لا نخزن أي نتائج وسيطة. يحسب البرنامج كل عنصر أثناء التنفيذ ويطبعه ضمن صف، لذا ينخفض تعقيد المساحة إلى يا (1).
الطريقة الثالثة: بناء مثلث باسكال بمعامل ذي الحدين المعدل
في الأسلوب السابق، استخدمنا صيغة معامل ذي الحدين لحساب كل عنصر. أما الأسلوب المعدل فيستنتج C(n, r) مباشرةً من C(n, r-1)، مما يقلل الجهد بمقدار عشرة أضعاف.
فيما يلي خطوات بناء مثلث باسكال باستخدام معامل ذي الحدين المعدل:
الخطوة 1) ابدأ الصف الأول بالرقم "1".
الخطوة 2) احسب C(n, r)، حيث "n" هو رقم الصف و"r" هو رقم العمود. ثم قم بتعيين هذه القيمة للمتغير C.
الخطوة 3) لحساب المعامل التالي، استخدم C * (n – k) / k. ثم قم بتعيين هذه القيمة الجديدة مرة أخرى إلى C.
الخطوة 4) استمر في الخطوة 3 حتى تصل قيمة "k" إلى نهاية الصف. بعد كل تكرار، قم بزيادة قيمة k بمقدار واحد.
C++ Code لحساب مثلث باسكال باستخدام معامل ذي الحدين المعدل
#include <bits/stdc++.h> using namespace std; void printpascalTriangle(int n) { for (int row = 1; row <= n; row++) { int previous_coef = 1; for (int col = 1; col <= row; col++) { cout << previous_coef << "\t"; previous_coef = previous_coef * (row - col) / col; } cout << endl; } } int main() { int n; cout << "How many rows: "; cin >> n; printpascalTriangle(n); }
الإخراج:
How many rows: 5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Python Code لحساب مثلث باسكال باستخدام معامل ذي الحدين المعدل
def printpascalTriangle(n): for row in range(1, n+1): previous_coef = 1 for col in range(1, row+1): print(previous_coef, end="\t") previous_coef = int(previous_coef*(row-col)/col) print() n = int(input("How many rows: ")) printpascalTriangle(n)
مخرجات أنماط مثلث باسكال:
How many rows: 5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
تحليل التعقيد
يستخدم التنفيذ حلقتين، تعمل كل منهما بحد أقصى "ن" مرة، حيث "ن" هو عدد صفوف المثلث. لذا، فإن التعقيد الزمني هو على2)، الزمن التربيعي.
فيما يتعلق بتعقيد المساحة، لسنا بحاجة إلى أي مصفوفة للتخزين. نستخدم متغيرًا واحدًا فقط للاحتفاظ بمعامل ذي الحدين السابق، لذا نحتاج إلى مساحة إضافية واحدة فقط. وبالتالي، فإن تعقيد المساحة هو يا (1).
تطبيق مثلث باسكال
فيما يلي بعض التطبيقات العملية لمثلث باسكال:
التوسعات ذات الحدين: يمكن قراءة معاملات أي مفكوك ذي الحدين مباشرة من مثلث باسكال. إليك مثال:
| (س + ص)0 | 1 |
| (س + ص)1 | 1.x + 1.y |
| (س + ص)2 | 1x2 + 2س ص + 1y2 |
| (س + ص)3 | 1x3 + 3x2و + 3xy2 + 1y3 |
| (س + ص)4 | 1x4 + 4x3و + 6x2y2 + 4xy3 + 1y4 |
حساب المجموعات: عناصر مثلث باسكال تُقابل معاملات ذات الحدين مباشرةً. على سبيل المثال، إذا كان لديك 6 كرات وتريد اختيار 3 منها، فالإجابة هي 6C3يمكنك إيجاد تلك القيمة في العنصر الثالث من الصف السادس من مثلث باسكال.
احتمالا: يستخدم مثلث باسكال على نطاق واسع لحساب الاحتمالات في رمي العملة المعدنية، ومسائل النرد، والأحداث التوافقية الأخرى حيث تتوافق كل نتيجة مع توزيع ذي الحدين.
حقائق مثيرة للاهتمام حول مثلث باسكال
فيما يلي بعض الحقائق التي قد تجدها مثيرة للاهتمام حول مثلث باسكال:
- مجموع جميع العناصر في أي صف هو دائماً قوة للعدد 2.
- تُنتج المجاميع القطرية للصفوف متتالية فيبوناتشي.
- يمثل كل صف المعاملات في مفكوك (أ + ب)n.
- إذا قمت بتظليل الأرقام الفردية فقط، فإن الشكل الناتج يشكل مثلث سيربينسكي الكسري.









