290 likes | 411 Views
Computer In Medicine. فورتران 77. مقدمة ( فورتران 77) إشتقت كلمة فورتران FORTRAN من المقطعين الأولين من الكلمتين FORmula TRANslator أو الكلمتين FORmula TRANslation ,
E N D
Computer In Medicine فورتران 77
مقدمة ( فورتران 77) إشتقت كلمة فورتران FORTRAN من المقطعين الأولين من الكلمتين FORmula TRANslator أو الكلمتين FORmula TRANslation, و تعنى مترجم المعادلات أو ترجمة المعادلات, و قد إستحدثتها شركة IBM عام 1957, لغرضبرمجة التطبيقات في المجالات العلمية, لذا فلغة الفورتران لغة علمية منذ نشاتها,و تعتبر أكثر اللغات الراقية شيوعا, و إستعمالا و ذلك لأهميتها و سهولة تعلمهاو مناسبتها لحل المشكلات الرياضية و العلمية. 2
مكونات لغة الفورتران FORTRAN Symbols مكونات لغة الفورتران FORTRAN Symbols تشمل رموز لغة فورتران ما يأتى: 1- الحروف الأبجدية : تتكون حروف فورتران 77 من الحروف الإنجليزية الكبيرة و الحروف الصغيرة A,B,………….Z & a,b,…….z 2- الأرقام الحسابية عربية الأصل, و هى 1,2………9 ملحوظة: الحرف ( O ) يكتبه بعض المبرمجين و بداخله شرطة ( Æ ) لتمييزه عن الرقم صفر بينما يستعمل اخرون العكس, فيضعون الشرطة داخل الرقم صفر(Æ ) 3
الثوابت : 1- الثوابت العددية ا- الثوابت العددية الصحيحة و هو عدد صحيح يكتب بدون فاصلة عشرية و يمكن ان يكون سالبا او صفرا او موجبا و اذا لم توضع اشارة العدد كون موجبا امثلة: -234 950 0 +79 امثلة لثوابت عددية صحيحة غير مقبولة: لاحتوائة علي الفاصلة العشرية 1.05 لاحتوائة غلى فارزة 7,156 لاحتوائة على رمز ابجدى I5 ب- الثوابت العددية الحقيقية ( الكسرية) الثابت العددي الحقيقي هو عدد يكتب باستخدام الفاصلة العشرية و يمكن ان يكون موجبا او صفرا او سالبا. امثلة : 1.05 +0.5 -15.3 -3. امثلة لثوانت عددية غير مقبولة : لعدم احتوائة على الفاصلة العشرية100 لاحتوائة غلى فارزة12,250 لاحتوائة علي رمز ابجدى A 15.3 لاحتوائة على رمز خاص$95.5
و يمكن كتابة الثوابت العددية الحقيقية بشكل التدوين اليائى E-Notation و ذلك بكتابة الاعداد بفاصلة عشرية او بدونها متبوعة بحرف E و عدد صحيح مؤلف من اشارة و رقم او رقمين و العدد الصحيح هذا يمثل القوة 10 الواجب ضرب العدد الاول فيها , و الشكل العام هو YE n حيث ان : Y عدد حقيقي او عدد صحيح مقبول في لغة فورتران n عدد صحيح لا يتجاوز منزلتين بالاضافة الى الاشارة امثلة: 1.93 E2= 1.93 x 102=193. -1.93 E-2 = 1.93 x 10-2= -.0193 .1234E04 = .1234 x 104 =1234. 1E5 = 1 x 105 = 100000. 5E0 = 5 x 100 = 5. -25E2 = -25 x 102 = -2500
ج- الثوابت ذات الدقة المضاعفة: و فيه يستخدم الحرف D بدلا من الحرف و النموذج العام للثابت ذو الدقة المضاعفة هوn D m حيث ان : n يمثل ثابت عددي حقيقي او عدد صحيح m يمثل ثابت عددي صحيح د- الثوابت العددية المعقدة: يتالف الثانت العددي المعقد من زوج من الثوابت العددية الحقيقية محاطة بقوسين و منصولة بفارزة و الشكل العام للعدد المعقد هو (n,m) n ثابت عددي حقيقي و يمثل الجزء الحقيقي للعدد المعقد m ثابت عددى حقيقي و يمثل الجزء التخيلي للعدد المعقد
معرف الثوابت الجماعي PARAMETER يمكن تسمية الثوابت في لغة فورتران و استخدامها في اي مكان في البرنامج مثل النسبة التقريبية π و التى تساوي 3.14159 بالاسم PIفي بداية برنامج يحسب مساحة الدائرة A و محيطها C من نصف قطرها المعلوم R PARAMETER(PI= 3.14159) READ *,R A=PI*R*R C = 2.0 *PI*R PRINT*,A,C END و يمكن تعريف اكثر من ثابت PARAMETER(PI=3.14159,G=32.,E=2.718)
المتغيرات: • المتغيرات في لغة فورتران نوعان • المتغيرات البسيطة • المتغيرات المؤشرة • 1- المتغيرات البسيطة الصحيحةINTEGER VARIABLE و تتبع القواعد الاتية • 1- الاسم الرمزى يجب ان يبدأ بحرف • 2- يتكون الاسم الرمزى من رمز واحد الى 6 رموز على الاكثر • 3- اذا كان الرمز الاول من اسم المتغير هو احد الحروف I,J,K,L,M,N سمي متغير عددي صحيح , اما اذا كان خلاف هذه الحروف فهو متغير عددي حقيقي REAL VARIABLE • يمكن استخدام كلمة REALلتعريف المتغير العددى الحقيقي و كلمة INTEGER لتعريف المتغير العددى الصحيح في البرنامج
REAL A,B INTEGER N READ*, A,B,N D=(B-A)/N PRINT*, A,B,N,D END
الجمل (العبارات)في لغة فورتران:- 1- جمل التعريف : و هي مجموعة من الجمل من شأنها تعريف الحاسب بمتطلبات البرنامج من حيث مواقع التخزين – نوعية مواضع التخزين و ايضا انواع الوحدات المستخدمة في البرنامج مثل وحدات الادخال و الاخراج 2- جمل الادخال و الاخراج 3- جمل المعالجة مثل الجمل التي من شانها اجراء عمليات معالجة المعطيات داخل الحاسب مثل الوحدة الحسابية و المنطقية 4- جمل التحكم و السيطرة و هى الجمل التى من شانها تغيير التسلسل الطبيعي لتنفيذ البرنامج
و تنقسم مجموعة الجمل في لغة فورتران من حيث طبيعتها الي قسمين: 1- جمل تنفيذية و تشمل الجمل التي من شأنها الايعاذ الي الحاسب لنتفيذ عمل مل. 2- جمل غير تنفيذية و تشمل الجمل التي من شأنها تزويد المترجم بمعلومات عن حجم البرنامج و كيفية ادخال المعطيات و اخراج المعلومات...............
التعبير الحسابى بلغة الفورتران العمليات الحسابية فى لغةالفورتران فى لغة فورتران كما فى الجبر نستطيع أن نشكل الثوابت و المتغيرات العددية .
التغبير الحسابى : Arithmetic Expression هو مجموعة ثوابت و متغيرات يجمع بينها عمليات حسابية باستخدام رموز رياضية الأمثلة التالية توضح بعض التعبيرات الجبرية و كيفية صياغتها بلغة Fortran
قاعدة الأولوية: العملية الحسابية فى التعبيرات و المعادلات الرياضية كما يجريها الحاسب الألى بلغة Fortran لا تجري بطريقة عشوائية ولكن هناك اولويات فى تنفيذرالعمليات الحسابية, و يمكن ترتيب العمليات الحسابية طبقا لاولوية تنفيذها كما يلى: 1- تنفيذ العمليات داخل الأقواس الداخلية ثم الخارجية 2- الأس (**) 3- الضرب و القسمة * , / 4- الجمع و الطرح + , - و للعمليات الحسابية التى لها نفس الأولوية نبدأ من اليسار الى اليمين مثال: احسبي نتيجة العملية الحسابية الأتية:10 A = 36/ (3 * 6 ) + 10 الحل: العملية الحسابية السابقة مكتوبة بلغة Fortran نبدأ بما داخل الأقواس فتصبح النتيجة 10 A = 36 / 18 + 10 يلى ذلك عملية القسمة 10 A = 2 + 10 و أخيرا عملية الجمع 10 A = 12
مثال: حولى العملية الحسابية الأتية بلغة Fortran الحل: من المهم اولا اعطاء رقم للعملية للدلالة على انها ستعطى كأمر بلغة اFortran 10 A = (S ** 2) / (B ** 2) + (L ** 2) / D نستطيع التاكد من صحة الصيغة الرياضية المبرمجة بلغة Fortran فى المسالة السابقة و ذلك بأن نجرى عليها العمليات الحسابية بأولوياتها التى سبق شرحها فاذا وصلنا الى العملية الحسابية الأصلية فيدل ذلك على صحة استخدامنا للرموز و العلامات
الجملة الحسابية: إن من أبرز خصائص لغة فورتران إستخدام عدد من الجمل مثل الجملة الحسابية وهى تمثل على النحو التالى: تعبير حسابي = متغير أمثلة: Y = X+46.0 J = J+1 B = 11/5 K = 13.0 / 2.0 M = 5.75
رقم الجملة: عند كتابة اى برنامج على شكل مجموعة من الجمل المتسلسلة, فإننا نحتاج الي ترقيم بعض هذه الجمل لتنفيذ بعض التعليمات, و عند الحاجة الى جملة فإنه يشار الي رقمها فقط. Ex: 20 Y = X **2+5.X-1 الرقم 20 عن يسار الجملة الحسابية يمثل رقمها و من الممكن اختيار اى رقم آخر لهاعلي الا يزيد عن خمسة ارقام و ان يكون عدد صحيحا موجبا. الدوال المكتبية: يوجدفي لغة فورتران مكتبة من الاقترانات الرياضية يمكن للمبرمج ان يستخدمها في برامجه.
جمل الإدخال Input statements 1- الجملة الحسابية: مثال: A = 5.8 تبين كيفية تخزين الثابت العددي الحقيقي 5.8 في موقع المتغيرA فى وحدة الذاكرة 2- جملة القراءة: و تستخدم هذه الجملة لإدخال المعطيات و قيم الثوابت و المتغيرات Read *, variable Names مثال (1) 2-جملة القراءة Read *, A,B,N تقوم بقراءة المتغيرات N, B, Aعلي الترتيب و يتم ادخال قيمها بواسطة الشاشة على ان تترك مسافات كافية
جمل الإخراج output statements جملة الطباعة و تستخدم هذه الجملة لطباعة نتائج العمليات الحسابية التي يجريها الحاسب كما تستخدم لطباعة قيم المعطيات المدخلة الى الحاسب أيضا. الصيغة العامة لجملة الطباعة PRINT*, Variable Names مثال: اكتبى برنامج صغيرا تحسب فيه طول وتر مثلث قائم الزاوية , C , طول كل من ضلعيه الأخرين هو: B = 4. A = 3. الحل: من المعلوم من الجبر ان طول الوتر C , يحسب من نظرية فيثاغورث من المعادلة C = 5
و يكون البرنامج المطلوب هو: READ *, A , B C = SQRT ( A * A + B * B ) PRINT *, A, B, C END حيث تقوم الجملة الأولى بقراءة قيمتى A , B على النحو 3.0 4.0 ثم تقوم الجملة الثانية بحسلب قيمة C و تقوم الجملة الثالثة بطباعة كل من A, B, C على الصورة 3.0 4.0 5.0 والجملة الأخيرة تقوم بإيقاف البرنامج إذا اردنل ان تظهر أسماء المتغيرات يمكن تعديل جملة الطباعة الى الصورة PRINT*, ‘A’=,A, ‘B’ = ,B, ‘c’ = , C فتظهر النتلئج على الصورة A=3.0 B = 4.0 C= 5.0
جمل التعريفCOMMENT STATEMENT و هي جمل غير تنفيذية و جميعها عدا جملتي التعليق COMMENTو النهاية ENDتستخدم لبيان كيفية خزن المعطيات و المعلومات و منها 1- جمل التعليق و الايضاح تستخدم هذه الجمل لغرض توضيح بعض أجزاء البرنامج و لا دخل لجمل التعليق بخطوات تنفيذ البرنامج C THIS PROGRAM IS USED TO SOLVE A C QUADRATIC EQUATION : AX + BX +C = 0 C FOR GIVED VALUES OF A, B AND C ……………………………………….. ………………………………………. ……………………………………….. STOP END جملة النهايةEND كل برنامج بلغة فورتران ينبغي ان ينتهي بجملة النهايةEND و لا يجوز كتابة اية جملة بعدها.
مثال أكتبى برنامجا بلغة فورتران لحساب معدل علامات طالب فى المواد الأتية الحل: لإيجاد معدل العلامات AVARAGE نجد مجموع العلامات SUM أولا ثم نقسم المجموع على عدد المواد : اى على 4 و تكون الخطوات الحل: 0- ابدأ 1- اقرأ قيم العلامات بالترتيب 2- احسب مجموع العلامات 3- احسب معدل العلامات 4- اطبع النتيجة 5- توقف READ *, R, S, A, E SUM= R+S+A+E AVERAG= SUM/4 PRINT*, AVERAGE END
تعليمات خط سير البرنامج يحتاج مصممو البرامج أحيانا الى اجراء تفرع الغرض منه توجيه الحاسب الألى لتنفيذ سطر معين خلاف السطر المفترض تنفيذه تبعا للتسلسل التصاعدى استخدام الأمرGOTO و معناه اذهب الى و يتبع هذا الأمر رقم السطر المطلوب التفرغ اليه و ذلك دون التقيد بأي شرط . لندرس المثال الأتى: 10 READ *, A, B 20 C = A + B 30 PRINT*, A, B, C 40 GOTO 10 50 DATA 1,2,3,4,5,6,7,8 60 END فى هذا البرنامج لو لم نستخدم الأمرGOTO كان البرنامج سيستخدم القيمتين 1و2 فقط بدون النظر الى القيم الأخري
استخدام الأمر IF……THEN • معنى هذه التركيبة أنه : لو ( تحقق شرط معين ) حينئذ ( نفذ الأمر ) • اى ان : • IF + CONDITION….., THEN + ACTION • عملية التفرع هنا عملية مشروطه . • مثال: • 10 READ A, B • 20 IF A = 0 THEN 70 • 30 C = A + B • 40 PRINT*, C • 50 GOTO 10 • 60 DATA 1, 2, 3, 4, 5, 6, 7, 8, 0, 0 • 70 END • سيتم قراءة لكل من A,B من البيانات المعطاه DATA حتى نصل الى قيمتى صفر و صفر و عندئذ ينتهى البرنامج طبقا للشرط 20