Código del ejercicio:
Definición de los códigos del ejercicio:
string --> dato de tipo cadena de texto.do while --> este ciclo ejecutará el bloque de código una vez, antes de verificar si la condición es verdadera, luego repetirá el ciclo mientras la condición sea verdadera.
Console.Write() --> escribe un texto en pantalla.
Console.ReadLine() --> lee un dato desde teclado.
Length --> obtiene el número de caracteres del objeto String actual.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
ToLower() --> convierte todos los caracteres a minúsculas.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
&& --> el operador lógico AND ( && ) (conjunción lógica) para un conjunto de operandos booleanos será true si y solo si todos los operandos son true. De lo contrario será false.
int --> dato entero de 32 bits.
Where() --> especifica qué elementos del origen de datos se devolverán en la expresión de consulta.
(parámetro1, parámetro2, ...) => expresión o instrucciones --> Una expresión lambda es una función o método anónimo con el que podemos crear tipo delegados y árboles de expresiones.
ToString() --> devuelve una cadena que representa el objeto actual.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
Count() --> devuelve el número total de elementos presentes en una matriz.
Console.WriteLine() --> escribe un texto en pantalla y avanza de línea.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Explicación del Código:
Objetivo del Programa
El programa permite ingresar una frase y luego solicitar una vocal para contar cuántas veces aparece dentro de la frase.
Después de mostrar el resultado, el programa pregunta si el usuario desea continuar o terminar.
Código Completo
string frase, vocal, nuevaFrase;
do
{
do
{
Console.Write("Ingresar frase: ");
frase = Console.ReadLine();
} while (frase.Length <= 0);
do
{
Console.Write("Ingresar vocal a contabilizar: ");
vocal = Console.ReadLine();
} while (vocal.ToLower() != "a" &&
vocal.ToLower() != "e" &&
vocal.ToLower() != "i" &&
vocal.ToLower() != "o" &&
vocal.ToLower() != "u");
int total = frase.Where(c =>
c.ToString().ToLower() == vocal.ToLower()).Count();
Console.WriteLine($"La frase tiene {total} vocales {vocal}");
Console.Write("¿Desea continuar? s/n: ");
nuevaFrase = Console.ReadLine();
} while (nuevaFrase.ToLower() == "s");
1. Declaración de Variables
string frase, vocal, nuevaFrase;
Se crean tres variables de tipo texto:
- frase: guarda la frase ingresada por el usuario.
- vocal: guarda la vocal que se desea contar.
- nuevaFrase: guarda la respuesta del usuario para continuar o salir.
2. Ciclo Principal
do
{
...
} while (nuevaFrase.ToLower() == "s");
El ciclo do while repite el programa mientras el usuario escriba la letra "s".
Si escribe otra letra, el programa termina.
3. Ingreso de la Frase
do
{
Console.Write("Ingresar frase: ");
frase = Console.ReadLine();
} while (frase.Length <= 0);
El programa solicita una frase.
La condición:
frase.Length <= 0
verifica que la frase no esté vacía.
4. Ingreso de la Vocal
do
{
Console.Write("Ingresar vocal a contabilizar: ");
vocal = Console.ReadLine();
} while (vocal.ToLower() != "a" &&
vocal.ToLower() != "e" &&
vocal.ToLower() != "i" &&
vocal.ToLower() != "o" &&
vocal.ToLower() != "u");
El programa valida que el usuario ingrese únicamente una vocal.
La función ToLower() convierte el texto a minúsculas para aceptar mayúsculas y minúsculas.
5. Conteo de Vocales
int total = frase.Where(c =>
c.ToString().ToLower() == vocal.ToLower()).Count();
Esta línea cuenta cuántas veces aparece la vocal dentro de la frase.
- Where() busca coincidencias.
- ToString() convierte caracteres en texto.
- ToLower() convierte a minúsculas.
- Count() cuenta los resultados encontrados.
6. Mostrar Resultado
Console.WriteLine($"La frase tiene {total} vocales {vocal}");
Muestra la cantidad de veces que aparece la vocal en la frase.
7. Preguntar si Desea Continuar
Console.Write("¿Desea continuar? s/n: ");
nuevaFrase = Console.ReadLine();
El programa pregunta si el usuario desea ingresar otra frase.
- Si escribe s, el programa continúa.
- Si escribe n, el programa finaliza.
Conclusión
El programa utiliza:
- Ciclos do while.
- Validación de datos.
- Conversión de mayúsculas y minúsculas.
- Búsqueda y conteo de caracteres.
También es un programa a prueba de errores porque evita:
- Frases vacías.
- Ingresar caracteres que no sean vocales.
No hay comentarios.:
Publicar un comentario