يتم إعطاؤك مقتطف التعليمات البرمجية الذي يحدد وظيفة `getListOfFiles(dirName)`. تأخذ هذه الوظيفة اسم الدليل كمدخل وتقوم بإرجاع قائمة بجميع الملفات الموجودة في الدليل المحدد وأدلته الفرعية.

مهمتك هي إكمال تنفيذ الوظيفة `getListOfFiles` بحيث تعمل كما هو موضح أعلاه.

تحتاج إلى تنفيذ الأجزاء التالية من الوظيفة:
1. قم بإحضار قائمة أسماء الملفات والأدلة الفرعية في الدليل المحدد باستخدام وظيفة `os.listdir()`، وقم بتعيينها للمتغير `listOfFile`.
2. قم بتهيئة قائمة فارغة، `allFiles`، والتي ستقوم بتخزين المسار الكامل لجميع الملفات التي تم العثور عليها.
3. كرر كل إدخال في "listOfFile".
4. لكل إدخال، أنشئ المسار الكامل باستخدام الدالة `os.path.join()` مع `dirName` و`entry` كوسائط، وقم بتعيينه للمتغير `fullPath`.
5. إذا كان الإدخال عبارة عن دليل، فاستدعاء الدالة `getListOfFiles()` بشكل متكرر باستخدام `fullPath` كوسيطة للحصول على قائمة الملفات الموجودة في هذا الدليل الفرعي.
6. إذا كان الإدخال عبارة عن ملف، فقم بإلحاق "fullPath" بقائمة "allFiles".

يجب أن يُرجع تطبيقك قائمة "allFiles" التي تحتوي على المسار الكامل لجميع الملفات الموجودة في الدليل المحدد وأدلته الفرعية.

ملحوظة:
- يمكنك افتراض أن وحدة `os` قد تم استيرادها بالفعل.
- يمكنك افتراض أن المعلمة `dirName` التي تم تمريرها إلى `getListOfFiles()` ستكون دائمًا دليلاً صالحًا.
- ترتيب الملفات في قائمة "allFiles" ليس مهما.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}