ابومؤنس قام بنشر يناير 11, 2004 قام بنشر يناير 11, 2004 (معدل) بسم الله الرحمن الرحيم شرح الدوال المقدمة الحمد لله رب العالمين وبعد ....رايت انة من المناسب قبل الدخول في عالم الدوال . والخوض في تفاصيل البعض منها . ان نتعرف علي معني الدالة وماهي اقسامها وانواعها . عندما بحثت عن تعريف للدالة وجدت ان اغلب التعاريف وان اختلفة في المضمون الا انها خرجت بمعني واحد . وهذا المعني يجب علينا تعريف الاجراء اولا وعرف عملاق الاكسس ابو حمود الاجراء علي انه : عبارة عن سلسلة من الاعلانات والعبارات في وحدة نمطية يتم تنفيذها كوحدة . وتشمل الاجراءات علي الاجراءات الفرعية واجراءات الدالة .ومن هنا يمكن القوال ان الدالة(Functions) : هي نوع من الاجراءات تكتب بنفس طريقةكتابة الاجراءات .وتستخدم الدوال في تسهيل اعمال مستخدمين الحاسوب و القيام بالعديد من الوظائف الشائعة . الا ان البعض منهم عندما لا يجد الدالة المناسبة للقيام بمهمة مخصص فانة يقوم بتعريف دالة خاصة بة . وهنا نجد ان الدالة قسمان هما :1- الدوال المبنية Built-in Functions وهي الدوال الجاهزة مسبقا في الحاسوب ولكن يحكمها قواعد وتركيبات يجب معرفتها.2- الدوال المعرفة بواسطة المستخدم User Defined Functions وهي التي يقوم عادا المستخدم بكتابتها لتقوم بمهمة خاصة لة . وهي بطبع ليست موجودة ضمن قائمة الدوال المبنية . والذي هو موضوع درستنا هو النوع الاول .وتاخذ الدوال عموما الشكل الاتي : اسم الدالة (الوسائط)حيث لكل دالة اسم مخصص لها يتم استدعائها عن طريقة . ووسائط يجب مراعاتها وتطبيقها حتي تكون مخرجات او معطيات الدالة صحيحة .ولابد ان توضع بين قوسين ( ) . وتختلف الدوال من حيث عدد الوسائط فبعضها يشمل علي وسيطة واحدة والبعض الاخر يتطلب اكثر من وسيطة وبعضها لا يحتاج لا دخال وسيطات .ويشمل كل من الاكسس والاكسل علي العديد من هذة الدوال والتي يمكن تقسمها ال مجموعات بحسب الوظائف المطلوبة منها . مثل :دوال مالية - دوال التاريخ والوقت - دوال الرياضيات والمثلثات - دوال الاحصاء - دوال بحث والمراجع - دوال قاعدة البيانات - دوال النص - دوال منطقية - دوال معلومات وسنحاول بعون الله تعالي ان نقدم ما نستطيع من شرح وافي لكل دالة علي حدة .ومن اجل ذلك تم وضع منهج لتاخذ كل دالة حقها من الشرح والامثلة وحتي يكون الموضوع اكثر تنظيما ودقتا . والمنهج هو اسم الدالة استخدامتها الصورة العامة للدالة : ويتضمن اوسائط . المجموعة التي تضمن اليها الدالة الامثلة : وسوف تتنوع الامثلة ان شاء الله من الامثلة البسيطة الي المركبة ومن المنطقية الي الحسابية . وسيتم ادراج ربط لها من داخل المنتدي ان وجد .وقبل ان انهي هذة المقدمة احب ان اقول كلمة مؤجزة .اخواني ان التعامل مع الدوال متعة حقيقية وفن جميل . ان هذة الدوال الموجودة داخل اجهزتنا انها مثل اللوان التي لايمكن تصور الابداعات الفنية بدونها . ان اللوان قبل استخدامها في الرسم وهي موضوعة بجانب بعضها البعض لاتشكل شي ولكن عند مزجها ببعض ووضعها علي لوحة الرسم فانها ستشكل روعة وبهاء ذلك العمل الفني . وكذلك الدوال فانها اساس الابداع الفني في عالم البرمجة الممتع . فبمجرد ادراج الدوال ومزجها مع بعضها البعض تكون قد كونت لوحة في منتهي الروعة والدقة . قد تضل تشهد لك بروعة البرمجة وحسن التعامل مع الدوال والدقة في اختيار مايناسبك منها . وهناك امر اخر . اخوتي لا تستعجلوا في حصاد نجاح هذا الاعمال البرمجية . لان الامر يحتاج الي الحكمة والتمهل . فبنظر الي الوحات الفنية لكبار الرسمين تجد ان اكثرها تم انجازها في فترة زمنية كبيرة قد تصل الي سنوات عديدة .ومع ذلك اصبحت هذة اللوحات تشكل مدرسة في الفن وخلدت اسم صاحبها علي مر التاريخ . فقد يكون موضوع او كود مستحيل تنفيذة او القيام بة اليوم يكون في المستقبل من اسهل الامور ويحق عندها ان تفخر باعماك وانجازات وتكون هذة الاعمال بعد ذلك مدرسة في تعليم فن البرمجة واستخدام الدوال .هناك العديد من الافكار التي نجد انها مجرد حتي فكرة قد تكون مستحلية ولكن مع الدراسة والتجربة اصبحت ولله الحمد سهلة وتمت برمجتها و حققت الاهداف المطلوبة منها .وهناك حديث للرسول صلي الله عليو وسلم يقول " احرص علي ما ينفعك واستعن بالله ولا تعجز " او كما قال رسول الله . هناك كلمة في نفسي اود ان اقولها لكم : بصراحة لقد ترددت كثيرا في طرح هذا الموضوع خوفا من ان يكون بدون قيمة لانة من السهل الحصول علي شرح لاي دالة مع الامثلة عليها من داخل تعليمات الاوفيس . ولكني اردت بهذا العمل ان يكون منتدي اوفيسنا محط انظار الجميع من مبرمجين ودارسين . وحتي يكون للمنتدي مكتبة ضخمة وارشيف جبار من الدروس والامثلة والتطبيقات . وايضا تحقيق الاستفادة من التطبيقات الموجودة داخل المنتدي عند ادراجها لشرح دالة ما .ولكن تشجيع الاستاذ الفاضل محمد طاهر كان وراء كتابة هذا الموضوع . سوف يكون حديثنا ان شاء اللة عن دالة الدوال او ام الدوال . وفي الختام ارجوا للجميع التفوق والنجاح.. تم تعديل يوليو 30, 2004 بواسطه امير عاطف 1
ابومؤنس قام بنشر أبريل 21, 2004 الكاتب قام بنشر أبريل 21, 2004 (معدل) الدرس الاول - الدالة IFدالة الدوال او ام الدوال . كما سميتها وسبب التسمية انة لا يخلو برنامج مهما كان بسيط من وجود هذة الدالة . حيث تعتبر من اكثر الدوال استخداما ودمجنا مع بقية الدوال الاخري . اسم الدالة : IFوهي تعني (أذا) الشرطية . استخدامتها :الدالة IF من الدوال المنطقية . وهي تستخدم في الغالب لفحص البيانات ومعرفة القيم الصحيحة من غير الصحيحة وهي مرتبطة بتحقيق شرط معين في حالة وقع الشرط يتم تنفيذ التعليمات . وتنفيذ تعليمات اخري في حالة عدم تحقيق ذلك الشرط . وقبل الخوض في الجوانب البرمجية لهذة الدالة رايت ان نتطرق الي مثال لشرح فكرة عمل الدالة IF ووجدت في القاعدة الفقهية الشهيرة خير مثال لذك :( أذا حضر الماء بطل التيمم) . هنا العبارة الواردة بعد ادة الشرط أذا هي الشرط وهذا يعني انة اذا كان الشرط صحيح وهو ( توفر او وجود الماء) فان هذا يحقق الشرط وهو ( بطلان التيمم ) . اذن فوجود الماء هو شرط لبيان جواز او بطلان التيمم . لانة اذا كان الماء متوفر فان التيمم هنا باطل .وهناك العديد من الامثلة والاستخدامات التي سنوردها ان شاء الله اثناء الشرح لتركيبات الدالة IF .التركيبة العامة : هناك العديد من الصيغ التي تكون عليها الدالة IF نبدئها بالصيغة التالية : IF Condition Then Command End IF في هذة الصيغة يتم اختبار الشرط Condition فاذا كان صحيح يتم تنفيذ الامر او الاوامر Command الذي يلي الكلمة Then واذا كان غير صحيح (لم يحقق الشرط السابق) فان يتم تجاهل الاوامر . مثل بسيط: IF[Student_Age]<25 Then Print "لايوجد كراسي اضافية " End IF كلمه Student_Age تعني عمر الطالب المستجد في هذا المثال تقوم الدالة IF بفحص الشرط Student_Age فاذا كان عمر الطالب المتقدم اقل من ست سنوات فانها تنفذ الامر الذي يلي الكلمة Then وهو اظهار رسالة للمستخدم بان" عمر هذا الطالب اقل من العمر القانوني للالتحاق بالمدرسة " مثال محاسبي: IF[Student_Number]>6Then MsgBox"عمر الطالب المتقدم اصغر من السن القانوني للتسجيل المدرسي" End IF في هذا المثال تقوم الدالة IF بفحص Student_Number فاذا كان اكبرمن 25 فان التعليمات بعد الكلمة Then تحتم اظهار رسالة تنبيهة للمستخدم بان "لا توجد كراسي اضافية " . وكما تلاحظ في هذا المثال انة لا يوجد اوامر بعد الكلمة Then اذا يمكن كتابة حيث انة ليس من الضرور ان تكتب جميع الاوامر في سطر واحد بل مما ان تاخذ سطور وتنتهي بعبارة End IF حيث ان الدالة لا تكون كاملة وصحيح الا اذا حشرت بين العبارة IF والعبارة End IF . الصيغة الثانية : IF Condition Then Commands Else Commands End IF وفي هذة الصيغة يتم تقيم الشرط Condition فاذا كان صحيحا يتم تنفيذ الاوامر التي تلي الكلمة Then والا فانة يتم تنفيذ الاوامر التي تلي الكلمة Else . كلمة "Else" تعني هنا امر اخري , وكان الدالة IF تسالك في حالة عدم مطابقة الشرط الاولي ننفذ الاوامر الاخري . وكانها تعني " وألا" مثال بسيط : " اذا تمت رؤية هلال شوال فغدا هو اول ايام عيد الفطر المبارك وألا فهو تمام الثلاثون من رمضان " في هذا المثال السابق اذا تحقق الشرط وهو رؤية هلال شهر شوال فان غدا هو اول ايام عيد الفطر المبارك وأذا لم يتحقق الشرط من الرؤية فغدا هوتمام الثلاثون من شهر رمضان المبارك , مثال محاسبي: IF [W-Y]+[W-H]+[Test] <60 Then [w-y]+[w-h]+[Tese] Else IF [W-Y]+[W-H]+[Test]+[Reaction End IF حيث تعني (W-Y) درجة اعمال السنة الدراسية / (W-H) درجات الوجبات المنزلية / (Test) درجات الاختبارات / (Reaction) درجة تفاعل الطالب داخل الفصل . في المثال السابق تقوم الدالة IF بمقارنة مجموع درجات كل من اعمال السنة الدراسية زائد الوجبات المنزلية زائد درجات الاختبارات , فاذا كان المجموع اكبر من 60 درجة فانة يتم تحقيق الامر الذي يلي الكلمة Then وهو جمع الدرجات السابقة والا في حالة كون مجموع الدرجات اصغر من 60 درجة يتم اضافة علية درجة مشاركة الطالب الفصلية , الصيغة الثالثة : صيغة IF لاختبار اكثر من مقارنة . وهي وجود دالة IF اخري داخل الدالة الاولي وربما تتكرر اكثر من مرة وذلك لاعطاء المخرجات المناسبة بناء علي المدخلات المحددة لها , أي انة النتيجة تحتمل لا تحتمل امرين اما هذا او ذاك . بل ان لكل مقارنة نتيجة خاصة بة . مثال بسيط : لعل اقرب مثال هو مقارنة درجة الطالب النهائية واعطائه التقدير المناسب لتلك الدرجة . ( اذا كانت الدرجة من 100 حتي 81 ) فان التقدير هو " ممتاز " (اذا كانت الدرجة من 80 حتي 61 ) فان التقدير هو " جيد جدا " (اذا كانت الدرجة من 60 حتي 41 ) فان التقدير هو " جيد " (اذا كانت الدرجة من 40 حتي 21 ) فان التقدير هو " مقبول " (اذا كانت الدرجة من 20 حتي 0 ) فان التقدير هو " ضعيف " مثال محاسبي: سنضع المثال السابق داخل كود باستخدام اكثر من IF داخل IF واحدة . If [Extent] < 100 And [Extent] >= 81 Then Print "A" If [Extent] < 80 And [Extent] >= 61 Then Print "B" If [Extent] < 60 And [Extent] >= 41 Then Print "C" If [Extent] < 40 And [Extent] >= 21 Then Print "D" If [Extent] < 0 And [Extent] >= 0 Then Print "E" End If باعتبار ان كلمة (Extent) تعني الدرجة النهائية للطلااب . ملاحظات عامة :1- نلاحظ من خلال الامثلة السابقة انة اما ان ينفذ الامر الذي يلي الكلمة Then او الامر الذي يلي الكلمة Else ولا يمكن تنفيذ الامران معا . ففي المثال الاخير فان الطالب لا بد ان يحصل علي تقدير واحد فقط ومن المستحيل ان يجمع تقديران او اكثر مرا واحدة .2- في حالة عدم تحقيق شروط الدالة IF فان البرنامج ينفذ تلقائيا الاوامر التي تلي End IF و يتجاهل كل اوامر الدالة IF . حيث يمكن في المثال الاخير وضع شرط ينبة المستخدم الي ضرورة ادخال رقم مابين (0-100) وفي حالة تجاوز هذا الشرط فان الكود يظهر رسالة للمستخدم ويتوقف عن العمل دون ان يعطي تقدير معين بسبب عدم ادخال درجة محددة . 3- نجد كذلك في المثال الاخير ان كل IF وضعت في سطر مستقل , ودون استخدام End الدالة IF و بقية الدوال ( عمل الدوال كمجموعة واحدة ) .هناك بعض الدوال التي لا تبرز قوتها الحقيقية كدالة الا من خلال الاندماج مع الدالة IF ومن اكثر الدوال التصاق بدالة IF هما الدالة And وتعني " و" والدالة Or التي تعني " او" , وباذن الله تعالي سنتعرف علي مزيد من التفصيل حول تداخل الدوال والفلسفة القائمة علي اساس عمل دالة داخل اخري في درس مستقل .في المثال الاخير نجد اننا اعتمدنا علي الدالة And وذلك حتي نحصر الدرجة المدخلة بين درجتين محددتين ,وكان الشرط الاول يقول اذا كانت الدرجة هي اقل من 100 واكبر من 81 فالتقدير هو ممتاز . هنا لابد من توفر الشرطين معا بالنسبة للدالة And اما في حالة توفر الشرطين دون الاخر تتوقف الدالة عن العمل اما الدالة Or فهي تعني اما ان يتوفر الشرط الاول او الشرط الثاني أي في حالة توفر الشرطين تتوقف الدالة عن العمل , وسوف نتطرق الي شي من التفصيل عن الدلتان في درس مستقل بيهما ونضع لهما امثلة ان شاء الله تعالي .ان الامثلة السابقة ليست الا جزء بسيط جدا عن استخدامات الدالة IF والمنتدي ولله الحمد فية العديد من الامثلة وقد لايخلو برنامج اكسيس او اكسيل من اشتراك هذا الدالة . تم تعديل نوفمبر 29, 2004 بواسطه ابومؤنس 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.