Desenvolva um programa no qual o usuário digita uma string com até 250 caracteres e uma letra. Em seguida o programa deve imprimir para o usuário a quantidade de vezes que essa letra apareceu na string digitada.
Passo 1
O enunciado pede que o programa faça o seguinte:
- Receba do usuário uma string (texto) com até
caracteres. - Receba do usuário uma letra (um único caractere).
- Imprima a quantidade de vezes que essa letra apareceu na string digitada.
Informações relevantes dadas:
- Limite da string:
caracteres. - Entrada adicional: uma letra (espera-se um único caractere).
- Saída: um número inteiro que é a contagem de ocorrências dessa letra na string.
Passo 2
Decisão sobre como resolver (sem complicar): vou usar um método simples, básico e confiável que é ensinável passo a passo — percorrer a string caractere por caractere e comparar cada caractere com a letra alvo, mantendo um contador. Esse método é elementar (suficiente para a prova) e não depende de funções “mágicas”. Existe uma função pronta em Python (
str.count) que faz a mesma coisa, mas aqui vou mostrar o método manual porque ele demonstra bem a lógica que você precisa entender e aplicar em prova.Observações/assunções que eu adoto (porque o enunciado não detalhou):
- A comparação será sensível a maiúsculas/minúsculas (case-sensitive). Ou seja,
e são diferentes. Se você quiser que seja insensível, eu explico como alterar. - Se o usuário digitar mais de um caractere quando pedir a “letra”, o programa usará o primeiro caractere digitado (isso é uma estratégia prática).
- Se a string tiver mais de
caracteres, o programa vai truncar para os primeiros caracteres (ou podemos rejeitar — aqui opto por truncar para evitar loops extras de validação).
Passo 3
Conceitos básicos necessários (aula rápida, sem jargão):
- String: é uma sequência de caracteres. Em Python, por exemplo, uma string é algo como
. - Índices e percorrer a string: você pode acessar cada caractere da string usando um laço. Em muitas linguagens há um comando tipo
forque pega cada caractere da string. - Contador: é uma variável numérica que começa em
e que incrementamos toda vez que encontramos a letra que queremos contar. - Comparação de caracteres: para saber se o caractere atual é igual à letra alvo usamos uma comparação de igualdade (por ex., em Python:
if c == letra:).
Passo 4
Algoritmo passo a passo (em linguagem natural, pronto para transformar em código):
- Ler a string digitada pelo usuário e, se necessário, truncar para os primeiros
caracteres. - Ler a entrada do usuário para a “letra” e, se a entrada tiver comprimento maior que
, extrair o primeiro caractere. - Inicializar o contador com o valor
. - Para cada caractere
da string: - Comparar
com a letra alvo. - Se forem iguais, incrementar o contador em
.
- Comparar
- Ao final, imprimir o valor do contador.
Esse é o núcleo lógico. Agora vamos ver um exemplo prático para fixar.
Passo 5
Exemplo prático (passo a passo manual):
- Suponha que a string digitada seja
(observe que tem caracteres: ). - Suponha que a letra escolhida seja
. - Começamos com
. - Percorremos os caracteres:
-
— comparado com → diferente (maiúscula vs minúscula) → contador continua . -
— comparado com → diferente → contador . -
— igual → contador passa para . -
— diferente → contador . -
— igual → contador passa para . -
— diferente → contador . -
— diferente → contador .
-
- Resultado final: imprimir
.
Se quisermos que a busca seja insensível a maiúsculas/minúsculas (case-insensitive), bastaria transformar tanto a string quanto a letra para minúsculas antes do laço (por exemplo, usando (contando o
inicial também).
string = string.lower() e letra = letra.lower()) — aí no exemplo acima a resposta seria
Passo 6
Detalhes de implementação e tratamento de entradas:
- Truncamento: depois de ler a string, podemos fazer algo como
string = string[:250]para garantir o limite de. - Letra inválida: se o usuário não digitar nada quando pedir a letra (string vazia), podemos tratar imprimindo
ou pedindo novamente. Na solução abaixo eu trato pegando o primeiro caractere se houver, caso contrário a letra fica vazia e o contador será . - Mensagens: exiba instruções curtas para o usuário (por exemplo: “Digite a string (até 250 caracteres):”).
- Simplicidade: a versão que vou fornecer é curta e clara, fácil de entender e escrever na prova (ou adaptar para C/Java se necessário).
Passo 7
Programa final em Python (implementação usando o laço manual, respeitando truncamento e pegando primeiro caractere da entrada da letra):
# Programa: conta quantas vezes uma letra aparece numa string (máx 250 caracteres)
s = input("Digite a string (até 250 caracteres): ")
s = s[:250] # garante o limite de 250 caracteres
letra_input = input("Digite uma letra: ")
if len(letra_input) == 0:
letra = '' # usuário não digitou nada; resultado será 0
else:
letra = letra_input[0] # usa o primeiro caractere digitado
contador = 0
for c in s:
if c == letra:
contador += 1
print(contador)
Explicação rápida do código linha a linha:
s = input(...): lê a string do usuário.s = s[:250]: pega apenas os primeiroscaracteres (se tiver menos, fica igual). letra_input = input(...): lê o que o usuário digitou como “letra”.- Se o usuário não digitou nada, a variável
letrafica vazia; caso contrário, pegamos o primeiro caractere comletra_input[0]. - Inicializamos
contador = 0. - Percorremos cada caractere
cems. Sec == letra, incrementamoscontador. - Por fim, imprimimos
contador.
Passo 8
Como testar (exemplos de execução mental):
- Entrada:
- string: Abacate
- letra: a
Saída: 2
- Entrada:
- string: Banana
- letra: a
Saída (case-sensitive): 3 (porque a string tem três ‘a’ minúsculos)
- Para busca case-insensitive, antes do laço faça:
s = s.lower()letra = letra.lower()
Passo 9
Dicas finais e incentivo:
- Esse algoritmo é direto e você consegue escrever sem calculadora e sem depender de bibliotecas especiais — perfeito para prova.
- Se estiver com pressa, memorizando a ideia “inicializa contador, percorre, compara, incrementa” já resolve a maioria das questões desse tipo.
- Vai dar certo — pratique mais dois exemplos iguais a esses e você fixa a lógica rapidinho!
Resposta
# Programa: conta quantas vezes uma letra aparece numa string (máx 250 caracteres)
s = input("Digite a string (até 250 caracteres): ")
s = s[:250] # garante o limite de 250 caracteres
letra_input = input("Digite uma letra: ")
if len(letra_input) == 0:
letra = '' # usuário não digitou nada; resultado será 0
else:
letra = letra_input[0] # usa o primeiro caractere digitado
contador = 0
for c in s:
if c == letra:
contador += 1
print(contador)