
الوظائف في البرمجة

قم بالترقية للحصول على المزيد من المحتوى
صحيح أم خطأ؟ الـ function هي مثل برنامج صغير داخل برنامجنا الكبير.
قامت لينا ببرمجة عدة برامج صغيرة للروبوت، وتريد الآن دمج اثنان من تلك البرامج في برنامج واحد أكبر. يبدو السودوكود الذي دمجته من البرنامجين كالتالي: توجد الكثير من صفوف التعليمات. تتصفح لينا للأعلى والأسفل عبر الكود... فتجد ثلاث صفوف من التعليمات تتكرر عدة مرات. هل هذا ضروري؟ لنساعدها، بحيث تكون التعليمات مطلوبة في مكان واحد فقط. توجد هذه الصفوف الثلاث من التعليمات في مكانين. دعونا نكتب تلك الصفوف الثلاث في أعلى السودوكود. إننا على وشك إنشاء برنامج صغير داخل برنامجنا الكبير، أي وظيفة. نستخدم الوظيفة باستدعائها. إذا ستحتاج الوظيفة إلى اسم لنعرف أننا نقوم باستدعاء الوظيفة الصحيحة. نسميها "start"، ثم نضع قوسين بعد الاسم. نضع القوسين لإظهار أنها وظيفة. نريد جعل السودوكود أكثر وضوحا. نفعل ذلك من خلال تبويب الصفوف المتعلقة بالوظيفة. يمكننا الآن استدعاء وظيفة start... هنا... وهنا، بكتابة "call start" وقوسين. عندما نستخدم الوظائف، فليس علينا كتابة نفس التعليمات مرات عديدة. يصبح استخدام السودوكود أسهل لأن كل استدعاء للوظيفة يُنفذ عدة تعليمات. يكون معالجة برنامج قصير أيضا أسهل من برنامج طويل به الكثير من الصفوف. وإذا أردنا عمل تغيير، فلا نحتاج للقيام به سوى في مكان واحد. لقد استبدلنا مجموعتي كود باستدعائي وظيفة. لينا الآن متحمسة لتحويل المزيد من أجزاء الكود إلى وظائف. هل ترى أية مجموعات متكررة أخرى من صفوف التعليمات؟ هذه ثلاث تعليمات أخرى توجد في مكانين. ربما يمكنك مساعدتها؟