ملخص - معاملات الدوال
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 76 من 94.
التحدي
سهلقم بإنشاء دالة TravelPlanner تساعد المستخدمين في التخطيط لرحلاتهم. يجب على الدالة:
- أن تأخذ معاملًا مسمى مطلوبًا
destination(String) - أن تأخذ معاملًا مسمى مطلوبًا
durationInDays(int) - أن تأخذ معاملًا مسمى اختياريًا
budgetبقيمة افتراضية قدرها 1000 - أن تأخذ معاملًا مسمى اختياريًا
travelersبقيمة افتراضية قدرها 1 - أن تأخذ معاملًا مسمى اختياريًا
includeInsuranceبقيمة افتراضية قدرها false
يجب أن تعيد الدالة سلسلة نصية منسقة تحتوي على تفاصيل الرحلة بهذا التنسيق تمامًا:
Trip to [destination] planned:
- Duration: [durationInDays] days
- Travelers: [travelers]
- Budget per person: $[calculated budget]
- Insurance: [Yes/No]
يجب أن تكون الميزانية المحسوبة هي إجمالي الميزانية مقسومًا على عدد المسافرين، مقربًا إلى أقرب عدد صحيح.
جرّب بنفسك
// أكمل دالة TravelPlanner أدناه
String TravelPlanner({
// TODO: أضف المعلمات المسماة المطلوبة لـ destination و durationInDays
// TODO: أضف معلمة مسماة اختيارية لـ budget مع قيمة افتراضية 1000
// TODO: أضف معلمة مسماة اختيارية لـ travelers مع قيمة افتراضية 1
// TODO: أضف معلمة مسماة اختيارية لـ includeInsurance مع قيمة افتراضية false
}) {
// TODO: احسب الميزانية لكل شخص عن طريق قسمة الميزانية على عدد المسافرين
// تلميح: استخدم .round() للحصول على عدد صحيح
// TODO: أرجع تفاصيل الرحلة منسقة باستخدام سلسلة نصية متعددة الأسطر
// تلميح: استخدم علامات الاقتباس الثلاثية ''' أو """ للسلاسل النصية متعددة الأسطر
// يجب أن يتضمن المخرج:
// - الوجهة (Destination)
// - المدة بالأيام (Duration in days)
// - عدد المسافرين (Number of travelers)
// - الميزانية لكل شخص (مع رمز $)
// - التأمين (Yes/No)
}
void main() {
// اختبار مع المعلمات المطلوبة فقط
print(TravelPlanner(destination: 'Paris', durationInDays: 7));
// اختبار مع جميع المعلمات
print(TravelPlanner(
destination: 'Tokyo',
durationInDays: 10,
budget: 5000,
travelers: 3,
includeInsurance: true,
));
}جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة12الدوال المتقدمة
المعاملات الموضعية الاختياريةالمعاملات المسماةالمعاملات المسماة المطلوبةالقيم الافتراضية للمعاملاتملخص - معاملات الدوال