الانتقال إلى المحتوى الرئيسي

كيفية تمرير صفيف إلى وظيفة باسكال: دليل مفصل

باسكال هي لغة برمجة لها ميزاتها وقواعدها الخاصة. إحدى هذه المشكلات هي تمرير مصفوفة إلى دالة. هذه حالة شائعة إلى حد ما عندما يكون من الضروري نقل البيانات من جزء من البرنامج إلى جزء آخر.

يمكن تمرير صفيف إلى دالة في باسكال بالرجوع أو عن طريق نسخ البيانات. ومع ذلك ، في معظم الحالات ، يوصى باستخدام النقل بالرجوع ، لأن هذا يتجنب نسخ كميات كبيرة من البيانات ويعمل بشكل أكثر كفاءة مع المصفوفات.

لتمرير مصفوفة بالرجوع إلى دالة باسكال ، يتم استخدام الكلمة الأساسية "فار" قبل إعلان المصفوفة في توقيع الوظيفة. هذا يسمح للوظيفة بتغيير قيم المصفوفة الخارجية. عند تمرير مصفوفة بالرجوع إليها ، من الضروري تمرير المصفوفة نفسها ، وليس عناصرها.

يمكن أن يكون استخدام نقل الصفيف بالرجوع مفيدا عندما تحتاج إلى تغيير قيم الصفيف داخل دالة ويجب أن تنعكس في البرنامج الرئيسي. من المهم أن تتذكر أنه عند تمرير مصفوفة بالرجوع إليها ، يمكن للوظيفة فقط تغيير قيم المصفوفة ، ولكن ليس حجمها.

  1. تحديد مصفوفة في باسكال
  2. إنشاء وظيفة للعمل مع صفيف
  3. تمرير صفيف إلى وظيفة
  4. العمل مع المصفوفة التي تم تمريرها في الوظيفة
  5. إرجاع قيمة من دالة
  6. سؤال وجواب

تحديد مصفوفة في باسكال

المصفوفة هي بنية بيانات مهمة في لغة برمجة باسكال. يسمح لك بتخزين ومعالجة مجموعة من العناصر من نفس النوع التي يمكن الوصول إليها بواسطة فهرس. في باسكال ، يمكن تعريف المصفوفة على النحو التالي:

قبل تحديد مصفوفة في باسكال ، يجب علينا تحديد اسم المصفوفة ونوع بيانات عناصرها. ما يلي هو بناء الجملة لتعريف صفيف:

الوصفبناء الجملة
صفيف أحادي البعداسم صفيف فار: صفيف [فهرس_اسم..فهرس_مفهوم] من نوع العنصر;
صفيف ثنائي الأبعاداسم صفيف فار: صفيف [فهرس_1_1..فهرس_حسب_1 ، فهرس_دولة_2..فهرس_كون_2] من نوع العنصر;

أين:

  • اسم المجموعة هو الاسم الذي تريد تعيينه إلى المصفوفة;
  • فهرس_بدء و فهرس_بدء هي القيم الأولية والنهائية لمؤشر الصفيف;
  • نوع العنصر هو نوع البيانات التي سيتم تخزينها في المصفوفة.

على سبيل المثال ، لإعلان وتهيئة مصفوفة أحادية البعد من الأرقام في باسكال ، يمكنك استخدام الكود التالي:

فار

أرقام: مجموعة [1..5] من عدد صحيح ؛ / / مجموعة أحادية البعد من الأرقام

من الممكن أيضا تحديد وتهيئة مصفوفة ثنائية الأبعاد في باسكال:

فار

مصفوفة: صفيف [1..3, 1..3] من عدد صحيح ؛ / / مجموعة ثنائية الأبعاد من الأرقام

عند تحديد مصفوفة ، يمكنك استخدامها لتخزين البيانات والوصول إلى عناصر المصفوفة باستخدام الفهارس. على سبيل المثال ، لتعيين قيمة لعنصر من صفيف أحادي البعد ، استخدم بناء الجملة التالي:

أرقام [1]: = 10 ؛ / / تعيين القيمة 10 للعنصر الأول من المصفوفة

أو لتعيين قيمة لعنصر من صفيف ثنائي الأبعاد ، استخدم بناء الجملة التالي:

مصفوفة[2, 3] := 5; // قم بتعيين قيمة 5 لعنصر المصفوفة في الصف الثاني والعمود الثالث

الآن أنت تعرف كيفية تحديد مصفوفة في باسكال واستخدامها لتخزين البيانات. أنت تعرف أيضا كيفية الوصول إلى عناصر المصفوفة باستخدام الفهارس.

