Menu
Coddy logo textTech

Kelime Sıklığı Sayacı

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 56 / 65.

challenge icon

Görev

Kolay

Metin analiz projenize devam ederken, şimdi en karmaşık özelliği uygulayacaksınız: bir kelime frekans sayacı. Bu adım, her bir benzersiz kelimenin metninizde kaç kez göründüğünü takip eden bir harita (map) oluşturacak ve kelime kullanım kalıpları hakkında ayrıntılı bilgiler sunacaktır.

  1. Önceki kurulumunuzdaki textToAnalyze değişkenini kullanın
  2. Karakter sayma adımınızdaki totalCharacters değişkenini kullanın
  3. Kelime ayırma adımınızdaki wordList değişkenini kullanın
  4. Kelime sayma adımınızdaki totalWords değişkenini kullanın
  5. Benzersiz kelime sayma adımınızdaki uniqueWordsSet değişkenini kullanın
  6. Benzersiz kelime sayma adımınızdaki uniqueWordCount değişkenini kullanın
  7. Kelime sayılarını saklamak için wordFrequency adında boş bir Map oluşturun
  8. Bir for-in döngüsü kullanarak wordList içindeki her bir kelimeyi dolaşın
  9. Her kelime için, containsKey() kullanarak haritada zaten var olup olmadığını kontrol edin
  10. Eğer kelime varsa, sayısını 1 artırın
  11. Eğer kelime yoksa, 1 sayısıyla haritaya ekleyin
  12. Kelime frekans analizi sonuçlarını aşağıda gösterilen tam formatta görüntüleyin
  13. Önceki tüm analiz verilerini ve kelime frekans haritasını uygun biçimlendirmeyle gösterin

Örneğin, metin analizörünüz "hello world hello" ile kurulmuşsa, programınız şu çıktıyı vermelidir:

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.

Eğer metin analizörünüz "the cat and the dog and the bird" ile kurulmuşsa, programınız şu çıktıyı vermelidir:

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.

Eğer metin analizörünüz "apple banana apple cherry banana apple" ile kurulmuşsa, programınız şu çıktıyı vermelidir:

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.

Programınız kelime listesini dolaşmalı ve her kelimenin haritada zaten var olup olmadığını kontrol ederek bir frekans haritası oluşturmalıdır. Mevcut kelimeleri kontrol etmek için containsKey() kullanın ve ya mevcut sayıyı artırın ya da 1 sayısıyla yeni bir giriş başlatın. Bu frekans analizi, metninizin kelime kullanım kalıpları hakkında en ayrıntılı bilgiyi sağlayacaktır.

Kendin dene

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.');
}

Mantık & Akış bölümündeki tüm dersler