Ejercicio: Devolver valores booleanos de métodos
Los métodos con tipos de valor devuelto booleanos pueden ser simples, pero son útiles para consolidar el código. Se puede llamar a métodos que devuelven valores bool para evaluar la entrada de datos en cualquier lugar, en instrucciones if, en declaraciones de variables, etc. En este ejercicio, adquirirá cierta experiencia en la creación y el uso de métodos con tipos de valor devuelto booleanos.
Creación de un método que devuelve un valor booleano
Supongamos que es un candidato en una entrevista para un puesto de programador. El entrevistador quiere que compruebe si varias palabras son un palíndromo. Una palabra es un palíndromo si lee igual hacia atrás y hacia delante. Por ejemplo, la palabra racecar es un palíndromo. Comencemos.
En el editor de Visual Studio Code, elimine cualquier código que haya de los ejercicios anteriores.
Escriba el siguiente código en el editor:
string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"}; Console.WriteLine("Is it a palindrome?"); foreach (string word in words) { Console.WriteLine($"{word}: {IsPalindrome(word)}"); }Este código establece algunos casos de prueba y hace referencia a un método denominado
IsPalindrome. Las palabras y la salida del métodoIsPalindromese imprimen en las instruccionesConsole.WriteLine.Agregue una nueva línea de código en blanco y cree el método
boolcon el siguiente código:bool IsPalindrome(string word) { return true; }Piense en cómo podría comprobar si una palabra es un palíndromo.
Una manera de comprobarlo es comparar la primera y la última letras de la palabra. Si coinciden, comparar la segunda y la penúltima letras de la palabra. Si llega a la mitad de la palabra, significa que se han comparado todas las letras y coinciden. Si alguna letra no coincide, la palabra no es un palíndromo.
Actualice el método
IsPalindromecon el código siguiente:bool IsPalindrome(string word) { int start = 0; int end = word.Length - 1; while (start < end) { if (word[start] != word[end]) { return false; } start++; end--; } return true; }Observe las variables
startyendque apuntan a los caracteres primero y último de la cadena. El bucle se interrumpe cuando se llega a la mitad de la palabra, es decir, cuandostartyendapuntan al mismo carácter o se cruzan. Los punteros se mueven hacia dentro cada vez que hay una coincidencia. Si no coinciden, el método finaliza y devuelvefalse.Ahora el método comprueba correctamente si una palabra es un palíndromo y devuelve
trueofalseen consecuencia.
Comprobar el trabajo
En esta tarea, ejecutará la aplicación desde el terminal integrado y comprobará que el código funciona correctamente. Empecemos.
Guarde el trabajo con Ctrl + S o use el menú "Archivo" de Visual Studio Code.
Si es necesario, abra el panel del terminal integrado de Visual Studio Code.
En el panel EXPLORADOR, para abrir un terminal en la ubicación de la carpeta TestProject, haga clic con el botón derecho en TestProject y, luego, seleccione Abrir en el terminal integrado.
En el símbolo del sistema del terminal, escriba dotnet run.
Compruebe que el código genera la salida siguiente:
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: TrueSi el código muestra resultados diferentes, deberá revisarlo para encontrar el error y realizar las actualizaciones correspondientes. Vuelva a ejecutar el código para ver si ha corregido el problema. Continúe actualizando y ejecutando el código hasta que genere el resultado esperado.