Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عداد تكرار الكلمات

جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 56 من 65.

challenge icon

التحدي

سهل

استمراراً لمشروع محلل النصوص الخاص بك، ستقوم الآن بتنفيذ الميزة الأكثر تعقيداً: عداد تكرار الكلمات. ستنشئ هذه الخطوة خريطة (map) تتبع عدد مرات ظهور كل كلمة فريدة في نصك، مما يوفر رؤى مفصلة حول أنماط استخدام الكلمات.

  1. استخدم المتغير textToAnalyze من إعدادك السابق
  2. استخدم المتغير totalCharacters من خطوة عد الأحرف
  3. استخدم المتغير wordList من خطوة تقسيم الكلمات
  4. استخدم المتغير totalWords من خطوة عد الكلمات
  5. استخدم المتغير uniqueWordsSet من خطوة عد الكلمات الفريدة
  6. استخدم المتغير uniqueWordCount من خطوة عد الكلمات الفريدة
  7. أنشئ خريطة (Map) فارغة تسمى wordFrequency لتخزين أعداد الكلمات
  8. قم بالمرور على كل كلمة في wordList باستخدام حلقة for-in
  9. لكل كلمة، تحقق مما إذا كانت موجودة بالفعل في الخريطة باستخدام containsKey()
  10. إذا كانت الكلمة موجودة، فقم بزيادة عدادها بمقدار 1
  11. إذا لم تكن الكلمة موجودة، فأضفها إلى الخريطة مع تعيين العداد على 1
  12. اعرض نتائج تحليل تكرار الكلمات بالتنسيق الدقيق الموضح أدناه
  13. اعرض جميع بيانات التحليل السابقة بالإضافة إلى خريطة تكرار الكلمات مع التنسيق المناسب

على سبيل المثال، إذا تم إعداد محلل النصوص الخاص بك بـ "hello world hello"، فيجب أن يخرج برنامجك:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "hello world hello"
Total characters: 17
Words found: [hello, world, hello]
Total words: 3
Unique words: {hello, world}
Unique word count: 2
====================================
Word Frequency Analysis Results:
Word frequencies: {hello: 2, world: 1}
====================================
Word frequency analysis completed successfully.

إذا تم إعداد محلل النصوص الخاص بك بـ "the cat and the dog and the bird"، فيجب أن يخرج برنامجك:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "the cat and the dog and the bird"
Total characters: 33
Words found: [the, cat, and, the, dog, and, the, bird]
Total words: 8
Unique words: {the, cat, and, dog, bird}
Unique word count: 5
====================================
Word Frequency Analysis Results:
Word frequencies: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
====================================
Word frequency analysis completed successfully.

إذا تم إعداد محلل النصوص الخاص بك بـ "apple banana apple cherry banana apple"، فيجب أن يخرج برنامجك:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "apple banana apple cherry banana apple"
Total characters: 38
Words found: [apple, banana, apple, cherry, banana, apple]
Total words: 6
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Word Frequency Analysis Results:
Word frequencies: {apple: 3, banana: 2, cherry: 1}
====================================
Word frequency analysis completed successfully.

يجب أن يقوم برنامجك بالمرور عبر قائمة الكلمات وبناء خريطة تكرار من خلال التحقق مما إذا كانت كل كلمة موجودة بالفعل في الخريطة. استخدم containsKey() للتحقق من الكلمات الموجودة، وإما زيادة العداد الحالي أو إنشاء إدخال جديد بقيمة 1. سيوفر تحليل التكرار هذا الرؤية الأكثر تفصيلاً لأنماط استخدام الكلمات في نصك.

جرّب بنفسك

import 'dart:io';

void main() {
  // Text analyzer setup
  String? textToAnalyze = stdin.readLineSync();
  
  // Character counting
  int totalCharacters = textToAnalyze!.length;
  
  // Word splitting and counting
  List<String> wordList = textToAnalyze.split(' ');
  int totalWords = wordList.length;
  
  // Unique word analysis
  Set<String> uniqueWordsSet = Set.from(wordList);
  int uniqueWordCount = uniqueWordsSet.length;
  
  // Display results
  print('Text Analysis Tool - Unique Words');
  print('====================================');
  print('Analyzing text: "$textToAnalyze"');
  print('Total characters: $totalCharacters');
  print('Words found: $wordList');
  print('Total words: $totalWords');
  print('====================================');
  print('Unique Word Analysis Results:');
  print('Unique words: $uniqueWordsSet');
  print('Unique word count: $uniqueWordCount');
  print('====================================');
  print('Unique word analysis completed successfully.');
}

جميع دروس Logic & Flow