Exercício – Retornar boolianos de métodos

Concluído

Os métodos com tipos de retorno boolianos podem ser simples, mas são úteis na consolidação de código. Métodos que retornam valores bool podem ser chamados para avaliar a entrada de dados em qualquer lugar, em instruções if, em declarações de variáveis e muito mais. Neste exercício, você ganhará alguma experiência ao criar e usar métodos de tipo de retorno booliano.

Criar um método que retorna um booliano

Vamos supor que você seja um candidato em uma entrevista de codificação. O entrevistador quer que você verifique se várias palavras são palíndromos. Uma palavra é um palíndromo se você a lê da mesma forma de trás e para frente. Por exemplo, a palavra racecar é um palíndromo. Vamos começar!

  1. No Editor do Visual Studio Code, exclua qualquer código existente dos exercícios anteriores.

  2. Digite o seguinte código no editor:

    string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"};
    
    Console.WriteLine("Is it a palindrome?");
    foreach (string word in words) 
    {
        Console.WriteLine($"{word}: {IsPalindrome(word)}");
    }
    

    Esse código estabelece alguns casos de teste e faz referência ao método chamado IsPalindrome. As palavras e a saída do método IsPalindrome são impressas nas instruções Console.WriteLine.

  3. Insira uma nova linha de código em branco e crie o método bool inserindo o seguinte código:

    bool IsPalindrome(string word) 
    {
        return true;
    }
    
  4. Considere como você verificaria se a palavra é um palíndromo.

    Uma maneira de verificar é comparar a primeira e as últimas letras da palavra. Se elas corresponderem, compare a segunda e a penúltima letra da palavra. Se você chegar ao meio da palavra, então todas as letras foram comparadas e correspondidas. Se alguma letra não corresponder, a palavra não é um palíndromo.

  5. Atualize o método IsPalindrome pelo seguinte código:

    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 as variáveis start e end para apontar para o primeiro e o último caracteres na cadeia de caracteres. O loop é interrompido ao atingir o meio da palavra; quando start e end apontam para o mesmo caractere ou cruzam um sobre o outro. Os ponteiros são movidos para dentro sempre que há uma correspondência. Se eles não corresponderem, o método encerrá e retornará false.

    Agora, seu método verifica com êxito se a palavra é um palíndromo e retorna true ou false adequadamente.

Verificar seu trabalho

Nesta tarefa, você executará o aplicativo no Terminal Integrado e verificará se o código está funcionando corretamente. Vamos começar.

  1. Salve seu trabalho usando Ctrl + S ou usando o menu Arquivo do Visual Studio Code.

  2. Se necessário, abra o painel Terminal Integrado do Visual Studio Code.

    No painel EXPLORER, para abrir um Terminal no local da pasta TestProject, clique com o botão direito do mouse em TestProject e selecione Abrir no Terminal Integrado.

  3. No prompt de comando do terminal, insira dotnet run

  4. Verifique se o código produz a seguinte saída:

    Is it a palindrome?
    racecar: True
    talented: False
    deified: True
    tent: False
    tenet: True
    

    Se o código exibir resultados diferentes, você precisará examinar o código para encontrar o erro e fazer atualizações. Execute o código novamente para ver se você corrigiu o problema. Continue atualizando e executando o código até que ele produza os resultados esperados.