Menu
Coddy logo textTech

Exibindo a Análise

Parte da seção Lógica & Fluxo do Journey de Dart da Coddy — lição 57 de 65.

challenge icon

Desafio

Fácil

Nesta lição final do projeto Analisador de Texto, você criará uma exibição abrangente de todos os resultados da análise que coletou ao longo do projeto. Esta etapa formatará e apresentará todas as estatísticas em um resumo claro e profissional que demonstra a análise completa do texto.

  1. Use todas as variáveis das etapas anteriores do seu projeto:
    • textToAnalyze da configuração do seu projeto
    • totalCharacters da sua etapa de contagem de caracteres
    • wordList da sua etapa de divisão de palavras
    • totalWords da sua etapa de contagem de palavras
    • uniqueWordsSet da sua etapa de contagem de palavras únicas
    • uniqueWordCount da sua etapa de contagem de palavras únicas
    • wordFrequency da sua etapa de contador de frequência de palavras
  2. Crie um relatório final abrangente que exiba todos os resultados da análise
  3. Formate a saída para mostrar um resumo completo da análise do texto
  4. Inclua todas as estatísticas com rótulos claros e formatação adequada
  5. Exiba os resultados no formato exato mostrado abaixo

Por exemplo, se o seu analisador de texto foi configurado com "hello world hello", seu programa deve exibir:

=======================================
    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.
=======================================

Se o seu analisador de texto foi configurado com "the cat and the dog and the bird", seu programa deve exibir:

=======================================
    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.
=======================================

Se o seu analisador de texto foi configurado com "apple banana apple cherry banana apple", seu programa deve exibir:

=======================================
    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.
=======================================

Seu programa deve determinar a palavra mais comum encontrando a palavra com a maior contagem de frequência no mapa wordFrequency. Use interpolação de strings para exibir todos os dados coletados em um formato profissional e fácil de ler. Esta exibição final reúne todo o trabalho de análise que você concluiu ao longo do projeto em um resumo abrangente.

Experimente você mesmo

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

Todas as lições de Lógica & Fluxo