مشاهدة النسخة كاملة : رياضيات الحاسب الالي ( الدرس الاول)


عمر التومي
16-12-2004, 06:01 PM
رياضيات الحاسب الآلي
الدرس الأول


التسمية الدقيقة لهذا التخصص هو التحليل العددي( numerical analyses) يستخدم التحليل العددي في حل المعادلات الرياضية التي يصعب حلها أو يستلزم وقت طويلا في الحل، فإذا كانت لدينا معادلة رياضية من الدرجة الرابعة أو الخامسة فان من الممكن حلها بالطرق التقليدية، و حتى هذه الطرق تاخد وقتا، إما إذا كانت المعادلة من الدرجة السادسة و أكثر يكون من الصعب دائما التعامل مع المعادلة تقليديا، و مع ظهور الحاسب الآلي ( الكومبيوتر) اتضحت أهميته البالغة في حل هكذا معادلات، و ذلك لتوفيره الوقت و الجهد. و بالأخص في المعادلات التي تحتاج إلى تكرار كبير من اجل الوصول إلى النتيجة أو الحل.

في حقيقة الأمر يوجد الكثير من البرامج يمكن استخدامها في هذا المجال مثل برنامج MATHCAD , MATHLABو حتى برنامج EXCEL المرافق لحزمة OFFECE يمكن أجراءه في حل الكثير من المعدلات و إجراء العديد من الصغير الرياضية المفيدة ، لكن في هذه السلسلة سنقوم باستخدام إحدى لغات البرمجة في التعامل مع المعادلات الرياضية ، سنتعامل مع لغة FORTRAN لما تمتاز به هذه اللغة من استقرار عال و دقة في المعادلات و تحديد دقيق لنوع المتغيرات مع سعة كبيرة في نوع المتغيرات، من الممكن أنها ليست على درجة كبيرة من الانتشار و الاستخدام ، غير أن المتخصصين في مجال التحليل العددي و الرياضيات بصفة عامة يعترفون لها بالفضل، سنستخدم الإصدار الرابع منها و هي
MICROSOF DEVELOPER STUDIO 0.4
و هو إصدار يعمل تحت بيئة الويندوزWINDOWS) ) و لست في معرض الدعاية لهذه اللغة و لا أحب المقارنة بين اللغات المختلفة غير أن FORTRAN LANGUAGE هي لغة المهندسين بكل كفاءة


لمن هذه الدروس؟؟
أصارحكم القول إن مثل هذه الدروس لا يمكن أن تفيد غير المتخصص او الطالب الذي يبحث عن المعرفة الرياضية آو البرمجية، حيث سنعتمد برنامج لكل مسالة رياضية و لا يكمن أن يتفاعل معنا غير من يمتلك أساسيات البرمجة و بناء البرامج، و لمن لا يفضل استخدام لغة FORTRAN سنضع خوارزمية لكل برنامج من أجل كتابته بأي لغة يفضلها، و لمن لا يمتلك أساسيات البرمجة أنصحه بقراءة المقال الذي كتبت في(شرح البرامج) بعنوان(الطرق إلى البرمجة 2) و بامكانه التوسع أكثر في هذا المجال عن طريق أي كتاب يراه مناسب.