إنشاء وظيفة للعمل مع صفيف

لاستخدام صفيف في دالة باسكال ، يجب عليك تحديد نوعه في رأس الدالة. ثم يمكنك تمرير المصفوفة كوسيطة إلى الوظيفة وإجراء عمليات مختلفة معها.

يوجد أدناه مثال على إنشاء وظيفة للعمل مع مصفوفة:

وظيفة سومارايليمنتس(آر: مجموعة من عدد صحيح): عدد صحيح;

فار

أنا ، مجموع: عدد صحيح;

بيغن

المجموع: = 0;

لأني: = منخفضة(آر) إلى عالية (آر) هل

بيغن

مجموع: = مجموع + أر[أنا];

النهاية;

النتيجة: = مجموع;

النهاية;

في هذا المثال ، يتم تعريف وظيفة سومارايليمنتس ، الذي يأخذ مجموعة من مجموعة من نوع صحيح أر وإرجاع مجموع كل عناصره.

يتم الإعلان عن المتغيرات أنا ومجموع عدد صحيح من النوع داخل الوظيفة. يتم استخدام متغير المجموع لتجميع مجموع عناصر المصفوفة.

في ل حلقة ، يتم اجتياز جميع عناصر المصفوفة من مؤشر منخفض(أر) إلى مؤشر عالية(أر). ترجع الوظائف المنخفضة والعالية الحد الأدنى والحد الأقصى لمؤشرات المصفوفة ، على التوالي.

في كل تكرار للحلقة ، يتم إضافة العنصر الحالي للمصفوفة آر[أنا] إلى متغير المجموع. بعد اكتمال الحلقة ، تقوم الدالة بإرجاع قيمة المجموع.

مثال على استخدام وظيفة سومارايليمنتس:

فار

آر: صفيف [0..4] من عدد صحيح = (1, 2, 3, 4, 5);

مجموع: عدد صحيح;

بيغن

مجموع: = سومارايليمنتس(آر);

وريتلن ('مجموع عناصر الصفيف:' ، مجموع);

النهاية.

نتيجة تنفيذ البرنامج:

مجموع عناصر المصفوفة: 15

في هذا المثال ، يتم إنشاء صفيف آر ومليئة بالقيم. ثم يتم استدعاء وظيفة سومارايليمنتس مع مجموعة أر كوسيطة. يتم عرض نتيجة الوظيفة على الشاشة.

وبالتالي ، فإن إنشاء وظيفة للعمل مع صفيف في باسكال يعلن عن وظيفة ذات وسيطة من نوع صفيف وأداء العمليات اللازمة مع عناصر المصفوفة. يتيح لك العمل مع المصفوفات في الوظائف إنشاء وظائف عالمية لمعالجة المصفوفات ذات الأحجام والقيم المختلفة.

تمرير صفيف إلى وظيفة

يعد تمرير مصفوفة إلى وظيفة مهمة مهمة في البرمجة. في باسكال ، هناك عدة طرق لتمرير مصفوفة إلى دالة.

طريقة واحدة هي تمرير صفيف بالرجوع إليها. في هذه الحالة ، تحصل الوظيفة على حق الوصول إلى المصفوفة الأصلية ويمكنها تغيير محتوياتها. لتمرير صفيف بالرجوع إليه في باسكال ، يجب عليك استخدام الكلمة الأساسية فار عند الإعلان عن معلمة دالة.

على سبيل المثال:

الإجراء برينتراي(فار آر: مجموعة من عدد صحيح);

فار

أنا: عدد صحيح;

بيغن

لأني: = منخفضة(آر) إلى عالية (آر) هل

اكتب (آر [أنا]،'');

رايتلن;

النهاية;

طريقة أخرى هي تمرير صفيف حسب القيمة. في هذه الحالة ، تتلقى الدالة نسخة من المصفوفة ولا يمكنها تعديل المصفوفة الأصلية. لتمرير صفيف حسب القيمة في باسكال ، يجب عليك استخدام الكلمة الأساسية كونست عند الإعلان عن معلمة دالة.

على سبيل المثال:

إجراء برينتراي (كونست آر: مجموعة من عدد صحيح);

فار

أنا: عدد صحيح;

بيغن

لأني: = منخفضة(آر) إلى عالية (آر) هل

اكتب (آر [أنا]،'');

رايتلن;

النهاية;

