تحدي: عداد حروف العلة
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 64 من 65.
التحدي
سهلقم بإنشاء دالة تسمى countVowels تقوم بتحليل النص وحساب عدد الأحرف المتحركة (vowels) التي يحتوي عليها. يجمع هذا التحدي بين معالجة النصوص، والحلقات التكرارية (loops)، والمنطق الشرطي لحل مشكلة عملية في معالجة النصوص.
مهمتك هي:
- إنشاء دالة باسم
countVowelsتأخذ معاملًا واحدًا من نوعStringيسمىtext - يجب أن تقوم الدالة بحساب جميع الأحرف المتحركة في النص:
a،e،i،o، وu - يجب أن يكون الحساب غير حساس لحالة الأحرف (يجب حساب الأحرف المتحركة الكبيرة والصغيرة على حد سواء)
- يجب أن تعيد الدالة قيمة من نوع
intتمثل إجمالي عدد الأحرف المتحركة التي تم العثور عليها - قراءة مدخل نصي من المستخدم
- استدعاء دالة
countVowelsالخاصة بك مع النص المدخل - طباعة النتيجة بالتنسيق الدقيق:
Vowel count: X(حيث X هو عدد الأحرف المتحركة)
يجب أن تمر دالتك عبر كل حرف في السلسلة النصية، وتحويله إلى أحرف صغيرة للمقارنة، والتحقق مما إذا كان يطابق أيًا من الأحرف المتحركة الخمسة. استخدم متغير عداد لتتبع إجمالي عدد الأحرف المتحركة التي تم العثور عليها.
على سبيل المثال، إذا كان الإدخال "Hello World"، يجب أن يخرج برنامجك:
Vowel count: 3إذا كان الإدخال "Programming"، يجب أن يخرج برنامجك:
Vowel count: 3إذا كان الإدخال سلسلة فارغة ""، يجب أن يخرج برنامجك:
Vowel count: 0يجب أن يوضح حلك الاستخدام الصحيح لتكرار السلسلة النصية، والجمل الشرطية للتحقق من الأحرف المتحركة، وطريقة toLowerCase() للتعامل مع المقارنة غير الحساسة لحالة الأحرف.
جرّب بنفسك
import 'dart:io';
// TODO: أنشئ دالة countVowels الخاصة بك هنا
void main() {
// قراءة المدخلات
String? text = stdin.readLineSync();
// TODO: استدعِ دالة countVowels الخاصة بك وقم بتخزين النتيجة
// طباعة النتيجة
print('Vowel count: $result');
}جميع دروس Logic & Flow
1التعامل المتقدم مع القوائم
خصائص القائمة: first و lastحالة القائمة: isEmpty و isNotEmptyعكس القائمةالإضافة إلى القائمة: insertالحذف من القائمة: removeWhereالبحث في القائمة: indexOfفرز القائمةخلط القائمةملخص - منظم القوائم4معالجة الـ Map المتقدمة
التكرار عبر الـ Mapالتحقق من المفاتيح والقيمخصائص الـ Map: keys و valuesإضافة مشروطة: putIfAbsentإزالة العناصر من الـ Mapالـ Maps المتداخلةمراجعة - تحديث المخزون2عمليات القوائم الوظيفية
التحويل باستخدام 'map'التصفية باستخدام 'where'استخدام '.toList()'التحقق من الشروط باستخدام 'any'الشروط باستخدام 'every'البحث باستخدام 'firstWhere'مراجعة - تصفية البيانات5مشروع: حاسبة عربة التسوق
إعداد المشروعإضافة العناصر إلى العربة3المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة