Desafío: Contador de vocales
Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 64 de 65.
Desafío
FácilCrea una función llamada countVowels que analice un texto y cuente el número de vocales que contiene. Este desafío combina manipulación de cadenas, bucles y lógica condicional para resolver un problema práctico de procesamiento de texto.
Tu tarea es:
- Crear una función llamada
countVowelsque reciba un único parámetro de tipoStringllamadotext - La función debe contar todas las vocales en el texto:
a,e,i,o, yu - El conteo debe ser insensible a mayúsculas y minúsculas (se deben contar tanto las vocales en mayúscula como en minúscula)
- La función debe devolver un
intque represente el número total de vocales encontradas - Leer una cadena de texto ingresada por el usuario
- Llamar a tu función
countVowelscon la cadena de entrada - Imprimir el resultado con el formato exacto:
Vowel count: X(donde X es el número de vocales)
Tu función debe iterar a través de cada carácter de la cadena, convertirlo a minúsculas para la comparación y verificar si coincide con cualquiera de las cinco vocales. Utiliza una variable contador para llevar el seguimiento del número total de vocales encontradas.
Por ejemplo, si la entrada es "Hello World", tu programa debería mostrar:
Vowel count: 3Si la entrada es "Programming", tu programa debería mostrar:
Vowel count: 3Si la entrada es una cadena vacía "", tu programa debería mostrar:
Vowel count: 0Tu solución debe demostrar el uso adecuado de la iteración de cadenas, sentencias condicionales para verificar caracteres vocálicos y el método toLowerCase() para manejar la comparación insensible a mayúsculas y minúsculas.
Pruébalo tú mismo
import 'dart:io';
// TODO: Crea tu función countVowels aquí
void main() {
// Leer entrada
String? text = stdin.readLineSync();
// TODO: Llama a tu función countVowels y guarda el resultado
// Mostrar el resultado
print('Vowel count: $result');
}Todas las lecciones de Lógica y Flujo
1Manipulación avanzada de listas
Propiedades de listas: first y lastEstado de la lista: isEmpty y isNotEmptyInvertir una listaAñadir a una lista: insertEliminación en listas: removeWhereBúsqueda en una lista: indexOfOrdenar una listaMezclar una listaResumen - Organizador de listas4Manipulación avanzada de mapas
Iterar sobre un mapaComprobación de claves y valoresPropiedades del mapa: keys y valuesAdición condicional: putIfAbsentEliminar entradas de un mapaMapas anidadosResumen - Actualización de inventario7Funciones avanzadas
Funciones anónimasPasar funciones como argumentosEntendiendo los ClosuresIntroducción a la recursividadFunción recursiva: Cuenta regresivaFunción recursiva: FactorialResumen - Procesador de listas10Desafíos finales
Desafío: Clasificador de calificacionesDesafío: Contador de vocalesDesafío: FizzBuzz2Operaciones funcionales con listas
Transformar con 'map'Filtrar con 'where'Uso de '.toList()'Comprobar condiciones con 'any'Condiciones con 'every'Búsqueda con 'firstWhere'Resumen - Filtrado de datos5Proyecto: Calculadora de carrito de compras
Configuración del proyectoAgregar artículos al carrito3Conjuntos
¿Qué es un Conjunto?Crear un ConjuntoAñadir y eliminar elementos de un ConjuntoComprobar elementos en un ConjuntoConvertir una lista en un ConjuntoUnión de ConjuntosIntersección de ConjuntosDiferencia de ConjuntosResumen - Lista de invitados única