عرض التحليل
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 57 من 65.
التحدي
سهلفي هذا الدرس الأخير من مشروع محلل النصوص (Text Analyzer)، ستقوم بإنشاء عرض شامل لجميع نتائج التحليل التي جمعتها طوال المشروع. ستقوم هذه الخطوة بتنسيق وتقديم جميع الإحصائيات في ملخص واضح واحترافي يعرض التحليل الكامل للنص.
- استخدم جميع المتغيرات من خطوات مشروعك السابقة:
textToAnalyzeمن إعداد مشروعكtotalCharactersمن خطوة عد الأحرفwordListمن خطوة تقسيم الكلماتtotalWordsمن خطوة عد الكلماتuniqueWordsSetمن خطوة عد الكلمات الفريدةuniqueWordCountمن خطوة عد الكلمات الفريدةwordFrequencyمن خطوة عداد تكرار الكلمات
- أنشئ تقريراً نهائياً شاملاً يعرض جميع نتائج التحليل
- قم بتنسيق المخرجات لإظهار ملخص كامل لتحليل النص
- قم بتضمين جميع الإحصائيات مع تسميات واضحة وتنسيق مناسب
- اعرض النتائج بالتنسيق الدقيق الموضح أدناه
على سبيل المثال، إذا تم إعداد محلل النصوص الخاص بك بـ "hello world hello"، فيجب أن يخرج برنامجك ما يلي:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "hello world hello"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 17
- Total Words: 3
- Unique Words: 2
- Most Common Word: hello (appears 2 times)
=======================================
DETAILED BREAKDOWN:
Word List: [hello, world, hello]
Unique Words Set: {hello, world}
Word Frequency Map: {hello: 2, world: 1}
=======================================
Analysis completed successfully!
Text contains 2 unique words out of 3 total words.
=======================================إذا تم إعداد محلل النصوص الخاص بك بـ "the cat and the dog and the bird"، فيجب أن يخرج برنامجك ما يلي:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "the cat and the dog and the bird"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 33
- Total Words: 8
- Unique Words: 5
- Most Common Word: the (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [the, cat, and, the, dog, and, the, bird]
Unique Words Set: {the, cat, and, dog, bird}
Word Frequency Map: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
=======================================
Analysis completed successfully!
Text contains 5 unique words out of 8 total words.
=======================================إذا تم إعداد محلل النصوص الخاص بك بـ "apple banana apple cherry banana apple"، فيجب أن يخرج برنامجك ما يلي:
=======================================
TEXT ANALYSIS COMPLETE REPORT
=======================================
Original Text: "apple banana apple cherry banana apple"
=======================================
ANALYSIS SUMMARY:
- Total Characters: 38
- Total Words: 6
- Unique Words: 3
- Most Common Word: apple (appears 3 times)
=======================================
DETAILED BREAKDOWN:
Word List: [apple, banana, apple, cherry, banana, apple]
Unique Words Set: {apple, banana, cherry}
Word Frequency Map: {apple: 3, banana: 2, cherry: 1}
=======================================
Analysis completed successfully!
Text contains 3 unique words out of 6 total words.
=======================================يجب أن يحدد برنامجك الكلمة الأكثر شيوعاً من خلال العثور على الكلمة ذات أعلى عدد تكرار في خريطة wordFrequency. استخدم استكمال السلسلة النصية (string interpolation) لعرض جميع البيانات التي تم جمعها بتنسيق احترافي وسهل القراءة. يجمع هذا العرض النهائي كل أعمال التحليل التي أنجزتها طوال المشروع في ملخص شامل واحد.
جرّب بنفسك
import 'dart:io';
void main() {
String? textToAnalyze = stdin.readLineSync();
int totalCharacters = textToAnalyze!.length;
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
Set<String> uniqueWordsSet = wordList.toSet();
int uniqueWordCount = uniqueWordsSet.length;
Map<String, int> wordFrequency = {};
for (String word in wordList) {
if (wordFrequency.containsKey(word)) {
wordFrequency[word] = wordFrequency[word]! + 1;
} else {
wordFrequency[word] = 1;
}
}
print('Text Analysis Tool - Word Frequency');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('Total words: $totalWords');
print('Unique words: $uniqueWordsSet');
print('Unique word count: $uniqueWordCount');
print('====================================');
print('Word Frequency Analysis Results:');
print('Word frequencies: $wordFrequency');
print('====================================');
print('Word frequency analysis completed successfully.');
}جميع دروس 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مشروع: حاسبة عربة التسوق
إعداد المشروعإضافة العناصر إلى العربة8مشروع: محلل نصوص بسيط
نظرة عامة على المشروع وإعدادهعد الأحرف3المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة