Antes de empezar
Estos ejercicios están pensados para trabajar de forma avanzada el manejo de cadenas y objetos mutables como StringBuilder en C#. Se recomienda revisar los apuntes de la unidad antes de resolverlos. Para realizar estos ejercicios, deberás descargar los recursos del enlace de proyecto_cadenas. Como puedes ver, la solución está compuesta de varios proyectos. Cada uno de ellos corresponde con un ejercicio, deberás implementar todo el código, tanto de la Main como de los métodos que se piden en cada ejercicio. Cada proyecto contiene el test correspondiente, que deberás pasar para comprobar que has hecho el ejercicio correctamente.
Escribe una función que devuelva el nivel de una contraseña teniendo en cuenta que:
Salida por consola:
Introduce una contraseña: 123456 Nivel de seguridad: Muy débil Introduce una contraseña: abcdabcd Nivel de seguridad: Débil Introduce una contraseña: abc12345 Nivel de seguridad: Fuerte Introduce una contraseña: abc12345! Nivel de seguridad: Muy fuerte
Requisitos:
string y/o StringBuilder.Crea una función que determine si una frase es palíndroma, ignorando espacios, signos de puntuación y mayúsculas. No puedes utilizar el método Reverse para invertir la frase.
Salida por consola:
Introduce una frase: Anita lava la tina Es palíndroma Introduce una frase: Hola mundo No es palíndroma
Requisitos:
Reverse.string.Implementa una función que reciba una cadena y la normalice aplicando las siguientes reglas:
Salida por consola:
Introduce una cadena: ¡Árboles y pingüinos! Normalizada: arbolesypinguinos
Requisitos:
StringBuilder para construir la cadena.Desarrolla una primera versión de un "traductor al lenguaje Tiko extendido" que transforme una frase de entrada aplicando una serie de reglas básicas. En esta fase solo podrás utilizar clases y métodos de manipulación de cadenas (string y StringBuilder), no se permite el uso de expresiones regulares.
El programa debe realizar las siguientes transformaciones:
Salida por consola:
Introduce una frase: jaja holaaaa 123 Tiko extendido: 😂 hola uno dos tres
Requisitos:
string y StringBuilder.Desarrolla una versión modular del juego del ahorcado. El programa pedirá al usuario la palabra secreta y el máximo de fallos permitidos. El usuario irá introduciendo letras hasta que acierte la palabra o supere el número de fallos. En cada turno se mostrarán los huecos/aciertos de la palabra y las letras falladas.
Salida por consola:
Introduce la palabra a adivinar: BUCLE Introduce el número máximo de fallos: 3 Palabra: _ _ _ _ _ Fallos: Introduce una letra: M Palabra: _ _ _ _ _ Fallos: M Introduce una letra: O Palabra: _ _ _ _ _ Fallos: M O Introduce una letra: L Palabra: _ _ _ L _ Fallos: M O Introduce una letra: T Palabra: _ _ _ L _ Fallos: M O T Lo siento has llegado al máximo de fallos permitido. La palabra a adivinar era: BUCLE.
Palabra: _ _ _ _ _ Fallos: Introduce una letra: U Palabra: _ U _ _ _ Fallos: Introduce una letra: C Palabra: _ U C _ _ Fallos: Introduce una letra: B Palabra: B U C _ _ Fallos: Introduce una letra: L Palabra: B U C L _ Fallos: Introduce una letra: E Palabra: B U C L E Fallos: ENHORABUENA LO HAS CONSEGUIDO
Requisitos:
StringBuilder para la palabra parcialmente adivinada y las letras falladas.StringBuilder. public static string PidePalabraAAdivinar()
public static int PideMaximoFallos()
public static bool EstaLetraEnLetras(char letra, string letras)
static char PideLetra(
string palabraParcialmenteAdivinada,
string letrasFalladas)
public static void MuestraEstadoJuego(
string palabraParcialmenteAdivinada,
string letrasFalladas)
public static void AñadeLetraALetrasPalabraAMostrar(
string palabraAAdivinar,
in char letra,
StringBuilder palabraParcialmenteAdivinada)
public static bool FinDeJuego(
int numFallos, int maxFallos,
string palabraAAdivinar, string palabraParcialmenteAdivinada,
out string mensajeSiFin)
public static void Jugar(string palabraAAdivinar, int maximoFallos)