Faça um programa que receba uma palavra e calcule quantas vogais (a, e, i, o, u) possui essa palavra. Entre com um caractere (vogal ou consoante) e substitua todas as vogais da palavra dada por esse caractere.
Passo 1
O problema pede para ler uma palavra e depois contar quantas vogais (a, e, i, o, u) ela tem. Em seguida, ler um caractere qualquer e usar esse caractere para substituir todas as vogais da palavra original. Vamos usar estruturas de laço e testes de condição para isso.
Passo 2
Primeiro, vamos receber a palavra. Em muitas linguagens, basta usar uma função de leitura de string. Chamaremos essa variável de palavra.
Passo 3
Em seguida, criamos um contador de vogais iniciado em zero. Para cada caractere da palavra, fazemos uma verificação: se o caractere for igual a “a”, “e”, “i”, “o” ou “u” (podemos considerar também maiúsculas, se necessário), incrementamos o contador.
Passo 4
Depois de contar, lemos o caractere de substituição, que pode ser consoante ou vogal – vamos chamar essa variável de novoChar.
Passo 5
Para gerar a palavra transformada, percorremos novamente cada caractere da palavra original e, sempre que encontrarmos uma vogal, concatenamos o novoChar numa string de saída; caso contrário, concatenamos o próprio caractere original.
Passo 6
Por fim, exibimos o número de vogais encontradas e a nova palavra resultante da substituição.
Passo 7
Essa solução roda em tempo linear em relação ao tamanho da palavra e usa apenas variáveis auxiliares de tamanho constante.
Resposta
// Pseudocódigo em estilo imperativo
leia palavra // Exemplo: “banana”
contador ← 0
contador ← 0
// Passo 1: contar vogais
para i de 1 até comprimento(palavra) faça
ch ← caractere na posição i de palavra
se ch for ‘a’ ou ch for ‘e’ ou ch for ‘i’ ou ch for ‘o’ ou ch for ‘u’ então
contador ← contador + 1
fim se
fim para
para i de 1 até comprimento(palavra) faça
ch ← caractere na posição i de palavra
se ch for ‘a’ ou ch for ‘e’ ou ch for ‘i’ ou ch for ‘o’ ou ch for ‘u’ então
contador ← contador + 1
fim se
fim para
// Passo 2: ler caractere de substituição
leia novoChar // Exemplo: ‘x’
leia novoChar // Exemplo: ‘x’
// Passo 3: construir palavra modificada
novaPalavra ← “”
para i de 1 até comprimento(palavra) faça
ch ← caractere na posição i de palavra
se ch for ‘a’ ou ch for ‘e’ ou ch for ‘i’ ou ch for ‘o’ ou ch for ‘u’ então
novaPalavra ← novaPalavra + novoChar
senão
novaPalavra ← novaPalavra + ch
fim se
fim para
novaPalavra ← “”
para i de 1 até comprimento(palavra) faça
ch ← caractere na posição i de palavra
se ch for ‘a’ ou ch for ‘e’ ou ch for ‘i’ ou ch for ‘o’ ou ch for ‘u’ então
novaPalavra ← novaPalavra + novoChar
senão
novaPalavra ← novaPalavra + ch
fim se
fim para
// Passo 4: saída dos resultados
escreva "Número de vogais: ", contador
escreva "Palavra modificada: ", novaPalavra
escreva "Número de vogais: ", contador
escreva "Palavra modificada: ", novaPalavra