Menu
Coddy logo textTech

Mostrar el análisis

Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 57 de 65.

challenge icon

Desafío

Fácil

En esta lección final del proyecto Analizador de Texto, crearás una visualización completa de todos los resultados del análisis que has recopilado a lo largo del proyecto. Este paso dará formato y presentará todas las estadísticas en un resumen claro y profesional que muestre el análisis de texto completo.

  1. Utiliza todas las variables de los pasos anteriores de tu proyecto:
    • textToAnalyze de la configuración de tu proyecto
    • totalCharacters de tu paso de conteo de caracteres
    • wordList de tu paso de división de palabras
    • totalWords de tu paso de conteo de palabras
    • uniqueWordsSet de tu paso de conteo de palabras únicas
    • uniqueWordCount de tu paso de conteo de palabras únicas
    • wordFrequency de tu paso de contador de frecuencia de palabras
  2. Crea un informe final exhaustivo que muestre todos los resultados del análisis
  3. Da formato a la salida para mostrar un resumen completo del análisis de texto
  4. Incluye todas las estadísticas con etiquetas claras y un formato adecuado
  5. Muestra los resultados en el formato exacto que se muestra a continuación

Por ejemplo, si tu analizador de texto se configuró con "hello world hello", tu programa debería mostrar:

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

Si tu analizador de texto se configuró con "the cat and the dog and the bird", tu programa debería mostrar:

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

Si tu analizador de texto se configuró con "apple banana apple cherry banana apple", tu programa debería mostrar:

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

Tu programa debe determinar la palabra más común encontrando la palabra con el recuento de frecuencia más alto en el mapa wordFrequency. Utiliza la interpolación de cadenas para mostrar todos los datos recopilados en un formato profesional y fácil de leer. Esta visualización final reúne todo el trabajo de análisis que has completado a lo largo del proyecto en un resumen exhaustivo.

Pruébalo tú mismo

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 las lecciones de Lógica y Flujo