لقد تم إعطاؤك جزءًا من برنامج Python الذي يقوم بحساب المسافة بين إحداثيين على سطح الأرض باستخدام صيغة Haversine. يطالب البرنامج المستخدم بإدخال خطوط الطول والعرض الخاصة به، ثم يقوم بإنشاء قائمة فارغة تسمى "المسافات".

مهمتك هي إكمال البرنامج من خلال تنفيذ وظيفة تحسب المسافة بين إحداثيات المستخدم وقائمة الإحداثيات المحددة مسبقًا. يجب حساب المسافة باستخدام صيغة Haversine المتوفرة في مقتطف الشفرة.

اكتب دالة تسمى "calculate_distances" تأخذ ثلاث معلمات:
- `user_lat` (عائم) يمثل خط العرض لموقع المستخدم.
- `user_long` (عائم) يمثل خط الطول لموقع المستخدم.
- `الإحداثيات` (قائمة الصفوف) التي تمثل قائمة الإحداثيات المحددة مسبقًا. يتكون كل صف من زوج من خطوط الطول والعرض.

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

على سبيل المثال، في ضوء المدخلات التالية:
```بيثون
user_lat = 41.3851
user_long = 2.1734
الإحداثيات = [(40.7128، -74.0060)، (51.5074، -0.1278)، (48.8566، 2.3522)]
```
يجب أن تقوم الدالة بإرجاع الإخراج التالي:
```بيثون
[5709.85، 1058.38، 2.05]
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}