يعتمد اختيار كيفية نقل مصفوفة إلى دالة على متطلبات مهمة محددة. إذا كنت بحاجة إلى تغيير محتويات المصفوفة في الوظيفة ، فاستخدم النقل بالرجوع. إذا كنت تحتاج فقط إلى قراءة بيانات الصفيف ، فاستخدم نقل القيمة.

العمل مع المصفوفة التي تم تمريرها في الوظيفة

عند تمرير صفيف إلى وظيفة باسكال ، يمكنك استخدامه داخل وظيفة الطريقة التي تفعل مع المتغيرات العادية. ومع ذلك ، هناك العديد من الميزات التي يجب أن تكون على دراية بها.

1. يتم تمرير المصفوفة إلى الوظيفة بالرجوع إليها ، وليس بالقيمة. هذا يعني أن أي تغييرات يتم إجراؤها على المصفوفة داخل الوظيفة ستنعكس على المتصل.

2. يمكنك تغيير عناصر المصفوفة داخل الوظيفة عن طريق تعيين قيم جديدة للعناصر أو استخدام العمليات على العناصر.

3. إذا كنت ترغب في تغيير حجم مصفوفة في دالة (زيادة أو نقصان) ، فسيتعين عليك استخدام تقنيات إضافية ، مثل استخدام المصفوفات الديناميكية أو تمرير معلمات إضافية تشير إلى حجم المصفوفة المعدلة.

هنا مثال على وظيفة التي تأخذ مجموعة وإخراج عناصرها:

إجراء برينتراي (كونست آر: مجموعة من عدد صحيح);

فار

أنا: عدد صحيح;

بيغن

لأني: = منخفضة(آر) إلى عالية (آر) هل

الكتابة (ر [ط]);

النهاية;

ستبدو مكالمة الوظيفة كما يلي:

فار

مياراي: صفيف [0..4] من عدد صحيح = (1, 2, 3, 4, 5);

بيغن

برينتراي (مياراي);

النهاية.

تأخذ هذه الوظيفة مصفوفة مع أي عدد من العناصر وتعرضها على الشاشة. ويستخدم حلقة التي تعمل من خلال جميع عناصر المصفوفة ، بدءا من الأول (منخفض(أر)) وتنتهي مع آخر (عالية(أر)). قيمة منخفضة (أر) بإرجاع مؤشر العنصر الأول من مجموعة ، وارتفاع (أر) بإرجاع مؤشر العنصر الأخير.

وبالتالي ، عند العمل مع المصفوفات في وظائف باسكال ، يمكنك إجراء عمليات مختلفة على عناصر المصفوفة ، وتغيير قيمها ، واستخدام تقنيات إضافية لتغيير حجم المصفوفة إذا لزم الأمر.

إرجاع قيمة من دالة

كما هو الحال في لغات البرمجة الأخرى ، لدى باسكال القدرة على إرجاع القيم من الوظائف. يتيح لك إرجاع قيمة استخدام نتيجة العمليات الحسابية التي يتم إجراؤها داخل الوظيفة في أجزاء أخرى من البرنامج.

يتم استخدام الكلمة الرئيسية للنتيجة لإرجاع قيمة من دالة في باسكال. تتيح لك هذه الكلمة الرئيسية تحديد القيمة التي سيتم إرجاعها من الوظيفة.

مثال:

وظيفة إضافة (أ ، ب: عدد صحيح): عدد صحيح;

بيغن

النتيجة: = أ + ب;

النهاية;

فار

س ، ص ، مجموع: عدد صحيح;

بيغن

س: = 5;

ص: = 10;

مجموع: = إضافة (س ، ص) ؛ / / استدعاء دالة مع تمرير الوسائط وتعيين النتيجة لمتغير

وريتلن ('المبلغ يساوي' ، مجموع);

النهاية.

في هذا المثال ، نعلن عن وظيفة الإضافة ، والتي تأخذ وسيطتين وتعيد مجموعهما. ثم نعلن المتغيرات س و ص وتعيين لهم القيم 5 و 10 ، على التوالي. بعد ذلك ، ندعو وظيفة إضافة مع الحجج س و ص وتعيين النتيجة إلى متغير المجموع. أخيرا ، نعرض النتيجة على الشاشة.

في هذه الحالة ، سيتم إخراج البرنامج:

المجموع هو 15

يتيح لك إرجاع قيمة من وظيفة استخدام نتائج العمليات الحسابية بشكل أكثر مرونة ، ويجعل البرنامج أكثر وحدات ويحسن قابلية القراءة والصيانة.

سؤال وجواب