منتدى جزيرة الرياضيات

منتدى جزيرة الرياضيات (http://www.hesab.net/vb/index.php)
-   جزيرة المتفوقين (http://www.hesab.net/vb/forumdisplay.php?f=9)
-   -   هل يوجد طريقة لاظهار كل الاحتمالات؟ (http://www.hesab.net/vb/showthread.php?t=1379)

ahmado 07-17-2004 10:51 PM

هل يوجد طريقة لاظهار كل الاحتمالات؟
 
راه اشرح السؤال...
-------------------------
عندنا 5 احرف و هي[a,b,c,d,e] فما هي عدد الكلمات المشكلة من 4 احرف التي يمكن كتابتها؟(مع تكرار الاحرف)
طبعا الجواب هو :
5*5*5*5=625
-----------------------
سؤالي هو : كيف يمكن كتابة كل الاحتمالات الـ625 ؟
اعرف انه يمكن ذالك من خلال التجربة مع الكثير من الوقت...و لكن هذا غير عملي

هل يوجد طريقة علمية تسهل عملية كتابة كل الاحتمالات ؟
هل يوجد اي برنامج كمبيوتر يقوم بذالك ؟

الاستاذ خليل 07-19-2004 01:51 AM

السلام عليكم

انا لم ار هذا البرنامج الذي تطلب بس تريد برنامج يطبع لك كل الاحتمالات بهذي الحالة و لا عام .انا جاعد اشغل مخي علشان اسويه بالفجوال بيسك. من زمان ما اشتغلت عليه :confused:

ahmado 07-19-2004 06:34 PM

الله يخليك ياستاذ...ترى حتى انا قاعد افكر فيها...
لو انت عملتها بالفيجوال بيسيك , بعدين لما يظهر كل الاحتمالات, اقدر احفظ الاحتمالات بصيغة نوتبد او ملف مايكروسوفت ورد ؟

انتظر نتيجة افكارك :rolleyes:

flashالإلكتروني 09-15-2004 03:58 PM

ما فهمت المشكلة

mab4math 09-16-2004 03:38 PM

تبسيط المشكلة
 
التباديل
ونعني بها جميع الاختيارات المتاحة حتى لو كانت مكررة

مثال
مبارة كرة قدم ودية بين فريقين
إنهما سيلعبان مبارة واحدة
لكن في الرياضيات (التباديل) نقول إن أمامهما ثلاثة احتمالات للعب مبارة ودية
أولا - اللعب فب ملعب الفريق الأول
ثانيا - اللعب في ملعب الفريق الثاني
ثالثا - اللعب في ملعب محايد
وهذا هو المقصود بالتباديل (جميع الاحتمالات الممكنة للعب المبارة)

أتمنى أن تكون قد استوعبت الفكرة لأنك ستدرسها في المرحلة الثانوية

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

مثال
اوجد تباديل كلمة (حمد)
1- ح م د
2- ح د م
3- م ح د
4- م د ح
5- د ح م
6- د م ح

وهذه هي جميع الاختيارات (الكلمات) التي يمكن أن نكونها من حروف كلمة (حمد) وكما ترى فإن ثلاثة حروف تكون منهم ستة تباديل
وأربعة حروف يتكون منهم (24) تبديل
وخمسة حروف يتكون منهم (120) تبديل
وكلما زاد عدد الحروف زاد عدد التباديل الممكنة زيادة مطردة باستمرار
ولهذا السبب فإننا نعتمد على أجهزة الحاسب الآلي في مثل هذه العمليات التي يعجز عنها العقل البشري، قد ينسى أحد التباديل

وجرب تكوين جميع الكلمات الممكنة من حروف كلمة ميثم

mab4math 09-16-2004 03:41 PM

خوارزمية البرنامج
 
بسم الله الرحمن الرحيم
برنامج بلغة السي يحسب كل الاحتمالات الممكنة لمجموعة من التباديل
شرح طريقة عمل البرنامج وخوارزمية البرنامج قريبا
انتظروني ريثما أنتهي من ترجمة وفهم وتطبيق البرنامج
حيث عثرت عليه بالصدفة (ولله الحمد)

Permutations
Imagine we have a collection of n distinct objects. There are n! ways to
order these objects; that is, we can form n! different arrangements of
these n objects. This is true because any such arrangement will consist
of n items, no matter which happens to be first. To choose the first
object in a particular arrangement we have n options. However, to choose
the second object after already having placed the first, we are left
with one less choice. The first object is fixed at this point. Thus, we
have (n-1) alternatives. As we place more and more objects we have less
and less choices of objects to place. The summation below follows from
this discussion:
This is the same as n!.
This section presents an algorithm for calculating all possible
permutations (that is, not just the number of permutations but the
actual permutated data) given the number of distinct data items to be
arranged.
Source Code
References
Scott Gasch
Algorithms_Archive/node106.html100444 0 0 10752 7022137323 14773 0ustar rootroot
Next: References Up: Permutations Previous: Permutations
Source Code
#include
#include
#define MAX_NUM 100
//
// A single call to permut(k, n) will produce (n - k + 1)!
// permutations consisting of the integers:
//
// r[1] ... r[k-1] ... r[k] ... r[n]
//
// In the output, the first r[1]...r[k-1] numbers will not
// change. The r[k]...r[n] numbers will be permiated. An
// initial call of permut(1, n) will produce the full n!
// permutations of these n numbers.
//
//
void permut(int k, int n, int *nums)
{
int i, j, tmp;
/* when k > n we are done and should print */
if (k <= n)
{
for (i = k; i <= n; i++)
{
/**
* each element i is promoted to the kth place while the rest
* of the items from k to i-1 are shifted to make room with
* a ripple-shift operation.
*
**/
tmp = nums[i];
for (j = i; j > k; j--)
{
nums[j] = nums[j-1];
}
nums[k] = tmp;
/* recurse on k+1 to n */
permut(k + 1, n, &(nums[0]));
for (j = k; j < i; j++)
{
nums[j] = nums[j+1];
}
nums[i] = tmp;
}
}
else
{
for (i = 1; i <= n; i++)
{
printf("%d ", nums[i]);
}
printf("\n");
}
}
int main(void)
{
int iCount;
int rgNums[MAX_NUM];
int i;
printf("Enter n: ");
scanf("%d", &iCount);
/* create a workspace of numbers in their respective places */
for (i = 1; i <= iCount; i++)
{
rgNum[i] = i;
}
printf("Permutations:\n");
permut(1, iCount, rgNum);
}

hesab 09-17-2004 11:40 AM

لكن اخي العزيز كيف مثلا نعرف عدد الكلمات التي يمكن ان تتكون من احرف كلمة حمد . و هل يسمح بالتكرار فيها مثل ح ح ح ؟؟.

mab4math 09-18-2004 06:08 PM

التكرار نوعان
 
أولا هناك شئ يسمى التباديل ويسمح فيه بتكرار الحروف وغيره،

ثانيا هناك شئ يسمى التوافيق ولا يسمح فيها بالتكرار

وكل منهما له قانونه الخاص في الرياضيات (لا أذكره حاليا) - (سأضيفه قريبا هنا) :d
ومن خلال هذا القانون يمكنك معرفة عدد التباديل الممكنة أو عدد التوافيق الممكنة.

mab4math 09-18-2004 06:12 PM

لا أعرف
 
لقد حاولت تحويل الكود المكتوب بلغة السي إلى خوارزمية بحيث ينمت تطبيقها بأي لغة برمجة،
ولكنيي فشلت للأسف
أطلب المساعدة من كل من لديه خبرة بلغة السي

flashالإلكتروني 09-18-2004 07:50 PM

آسف لا أعرف أنا


الساعة الآن 08:26 AM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir