
return values وظائف بـ

قم بالترقية للحصول على المزيد من المحتوى
صحيح أم خطأ؟ نمنح إسما للـ function لنتمكن من استدعائه في البرنامج.
قامت لينا بدمج برنامجين صغيرين للروبوت، في برنامج واحد أكبر... ...باستخدام الـ functions. قامت بتحويل قسمين من الكود إلى اثنان من الـ functions... ...وجزء البرنامج الذي يستخدم الـ functions، البرنامج الأساسي، يبدو هكذا: التعليم الأول هو استدعاء للـ Start function. ثم يقوم شخصان مختلفان بإدخال الإسم والعمر. يقوم البرنامج بحساب الفرق، ويخبرهم الروبوت بالنتيجة، وأخيرا، في البرنامج الرئيسي، يتم استدعاء الـ End function تختبر لينا البرنامج. يقوم الروبوت بتنفيذ تعليمات الـ "Start": افتح عينيك لُفَّ الهوائي، وشغل الشاشة. ثم يعود البرنامج من الـ Start function إلى البرنامج الرئيسي. يقرأ السطر الذي يأتي مباشرة بعد تعليم استدعاء الـ Start function. يطلب الروبوت من لينا إدخال اسمها ... ... وعمرها. ثم يأتي التعليم "أطلب من المستخدم إدخال اسمه" لكننا لدينا هذا التعليم مسبقا. هذه الخمس سطور متطابقة تقريبا مع.. ..هذه الخمس سطور، ..ما عدا أنه في الأولى، يتم استخدام "الإسم-واحد: و"العمر-واحد"، وفي الثانية "الإسم-اثنان: و"العمر-اثنان". عندما يتكرر الكود، فيمكن للينا استخدام function، إنها تعرف ذلك! لكن الكود ليس متطابقا تماما في الحالتين. أسماء المتغيرات مختلفة. هل ما زال يمكن استخدام function؟ نعم في الواقع، يمكن ذلك. أنظر لهذا. تعليمات الـ function توجد بالفعل: هنا! تقوم لينا بنسخ السطور ووضعها فوق البرنامج الأساسي. ما تريده هو أن تعمل هذه الـ function لكل الأسماء والأعمار، وليس للاسم-واحد والعمر-واحد فقط، أو الاسم-اثنان والعمر-اثنان فقط. كيف يمكنها ذلك؟ تقوم بتغيير المتغيرات إلى "إسم" و"عمر" فقط - إنها تحذف الأرقام. ستتم إضافة الأرقام عند استجابة الـ function لاستدعاء البرنامج. وأخيرا في الـ function، تُدخل لينا التعليم "أعد الاسم والعمر"، فيقوم الـ function بإرسال القيمة الموجودة في متغيري "name" و"age" إلى البرنامج الأساسي. تحصل الـ function الجديدة على اسم "Hello" وقوسين. تنظر لينا في البرنامج الأساسي. على البرنامج مقارنة عمري شخصين. لذا تقوم باستدعاء الـ Hello function مرتين. هكذا. وهنا أيضا. أول مرة يُستدعى فيها الـ function، يتم حفط "name" و"age" في المتغيرين "name-one" و"age-one". لذا تكتب التالي. “Name-one and age-one call hello” تُعين القيم للمتغيرات باستخدام علامة يساوي. ثم يتم حفظ اسم وعمر الشخص الثاني في "name-two" و"age-two". هل رأيت ما قامت به؟ إستخدمت function واحدة لحفظ القيم في عدة متغيرات مختلفة. تختبر لينا الكود ثانية. يبدأ البرنامج باستدعاء الـ Start function. يستيقظ الروبوت. يعود البرنامج للسطر الذي بأتي بعد الاستدعاء. يتم استدعاء الـ Hello function، ثم يسأل الروبوت لينا عن اسمها. يُحفظ "لينا" في المتغير "name". - أهلا لينا يسأل الروبوت عن عمر لينا، فتجيب 16. يُحفظ "16" في المتغير "age". القيم المدونة في المتغيرات "name" و"age" تُرسل إلى السطر الذي قام باستدعاء الـ function. يُحفظ "لينا" في "name-one" و"16" في "age-one". السطر التالي في البرنامج الرئيسي يستدعي "Hello" ثانية. يسأل الروبوت عن اسم ماريا. يُحفظ "ماريا" في المتغير "name". - أهلا ماريا يسأل الروبوت عن عمر ماريا فتجيب 15. يُحفظ "15" في المتغير "age". القيم الموجودة في المتغيرين "name" و"age" تُرسل للبرنامج الأساسي. والآن، يُحفظ "ماريا" في المتغير "name-two" و"15" في "age-two". السطر التالي في البرنامج الأساسي يحفظ نتيجة "age-one" ناقص "age-two". ثم يقول الروبوت - لينا أكبر من ماريا بعام واحد. البرنامج يعمل! تستطيع الـ Hello function إعادة قيم مختلفة مخزنة في متغيرات مختلفة باستخدام return values.