قبل التعامل مع المعدلات الرياضية لا بد أن نقدم أساسيات لغة FORTRAN من التواب و المتغيرات.
أساسيات لغة فورتران FORTRAN
1 الرموز CHARACTERS
تستخدم مجموعة من الرموز الأساسية في لغة FORTRAN و تتكون من الأتي :
1.1 الأرقام NUMBERS CHARACTERS
و هي 0 1 2 3 4 5 6 7 8 9
1.2 الحروف ALPHABATIC CHARACTERS
تشمل الحروف المستخدمة في لغة الإنجليزية و هي :
A B C ………………………..X Y Z
1.3 رموز خاصة SPECIEL CHARACTERS
و هي :
المساواة الفارزة
النقطة العشرية
القوس الأيمن )
القوس الأيسر (
الفاصلة العليا ( القسمة ) ÷ /
النجمة ( الضرب) *
الزائد +
الناقص –
2.1 أنواع البيانات في لغة FORTRAN
تمثل البيانات لفي لغة الفورتران FORTRAN بإحدى الأساليب الآتية :
2.2 صحيحة INTEGAR
و تشمل جميع الأعداد
حقيقية RAEL الأعداد التي تحتوي على العلامة العشرية
2.3 مزدوجة الدقة DOUBEL PRECESION
أعداد صحيحة آو حقيقة تخزن بدقة كبيرة
2.4 مركبة COMPLEX
أعداد تحتوي على كل من الجزء الحقيقي و التخيلي RAEL AND IMAGE
2.5 منطقية LOGICAL
القيم المنطقية أو الصادقة
2.6 الحروف الرقمية ALPHANUMERIC
المعلومات اللفظية LITERL INFORNATION الأنواع الربعة الأولى تستخدم لتمثيل القيم العددية خلال العمليات الحسابية ، و الأسلوب المنطقي يمثل القيم الصادقة او الكاذبة (TRUE OR FULSE)



الدرس الأول LESSON ONE
طرق حل العادلات ذات المجهول الواحد
SOLUTION OF EQUATION IN ONE VARIABLE
طرقة المقاطع
BISECTION METHOD
استهلال INTRODUTION
لنفرض أن لدينا المعالة الرياضية التالية :
X^2 + 4 = 0
مع ملاحظة أن الرمز(^) يعني أس أي مربع القيمة X )) و X^5 يعني الأس الخامس للمتغير X.
سيكون الحل المثالي لهذه المعادلة هو كالأتي:
X^2=4
X=±√4
X=-2
X=-2وهو حل دقيق تماما بمجرد إتباع الخطوات السابقة, نحصل على الحل.
و إذا كانت لدينا المعادلة الرياضية التالية :
X^3+4X^2-10=0
فحلها يرهق قليلا و لا يعطي قيم دقيقة ، و لهذا نلجأ إلى طريقة المقاطع BISECTION METHOD التي تتلخص فيما يأتي :

لنفرض أن لدينا دالة F(X) معرفة و مستمرة خلال الفترة ** A , B } مع الدالتين F(A) , F(B) فهنالك قيمة X0 تنتمي إلى الفترة
{A,B} كالدالة F(X0)=0.0 ، و التي تكون حلا للمعادلة F(X)

بما أن القيمتين A B تنتمي إلى نفس الفترة فهذا يعني ان الدالتين
F(A) , F(B) تنتمي إلى نفس النطاق

و حل المعادلة يكون هو النقطة X0 (PIONT SOLUTION ) و بما أن أساس الحل تقريبي فتكون الطريقة المثالية لخطوات الحل هي اخذ مجموعة من النقاط التقريبية المقربة للقيمة الصفرية كالقيمة 0.00001
و اختبارها فهي لا تساوي صفر لكنها دقيقة جدا و مقربة جدا من الصفر حيث يصعب الحصول على الحل الصفري في التحليل العددي مباشرة و هذه القيمة سنفرضها ليحملها المتغير P و يقترب كل مرة بقيمة دقيقة من الحل الصفري و تعتمد طريقة المقاطع (BISECTION METHOD) على نفس الفكرة في التعامل مع المسائل الرياضية و خوارزمية البرنامج هي كالآتي :
START
RAED ( A , B )
DO P=(A +B ) / 2
Y1= A^3 + 4*A^2 – 10
Y2= B^3 + 4*B^2 -10
Y0=P^3 + 4*P^2 – 10
IF ( Y0 < 0.00001 ) GOTO STEP 100
IF (Y0*Y1 > 0.0 ) GOTO STEP 10
A=A
B=B
GOTO STEP 20
DO A=-P
B=B
GOTO STEP 20
WRITE Y0 , P
STOP

