Leia uma frase e mostre a quantidade de letras ‘a’ maiúsculas e letras ‘e’ minúsculas dessa frase. Use repetição.
Passo 1
O que o problema pede e o que temos de informação:
- Pede-se: ler uma frase (uma sequência de caracteres) e mostrar duas quantidades:
- A quantidade de letras
maiúsculas presentes na frase. - A quantidade de letras
minúsculas presentes na frase.
- A quantidade de letras
- Informação dada: nenhuma frase específica foi fornecida; a solução deve funcionar para qualquer frase que eu (ou o programa) receber.
- Restrição: usar repetição (ou seja, percorrer a frase caractere a caractere).
Passo 2
Definição das variáveis e conceitos usados (expliquei como pensar para a prova):
-
: a sequência de caracteres lida (tipo string). -
: o número de caracteres da (comprimento da string). -
: contador inteiro que guarda quantas letras maiúsculas já foram encontradas. Inicialmente . -
: contador inteiro que guarda quantas letras minúsculas já foram encontradas. Inicialmente . - Índice
: inteiro que usamos na repetição para percorrer posições de até (ou até , dependendo da convenção da linguagem). Na prova, se pedirem pseudocódigo use algo como “para de até faça”. - Observação importante (sensibilidade a maiúsculas/minúsculas): a comparação deve ser exata —
é diferente de ; é diferente de . O enunciado pede especificamente maiúscula e minúscula.
Passo 3
Estrutura do algoritmo em palavras (o “mapa” do raciocínio que você deve aplicar na prova):
- Ler a
. - Calcular
, o comprimento de . - Inicializar
e . - Repetir para cada posição
de até : - Obter o caractere atual
. - Se
então incrementar . - Se
então incrementar .
- Obter o caractere atual
- Ao final, mostrar
e .
Explicação das condições:
- A instrução "Se
" checa se o caractere atual é exatamente a letra maiúscula A. - A instrução "Se
" checa se é exatamente a letra minúscula e. - Usamos duas condições separadas (não “senao se”), porque um caractere não pode ser ao mesmo tempo
e , mas manter as duas checagens é claro e direto.
Passo 4
Pseudocódigo completo (formato que você pode escrever na prova; use repetição e operações simples):
Dica prática: em linguagens reais
- Em Python: percorra com “for c in frase:” e compare diretamente c == ‘A’ e c == ‘e’.
- Em C/Java: percorra por índice e use frase[i] para acessar o caractere.
Passo 5
Exemplo prático (para ver como a repetição atualiza os contadores passo a passo):
Vou usar como exemplo a frase
Vou usar como exemplo a frase
(Obs.: escolhi essa frase só para demonstrar; o método funciona para qualquer frase.)
Primeiro contei os caracteres por palavras aqui só para facilitar a explicação. Agora aplicando a repetição e checando cada caractere relevante:
- Encontramos
no primeiro caractere → passa de para . - Em “Abelha” o primeiro caractere é
→ passa de para . - Ainda em “Abelha” há uma letra
→ passa de para . - A palavra isolada “e” → é
→ passa para . - Em “esperta” as letras são
(duas vezes) → passa para . - Outro “e” isolado →
passa para . - Em “elegante” há três
→ passa para . - Nenhuma outra letra
maiúscula aparece além das duas já contadas.
Ao final do laço, para esta frase de exemplo:
Isso mostra claramente como a repetição percorre e atualiza contadores conforme encontra os caracteres desejados.
Passo 6
Observações finais para a prova (truques e erros comuns):
- Não transforme a frase toda em maiúsculas ou minúsculas antes de contar, porque isso mudaria o problema (você perderia a distinção entre
maiúscula e minúscula). Se o enunciado pedisse “conte As e Es sem diferenciar maiúsculas/minúsculas”, aí poderia normalizar. - Lembre-se de que caracteres com acento (por exemplo
) não são iguais a . - A solução é O(
) em tempo (percorre a frase uma vez) e O(1) em memória extra (só dois contadores).
Resposta
Quantidade de letras
maiúsculas:
Quantidade de letras minúsculas:
Quantidade de letras