By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: 10 تمارين محلولة على لغة دارت Dart الجزء السادس 2024
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Tutorials > 10 تمارين محلولة على لغة دارت Dart الجزء السادس 2024
Tutorials

10 تمارين محلولة على لغة دارت Dart الجزء السادس 2024

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 9 دقيقة للقراءة 1314 مشاهدات 4
شارك
10 تمارين محلولة على لغة دارت Dart الجزء السادس 2024
10 تمارين محلولة على لغة دارت Dart الجزء السادس 2024
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

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

المحتويات
تمرين 1: حساب الفائدة المركبة مع الودائع الشهريةتمرين 2: حساب عدد الطرق الممكنة لتكوين مبلغ معين باستخدام عملات معدنيةتمرين 3: حساب مجموع الأعداد الأولية الأقل من عدد معينتمرين 4: حساب عدد الكلمات في نص معينتمرين 5: حساب الوقت اللازم للوصول إلى هدف مشي معينتمرين 6: حساب قوة كلمة المرورتمرين 7: حساب المتوسط الحسابي والوسيط لمجموعة من الأرقامتمرين 8: حساب مجموع الأرقام الزوجية والفرديةتمرين 9: حساب العدد المضاعف لأرقام قائمة معينةتمرين 10: حساب التوافيق

تمرين 1: حساب الفائدة المركبة مع الودائع الشهرية

وصف التمرين: مبلغ مالي قدره 5000 دولار يُستثمر بمعدل فائدة سنوي قدره 6٪، وتتم إضافة 200 دولار شهريًا. قم بكتابة برنامج بلغة دارت لحساب المبلغ النهائي بعد 3 سنوات.

void main() {
  double principal = 5000;
  double rate = 0.06 / 12; // معدل الفائدة الشهري
  double monthlyDeposit = 200;
  int months = 3 * 12;

  for (int i = 0; i < months; i++) {
    principal += monthlyDeposit;
    principal += principal * rate;
  }

  print('The amount after 3 years is: \$${principal.toStringAsFixed(2)}');
}

نتيجة الكود:

The amount after 3 years is: $13889.96

“اقرأ أيضاً: تمارين محلولة على لغة دارت الجزء الخامس“


تمرين 2: حساب عدد الطرق الممكنة لتكوين مبلغ معين باستخدام عملات معدنية

وصف التمرين: لديك عدد غير محدود من العملات المعدنية بقيمة 1، 2، و5 دولار. قم بكتابة برنامج بلغة دارت لحساب عدد الطرق الممكنة لتكوين مبلغ 10 دولار.

void main() {
  int countWays(int n, List<int> coins) {
    List<int> dp = List.filled(n + 1, 0);
    dp[0] = 1;

    for (int coin in coins) {
      for (int i = coin; i <= n; i++) {
        dp[i] += dp[i - coin];
      }
    }

    return dp[n];
  }

  int amount = 10;
  List<int> coins = [1, 2, 5];
  print('Number of ways to make \$${amount}: ${countWays(amount, coins)}');
}

نتيجة الكود:

Number of ways to make $10: 10

تمرين 3: حساب مجموع الأعداد الأولية الأقل من عدد معين

وصف التمرين: قم بكتابة برنامج بلغة دارت لحساب مجموع الأعداد الأولية الأقل من 50.

void main() {
  bool isPrime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i <= n ~/ 2; i++) {
      if (n % i == 0) return false;
    }
    return true;
  }

  int sumPrimes(int limit) {
    int sum = 0;
    for (int i = 2; i < limit; i++) {
      if (isPrime(i)) sum += i;
    }
    return sum;
  }

  int limit = 50;
  print('Sum of primes less than $limit: ${sumPrimes(limit)}');
}

نتيجة الكود:

Sum of primes less than 50: 328

“اقرأ أيضاً: شرح مفهوم وراثة الـ Constructor في لغة دارت (Dart)“


تمرين 4: حساب عدد الكلمات في نص معين

وصف التمرين: قم بكتابة برنامج بلغة دارت لحساب عدد الكلمات في النص التالي: “Dart is a client optimized language for fast apps on any platform.”

void main() {
  String text = "Dart is a client optimized language for fast apps on any platform.";
  int wordCount(String text) {
    List<String> words = text.split(' ');
    return words.length;
  }

  print('Number of words: ${wordCount(text)}');
}

نتيجة الكود:

Number of words: 12

تمرين 5: حساب الوقت اللازم للوصول إلى هدف مشي معين

وصف التمرين: إذا كان الشخص يمشي 5 كم يوميًا، ويريد الوصول إلى هدف قدره 150 كم. قم بكتابة برنامج بلغة دارت لحساب عدد الأيام اللازمة للوصول إلى الهدف.

void main() {
  int dailyWalk = 5; // كم يوميًا
  int goal = 150; // الهدف بالكم

  int daysNeeded = (goal / dailyWalk).ceil();

  print('Days needed to reach the goal: $daysNeeded');
}

نتيجة الكود:

Days needed to reach the goal: 30

“اقرأ أيضاً: شرح استخدام ويدجت IntrinsicHeight في فلاتر“


تمرين 6: حساب قوة كلمة المرور