شرح الخوارزمية :
نبدأ بقراءة القيمتين A B ثم نقوم بتطبيق القيمة المتوسطة للقيمتان من اجل تسريع الوصول للقيمة الصفرية و ذلك بأخذ المتوسط لهما و هي القيمة P)) ثم نقوم بتطبيق الدوال السابقة من اجل اختبارها و يتم ذلك باختبارين
الاختبار الأول يسأل هل قيمة Y0< 0.00001 بمعنى أن الحل قد تحقق اذا كانت الإجابة بنعم و الا فيتم الانتقال إلى الاختبار الثاني الذي يسال هل قيمة مضروب الدالتين Y0,Y1 اكبر من الصفر إذا كانت الإجابة بنعم فتأتي خطوة التقريب الأولى التي تضع قيمة P مكان قيمة B و تثبت قيمة A فيكون الاقتراب من جانب الدالة F(B) نحو القيمة الصفرية التقريبية و الا فيتم الانتقال الى الخطوة التالية التي تقوم بالتعويض عن قيمة A = P و تطبق ذلك على الدوال و تختبر القيم و هكذا يستمر الحل حتى يتحقق الشرط و تقترب الدالة من القيمة الصفرية و يتم طباعة القيمتين P , Y0

البرنامج بلغة FORTRAN
بعد تنصيب البرنامج تقوم بفتحه و تتبع الخطوات التالية:
1. من القائمة المنسدلة FILE تختار NEW
2. تظهر لك نافذة تختار منها الاختيار الأول TEXT ثم تقوم بالضغط على موافق
3. تأخذ مسافة قيمتها تاب واحد بالضغط على المفتاح TAB و قبلها تضع في بداية السطر الحرف C
4. تكتب البرنامج التالي :

C THIS PROGRAM TO CALCOLATE SOLUTION OF EQUATION BY USED BISECTION METHOD
RAED ( *,* ) A , B
P=(A +B ) / 2
Y1= A^3 + 4*A^2 – 10
Y2= B^3 + 4*B^2 -10
Y0=P^3 + 4*P^2 – 10
IF ( ASB( Y0) .LT. 0.00001 ) GOTO 100
IF (Y0*Y1 .GT. 0.0 ) GOTO 10
A=A
B=B
GOTO 20
A=-P
B=B
GOTO 20
WRITE(*,*) Y0 , P
STOP
END
5. تحفظ البرنامج باسم BISECTION.FOR ثم و هذه الخطوة مهمة جدا حيث يتحول البرنامج من مجرد ملف نصي TEXT إلى لغة FORTRAN و تظهر علامات معالج اللغة أي الكلمات المحجوزة للغة بخط ازرق و خط اخضر يحتوي البرنامج كله دليل على أن هذه الكلمات تحتوي على نص بلغة الفورتران
6. من القائمة المنسدلة BUILD اختر COMPILE BISECTION.FOR
7. تظهر لك نافذة في أسفل البرنامج إن كان البرنامج يحتوي على أخطاء فتبين لك الأخطاء و عليك المراجعة و التحقق و إلا فتكون النتيجة هي : (ERROR(S 0 WARING(S) 0
8. من القائمة المنسدلة BUILD اختر BUILD BISECTION.EXE
9. من نفس القائمة المنسدلة السابقة اختر الأمرEXECUTE BISECTION.EXE
10. تظهر لك نافذة ضع بها القيمة 1 و اضغط ENTER و القيمة 2 ثم اضغط ENTER
و بذلك ستنهي البرنامج و سعيد بأي استفسار في خصوص ما كتبت و نلتقي ان شاء الله في الدرس القادم و طريقة جديدة من طرق التحليل العددي
عمر التومي

محمد يوسف
16-12-2004, 10:07 PM
السلام عليكم ورحمة الله وبركاته

ما شاء الله

بداية قوية أخي الفاضل

بارك الله فيك ومرحبا بك

:)

البحرالضامي
25-01-2005, 11:52 AM
درس رائع نرجو المزيد ولكم الشكر

حسان رضي البسيسي
04-02-2005, 05:03 PM
مشكور على المعلومات

زهراء بغداد
07-11-2005, 09:14 AM
شكر كبير للمهندس عمر تومي
وربنا يقدرك وتزيدنا من معلوماتك القيمة