الجمهورية العربية السورية جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ-معضمية الشام
الإجراءات و التوابع 60061005 200 10660018
ولد البرنامج 10,000 قيمة عشوائية فى المجال ما بين (1-0) إذ سم هذا المجال إلى أربحة مجالات جزئية متساوية ومهمة
البرناهج حساب عدد الأعناد العشوائية المولدة و الوافعة ضمن كل مجال جزئي.
وقد قي عمل هذا البرنامج إلى مجموعة من الإجراءات فالإجراء الأول 185م3000005801) يولد عدداً عسوائياً و يفحص
أما الإجراء الثاتى 45انوة2/ر12م015 فيطيع اسم الفثات الجزئية مع عدد الأعداد المنكمية لكل فئة منها أما الإجراء الثألت
يصدر صوت الجرس عند امتدعلئه.
ضمن قسم التصريح فى البرنامج الرئيسى (أربعة متحولات من النوع عدد حيفي و ثايت واحد) أما المتحولات الموضعية
السؤال الذي يطرح نفسه: ما هو العرق دين المتحولات العامة و المتحولات الموضعية؟
المتحولات الحامة يمكننا استخدامها في أي مكان ضمن البرنامج الرئيسي لذا استطعنا استخدام المتحولات العامة
0410164 ,0180163, 011411,0111122 ضمن الإجرا عن 180001053000185 د 01501818850115 أما المتحولات
لتصريحاته و تحريقائه و إجراءائه الخاسة و تكون المتحولات الموضعبة جزءاً من هذه البيئة فلا يمكن أن تتواجد هذه
المتحولات خارج هذه الببئة.
104 د «ماواءع0م مُعرفان ضمن الإجراء 45ان865/ر12 وال فإذا حاولت استخدامهما في البرنامج
الرئئسي 0208200 00810 أو ضمن أحد الإجراءات فإن المترجم عع1رم 2000 سيعطيك رسلة الخطأ الثالية
108046 000802080 و التى تشير إلى عدم إمكلية استخدام هذه التوانت ضمن هذا الجزء من البرنامج و السبب في
هنا أن هذه التوابت غير معرفة و غير موجودة عندما لا يكون الإجراء 92580165/رهام9ل فحالاً و بشكل مشايه فإن المنحول
الوسطاء 2066م
تزود المتحولات الوسيطية الإجراءات بالمعلومات اللازمة و ترجع النشائج المطلوبة من الإجراءاتفمئلا 'إجراء التريب
الا ال القيم المراد ترتييها و تستطيع تمرير هذه المحلومات عن طريق المتحولات
ورأس الإجراء يملك لائحة اختيارية من الوسطاء و هذه اللذئحة هي البيئة 608 001/00:
المعلومات النى إعداد المسلومات الثى سوف تمزز إلى الإجراء على أنها متحولات و.
محددة و يعتمد ذلك على نوع المعلومات المراد تمريرها إلى الإجراء و يمكن أن تمرر المعلومات بانجاه واحد أو بتجاهين
أي إلى الإجراء أو من و إلى الإجراء
عندما تحرف الإجراء يكون بإمكلتا إضافة منغذ لكل متحول يجب أن يُمرر إلى الإجراء عندما يُستدعى الإجراء هذا الإجراء.
على ديل المثال بقوم الإجراء 5ة/000011ع فى البرنامج التلى بلعد حتى عددٍ معين يمرر إليه عن طريق المثذ الوحيد
الموجود فى لائحة الوسطاء لهذا الإجراء.
«» التي يتم من خلالها إعاد
المهندس خالد ياسين الشسيع 6085 عالطنمعة طم ممتارك
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ-معضمية الشام
الإجراءات و التوابع 0000005 200 10660016
اتا ا لاج
يأخذ الإجراء السايق متحولاً واحداً و هو العدد الذي سوف يقوم الإجراء بالعد إليه عند استدعاء هذا الإجراء بين المتحول
ضمن قوسين بعد اسم الإجراء ففى المتال السابق كنت قيمة المنحول هي على الترتيب 30 و 00430185 و الذي بساوي إلى
المهندس خالد ياسين الشيع 7085 عالطنوعة طم مارك
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة الملوماتية . - إعداد المهندس خالد ياسين الشيخ معضمية الشار
الإجراءات و التوابع 60061005 200 10660018
عندما تُعرف إجراء يحتاج إلى بعض المعلومك عند استدعائه يجب علينا أن نضيف تصريحاً عن وسطاء شكلية 0021
02806166 ضمن القوسين النين بان بعد اسم الإجراء.
هذا التصريح عن الوسطاء يمد يحدد امنم وقوع كل منقذ خلمن بمرور المتلومات من و إلى الإجراء أو إلى الإجراء
تعدد الرسطاء 5م2:201646م 1م0018
يمكن التصريج عن عدة وسطاء ضمن الإجراء الواحد و يمكن أن تكون هذه الوسطاء من أنواع واحدة أو أنواع مختلفة
بحتو السرد التالى على عدة رؤوس إجراءات مين الصيع المظلفة لصبع التصريح عن الوسطاء:
و الصنيغة الكثابية لوسيط واحد و الذي يمكن أن يستخدم للتصريح عن الوسطاء اللازمة للإجراء يتكون على الشكل الثالئ:
جنوج المحطيات>": "جمميز >[9:07/")
لاحظ أن رأس الإجراء 0000021 فى اللائحة السالقة هو متل واضح عن هذه الصيغة
الغوسان الكبيران حول المميز المحجوز »9ن في الصيخة الكتاية السللغة بدلان على إمكاية استخدام هذا المميز المحجوز
قل التصريح عن الوسيط أو عدم استخدامه و هذا الججيز المحجوز مو/ا سوف ذرى أهميته لاحفاً
فيجب إيجاد تعريف خاص لكل وسيط مع ملاحظة الل بين تعريف الوسطاء بفاصلة منغوطة (:) كما هو مبين فى رأس
الوسطاء الشكلية و المتحولات الوسيطية 2090002015 200 0222061655 1011021
عندما تعرف وسيط كلهي رأس الإجراء فإننا نكون قد عرفنا متقذاً لحبور المعلومات إلى الإجراء لاستخدامها فيه وعند
استدعاثنا للإجراء علينا وضع هذه المعلومات على المنافذ بواسطة تحديدها أو تمريرها كمتحولات وميطية.
أن الوسطاء الشكلية تمثل المتافذ فإن المتحولات الوسيطية تملك المعلومات اللية المستخدمة ضمن الإجراء و فى
الحيقة تُحرف المتحولات الوسيطية على أنها وسطاء فعلية 0222081665 861021
شمن أجل كل وسيط عرفاه وجب علينا تمرير متخول وميطى إليه عند استدعاء الإجراء لذلك علينا تعيين متحولين وسبطين
عند استدعلفا للإجراء 6010668 فى حين ينبغي علينا تعيين متحول واحد عندما تريد استدعاء الإجراء 5ا00087/2.
مثلا لنأخذ رأس الإجراء الثالى:
أما استدعاء الإجراء ضمن البرنامج الرئيسي فيتم على الشكل الثالى:
وسطاء فعلية
وعليه يجري استبدال هذه المتحولات كما بلي: ل
الوسطاء الشكلية 2220161655 2000121
الوسطاء الفلية 655 02720181 860081
بالإضافة إلى ذلك يجب الانتباه إلى وضع المتحولات الوسبطية بالترتيب الصحيح فكل وسبط سكل بملك نوعاً خاصاً به و
تحرف الوسطاء الشكلية وفق تريب معين لذلك يجب أن يملك كل ومبط فعلى نوعاً خاساً به أيضاً و مطابق لنوع الوسيط
الشكلى المناظر له و يجب أن يقي بنفس الترتيب الذي أفى به الوسيط الشكلي المناظر
المهندس خالد ياسين الشيع 5م80 عالطنوعة طم مهار
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة الملوماتية . - إعداد المهندس خالد ياسين الشيخ معضمية الشار
الإجراءات و التوابع 60001005 200 10660018
وبالتكيد فإن بعض الروثينات (الإجراءات)مسيقة التعريف مستتئلة من هذه الفبود فمتلاًٌيمكن أن يأخذ الإجراء 10ع18و/ي عدداً
متغيراً من المتحولات الوسيطية (الوسطاء الفعلية) و أن تكون هذه المتحولات من أنواع مختلفة عند كل استدعاء لهذا
الإجراء
ستورد الآن بعض الأمئلة على استدعاءات صحيحة و أخرى غير صحيحة ممتمدين على التصريحات عن رؤوس
الإجراءات فى السرد السابق. اخرضن اد تخيلنا في هذه الاستدعاءات أن 0004م متحول من النوع الصحيح و 001543 متحول
من النوع سلسلة رمزية و اعتماداً على ذلك فإن الاستدعاءات الخمسة الثالية صحيحة و الأربعة الباقية خلطئة
(*يمكن أن لُمرر قيمة صحجة*) 55)كا ةصنم
(*يمكن للمتحول أن يُمرر على أنه وميط ما*) ابميس )كاه مم
(*يمكن أن تمرر غبارة صحيحة*) :15 *15)2ة 0010م
(*بمكن لمتحول سلسلة رمزية أن بُمرر *) بخص لامرك لبض)نعوه امطناعع
(*يمكن لسلسلة رمزية أن تمرر*) التمتيس, "7 عنطول )نعو اماعع
(* هنك زيادة فى عد المتحولات الممررة *) ب 5كتمايم)كا ةباصم
(*بجب أن تكون قيمة هنا امتحول صحيحة*) :(20.3) 000131
(*المتحول الأول غير موجود: نقض في عدد المتحولات*) اللمترض)ابعيه امتاقع
التصريح عن الوسطاء واستخظامها 02120061615 8 0أكنا 208 066121108
التصريح هو عبارة عن تعليمة وظيفتها تخصيص مكان تخزين المتحول عند استدعاء الإجراء ومكان تخزين هنا سوف بكون
بالحجم الكافى لتمتيل قيمة المتحول وحسب نوع المحرف فى رأس الإجراء
فعلى سبيل المتال:عتدما صر حنا عن الوسيط الشتكلى 00/18 على أنه من النوع الصحبح م8ع016ز في الإجراء
05 فإن مكان تخزين مؤقت بطول دايئين سوف بخصص لهذا المنحول عندما يستدعى هذا الإجراء. و عند الانتهاء
عندما استدعينا الإجراء 5ا0000/0 مع القيمة (28) قلم البرنامج بنسخ هذه القيمة إلى التخزين المؤفت المخصص
للمتحول 10118 كما في الشكل التالي:
الوسطاء الفعلية مواقع الذاكرة الوسطاء الشكلية.
-- لوتطسمط
و بشكل مشابه عندما استدعى البرتامج الإجراء 000087315 مع المنحول 01410185 و لتكن قيمته 100 متلا ينسخ البرنامج
قيمة هنا المنحول إلى مكان التخزين المؤفت المخصص للوسبط 10/1180 وعندما نُسخت قيمة المتحول 00010185 لم
بطراً أي تغيير عليها و قيمتها لم تتغير كنتيجة لاستدعاء الإجراء كما في الشكل التالى:
الوسطاء الفعلية مواقع الذاكرة الوسطاء التكلية
100 100 100 - #وتطاسمط
البيئة الموضعية للإجراء وجب علينا التأكد من هذه المتحولات تملك قيماً هذا بعني أنها على الأقل قد هيثت أو بمعنى آخر قد
يمكن أن تمرز المعلومات بواسطة قيمها بأشكال مختلعة هى:
المهندس خالد باسين الشيع 90285" عالاوعم طم مار
ايتداء
الجمهورية العوبية السورية جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ معضمية الشام
الإجراءات و الترابع 100865005 200 106601018
3 على شكل تجير. مثل: 5+3 أو 255 ال
الاسم يُحدد من خائل ببئة الإجراء 80101600008015 060680085 و ججارة أدق من خلال لائحة الوسطاء الملحقة باسم
الإجراء. و تعرف هذه الأسماء على أنها أسماء موضحية لذلك عندما نتفذ الإجراء م8ع641016ع فإن مسلحة من الذاكرة
خصصت من أجل تحريف وسطلئه 00655886 و علااولا و هذه الأسماء لن تكون معروفة خارج نيئة هذا الإجراء و بشكل
مشادب فإن مساحة التخزين لعد صحبح :108688 قد خُصصت ضمن البيثة الموضعية
10681601000001 للبجراء اوناون0 من أجل وسبطه 00/1810 و ذلك عند تنفيذ هذا الإجراء.
عند الانشهاء من تنفيذ أي إجزاء فإن وسطاءه الموضجة و أماكن تخزينهم تتلاشى و لا يستطيع البرنامج الرئيسي التحرف
لذلك نقول: إن استدعاء البيئة لا بعرف الأسماء الموضعية [المحلبة) للوسطاء و لكنه بعرف فط عدد و نوع المنافذ الى
سوف تمرر المعلومات من خلالها إلى الإجراء.
فمئلاً عندما يستدعى الإجراء م0101688ع فإن أي قيمة توضع على المنفذ الأول ستحطى للمنحول 08552888 و أي قيمة
توضع على المتغذ الثانى ستعطى للمنحول 9106لا
إن المعلومات الموضوعة على المنافذ عند استدعاء البيئة يكون لها أسماء تختلف عن الأسماء المخصصة لها ضمن البيئة
مثلاً: في الدرنامج الرئيسي من الممكن أن تمرر للجراء م0101688عج متحول سلسلة رمزية متل 9001/208016 أو تاباً في
منفذه الأول و أن تمرر له متحولاً صحيحاً مثل 008رم أو قيمة محددة في منفذه الذنى.
الوسطاء ذور الاتجاهين 61685 2220م لاقلا 00ل 1
الملومات الممررة لا تتغير ضمن الروئين الستدعى فى حين نحتاج فى بعض الأحبان إلى أن نعيد معلومات من الإجراء
استدعا بقيمة صحيحة إذاً يجب أن بيد الإجراء 2811016863 القيمة المطلوبة عن طريق وسيطه التاتى و بيدا بالمميز
المحجوز 98ل.
يُستخدم الوسيط الذي يبدأ التصريج عنه بواسطة 92لا في إعادة المعلومات من الإجراء إلى الروئين المستدعى فعند الانتهاء
من تنفيذ الإجراء تكون الوسطاء قد امتلكت قيماً جديدة تختلف عن العم التى مُررت بها إلى الإجراء.
السبب في ذلك أن المتحولات الوسيطية 8,0100804 التى مررت إلى الإجراء و كذلك الوسطاء الشكلية
0220616 000021 تشير إلى مكان واحد ضمن الذاكرة.
و المثال الثالى ببين أنا طريقة تمريز الوسطاء ذو الاتجاهين إذ يحوي هذا المثل على نسخئين من إجراء واحد ووظيغة هنا
الإجراء هو تببيل فيمتي متحوليه الوسيطين
ناا معدم
ع6 212:10 1افلا )ولا
ع6 1م00 لقلا
المهندس خالد باسين الشيع 100785 عالطاوعة طم مار
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ-معضمية الشام
الإجراءات و التوابع 6000005 200 10660016
خرج البرنامج السابق من أجل قيم للدخل 8007511-12 512-13 كالتالي:
مةلمكامتفهط بعالم
3 قاف :12 - تاولا
تلاحظ من الخرج السابق أن عملية تبديل الغيم لم تحدت ضمن الإجراء 830104520 في حين أن القيمئين فد تُدلنا ضمن
الإجراء م0000158/8ع و السبب فى ذلك يرجع إلى التغيير الموجود في لائحة الوسطاء لكلا الإجراءين السابغين إذ سبغث
وسطاء الإجراء (05:8م:000ع بلمميز المحجوز 92/.
المهندس خالد باسين الشيع 1]1|]185 عالممعم طم مهار
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة الملوماتية . - إعداد المهندس خالد ياسين الشيخ معضمية الشام
الإجراءات و التوابع 0000005 200 10660018
الوسطاء السلية مواقع الناكرة الوسطاء التكلية
عند استدعاء 911لا قد م ع1 5
عاو جد لها ود لا
عند الانتهاء من تنفيذ 1/911 عد لها ود ين
تاو جد لها يد سنا
عد امتدعاء لافلا 12 1
عد الانتهاء من يذ رزوي 13 نا
لقد لاحظنا سقاً عدم حصول أي عملية تبديل فى قيمة المتحولين 1/311 و 912لا بعد أن مُررت فيمها إلى الإجراء
لكن هذه الوسطاء معرفة فط ضمن الإجراء 58004580 و البرنامج الرئيسي لم يتحرف على التغيبر الذي حصل لهذه
القيم و بالثالي لم تتغير قيمة المتحولين 7/311 و 812/ا ضمن البرنامج الرئيسي 08088800 00810 قبل و بعد نا
5801015030 و في المقل عندما انتهى تنفيذ الإجراء م0001055/3ع فإن قيمة المتحولين 811لا و 12لا م ضمن
البرنامج الرئيسي و بجبارة أخرى إن الإجراء 0001045080ع قد علم أبن توضمت قيم متحولائه الوسيطية 86801006015
في الذاكرة و استطاع أن يُبدل قيمها إذاً استطاع الإجراء 0045880 00ع الوصول إلى المتحولين 811لا و 2او/ على
الرغم من أن هذه الأسماء لنت مذكورة فى جسم إجراءائه و السبب في ذلك أن مواضع النخزين المخصصة للمتحواين
6 و 560000 هي نفسها مواضع التخزين المخصصة للمنحولين 1/11 و او على الترتبب و هذا يعني أن التغيير
الذي حصل فى قيمة المتحولين 01658 و 566000 قد غير أيضاً الهتحولين 1/811 و 912لا
مباشرة و لم تمرر نسخة عن قيمتها بدعى مثل هذا النوع من التمرير للوسطاء بلتمرير المرجعي
6686606 لانا 025560 أو التمرير بالإشارة و الوسطاء التى تمرر بهذه الطريقة يمكن أن تتغير قيمئها عند استدعاء
يمكتنا تمرير قيم مثل: (55) أو تعبير متل (55+45) كوسطاء مرجعيين و لكن يمكثنا فقط تمرير المتحولات مرجعياً حيبت
سيعرف الروتين المستدعى عنوان هذه المتحولات فى الناكرة و من تم يقوم بتغيير محتواها حسب تسلسل تعليمات الروتين,
الإجراء
المهندس خالد ياسين السيع 12085 عالطنمعة طم ممتارك
جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ-معضمية الشام
الإجراءات و التوابع 6000005 200 10660018
أمثلة على تمرير الوسطاء 025510 616:5 02:20 06 5200165 :
أن * و لإ هي أسماء موضعية للمتحولين 1ج و 2ع على الترئيب.
المهندس خالد باسين الشيع 18385 المع طم مارك
الجمهورية العربية السورية جامعة دمشق-كلية الهندسة المعلوماتية . - إعداد المهندس خالد ياسين الشيخ-معضمية الشام
الإجراءات و التوابع 6000005 200 10660018
خرج البرنامج السبق كالنالى
المهندس خلد ياسين الشيخ
يستدعي البرنامج السابق تلاتة إجراءات لوائح و سطائها متمائلة تغريباً إذ يملك كل إجراء وسيطين هما» و ل و عدداً مختلفاً
من المتحولات المسبوفة بالمميز المحجوز مون فضئلاً لا بملك الإجراء 21085//ع أي مميز عونا قبل وسطلئه و هذا يني
أن متحولائه سوف تمرر بواسطة قيمها و بتعبير آخر فإن نسخة من المتحولات الوسيطية سوف تمرر إلى هذا الإجراء و أي
بلذاكرة و يستطيع الروئين المستدعى الوصول إليه و أي تغيير سوف يحصل فى موقع التاكرة هنا سوف يبقى بعد الانتهاء
من تنفذ الإجراء بوباعنا ولا
الترابع 15060005
لقد صممت الإجراءات للقيام بعمل ما و بالمقابل صممت التوابع لحساب قيمة ما و الإجراءات يمكن أن د
متحولات وسبطية و تعيد دائماً قيمة واحدة . فاخ مئلاً التابع القالى:
فإن من أجل أي قيمة ل» فأ النابع يعيد لنا مربع الم »«
متل: 2026 قن النابع يعيد 5400لا
ار ضحتخيل أنه أدينا تليماً اسمه 5087 لحساب الجذر التربيعى لعزم تمرر له فعند استدعاء هذا التابع مع متحول وسيطى
2601060 سيعيد هنا التابع قيمة واحدة و هي الجذر التربيعي للمتحول الممرر.
مثال
و في لغة باسكال التوابع هي روتيثات د دائماً قيمة محددة. و التوابع تملك نفس مكونات الإجراءاث من رأس للتابع و قسم
,بح و جسم للتابع و الصيغة الكتابية لتحريف التابع و الصيغة الكنابية لاستدعاء التابع تختلفان عن مايلاتها بالثسية
المهندس خالد باسين الشيع 175 عالطاوعة طم فار