وصف التمرين: قم بكتابة برنامج بلغة دارت للتحقق من قوة كلمة المرور بناءً على طولها وتنوع الأحرف (أحرف صغيرة وكبيرة، أرقام، ورموز).

void main() {
  bool isStrongPassword(String password) {
    bool hasUpperCase = password.contains(RegExp(r'[A-Z]'));
    bool hasLowerCase = password.contains(RegExp(r'[a-z]'));
    bool hasDigit = password.contains(RegExp(r'[0-9]'));
    bool hasSpecialChar = password.contains(RegExp(r'[!@#$%^&*(),.?":{}|<>]'));
    bool hasMinLength = password.length >= 8;

    return hasUpperCase && hasLowerCase && hasDigit && hasSpecialChar && hasMinLength;
  }

  String password = "StrongP@ssw0rd";
  print('Is the password strong? ${isStrongPassword(password)}');
}

نتيجة الكود:

Is the password strong? true

تمرين 7: حساب المتوسط الحسابي والوسيط لمجموعة من الأرقام

وصف التمرين: قم بكتابة برنامج بلغة دارت لحساب المتوسط الحسابي والوسيط لمجموعة الأرقام [5, 3, 8, 1, 4, 6, 2, 7].

void main() {
  List<int> numbers = [5, 3, 8, 1, 4, 6, 2, 7];

  double mean(List<int> nums) {
    return nums.reduce((a, b) => a + b) / nums.length;
  }

  double median(List<int> nums) {
    nums.sort();
    int n = nums.length;
    if (n % 2 == 1) {
      return nums[n ~/ 2].toDouble();
    } else {
      return (nums[n ~/ 2 - 1] + nums[n ~/ 2]) / 2.0;
    }
  }

  print('Mean: ${mean(numbers)}');
  print('Median: ${median(numbers)}');
}

نتيجة الكود:

Mean: 4.5
Median: 4.5

“اقرأ أيضاً: شرح استخدام ويدجت ShaderMask في فلاتر“


تمرين 8: حساب مجموع الأرقام الزوجية والفردية

وصف التمرين: قم بكتابة برنامج بلغة دارت لحساب مجموع الأرقام الزوجية والفردية في مجموعة الأرقام [12, 45, 33, 10, 5, 8, 19, 22].

void main() {
  List<int> numbers = [12, 45, 33, 10, 5, 8, 19, 22];

  int sumEven(List<int> nums) {
    return nums.where((n) => n % 2 == 0).reduce((a, b) => a + b);
  }

  int sumOdd(List<int> nums) {
    return nums.where((n) => n % 2 != 0).reduce((a, b) => a + b);
  }

  print('Sum of even numbers: ${sumEven(numbers)}');
  print('Sum of odd numbers: ${sumOdd(numbers)}');
}

نتيجة الكود:

Sum of even numbers: 52
Sum of odd numbers: 102

تمرين 9: حساب العدد المضاعف لأرقام قائمة معينة

وصف التمرين: قم بإنشاء قائمة جديدة حيث تكون جميع عناصرها ضعف عناصر القائمة الأصلية [2, 4, 6, 8, 10].

void main() {
  List<int> numbers = [2, 4, 6, 8, 10];

  List<int> doubleNumbers(List<int> nums) {
    return nums.map((n) => n * 2).toList();
  }

  print('Doubled numbers: ${doubleNumbers(numbers)}');
}

نتيجة الكود:

Doubled numbers: [4, 8, 12, 16, 20]

“اقرأ أيضاً: شرح الـ Stream في لغة دارت (Stream in Dart)“


تمرين 10: حساب التوافيق

وصف التمرين: قم بكتابة برنامج بلغة دارت لحساب عدد التوافيق الممكنة لاختيار 3 عناصر من مجموعة من 5 عناصر.

void main() {
  int factorial(int n) {
    return n == 0 ? 1 : n * factorial(n - 1);
  }

  int combinations(int n, int k) {
    return factorial(n) ~/ (factorial(k) * factorial(n - k));
  }

  int n = 5;
  int k = 3;

  print('Number of combinations: ${combinations(n, k)}');
}

نتيجة الكود:

Number of combinations: 10

“اقرأ أيضاً: شرح استخدام ويدجت OutlinedButton في فلاتر“


في نهاية هذا المقال، قدمنا 10 تمارين محلولة باستخدام لغة دارت (Dart)، مع توفير حلول مفصلة وشرح للمفاهيم المستخدمة في كل تمرين. هذه التمارين تساعدك على تعزيز مهاراتك في لغة دارت وزيادة فهمك لها، مما يمكنك من بناء تطبيقات قوية وموثوقة. ننصحك بمواصلة التعلم والتطوير في لغة دارت من خلال المزيد من التمارين والمشاريع العملية. استمتع برحلتك في عالم تطوير البرمجيات باستخدام لغة دارت في عام 2024 وما بعده.

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
طريقة انشاء المجلدات باستخدام Dart
Tutorials

طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا

11
خطة لاحتراف تطوير التطبيقات باستخدام Flutter في 60 يوم
Tutorials

خطة لاحتراف تطوير التطبيقات باستخدام Flutter في 60 يوم

17
10 تمارين محلولة على لغة دارت Dart الجزء الخامس 2024
Tutorials

10 تمارين محلولة على لغة دارت Dart الجزء الخامس 2024

2
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