Leia uma frase e faça um algoritmo que calcula e informa quantos caracteres existem na frase informada. Use repetição e não use função pronta.
Passo 1
O enunciado pede que eu leia uma frase e implemente um algoritmo que calcule e informe quantos caracteres existem na frase informada. Regras importantes fornecidas pelo enunciado:
- Devo usar repetição (um laço) para contar os caracteres.
- Não posso usar função pronta que já retorne o tamanho (por exemplo, não usar
lenem Python). - Preciso informar o total de caracteres da frase lida.
Observação que vou adotar (pois o enunciado não especificou): vou contar todos os caracteres presentes na frase, incluindo espaços, pontuação e acentos.
Passo 2
Ideia geral do método escolhido (sem código ainda): percorremos a frase caractere a caractere com um laço e mantemos um contador que começa em zero e é incrementado em uma unidade para cada caractere encontrado. No final do laço o contador contém o número total de caracteres.
Por que esse método:
Por que esse método:
- Usa repetição conforme exigido.
- Não usa funções prontas para obter o tamanho.
- É simples, direto e eficiente para fazer na prova.
Passo 3
Conceitos necessários e o que cada variável representa:
- A frase lida será armazenada numa variável que chamarei de
s(aqui só um nome: é a sequência de caracteres). - O contador será uma variável inteira que chamarei de
count. Inicializamoscountcom zero:. - Percorrer a frase significa visitar cada caractere de
sum por um com um laço (por exemplo,forouwhile). - Complexidade do algoritmo: se a frase tem
caracteres, o laço faz iterações, então o tempo é . Espaço extra usado é constante , além da memória para a própria frase.
Passo 4
Como funciona o laço na prática (explicação passo a passo, mentalmente):
- Começo com
. - Pego o primeiro caractere da frase; se existir, faço
. - Vou para o próximo caractere; se existir, novamente
. - Repito até não haver mais caracteres.
- Ao final,
é o número total de caracteres.
Passo 5
Exemplo concreto e bem mastigado (sem usar código executável):
Considere a frase exemplo: “Olá, mundo!”
Vamos percorrer e atualizar :
Considere a frase exemplo: “Olá, mundo!”
Vamos percorrer e atualizar
- Início:
. - ‘O’ →
. - ‘l’ →
. - ‘á’ →
. - ‘,’ →
. - ’ ’ (espaço) →
. - ‘m’ →
. - ‘u’ →
. - ‘n’ →
. - ‘d’ →
. - ‘o’ →
. - ‘!’ →
.
Resultado: 11 caracteres. Neste exemplo tudo foi contado, incluindo espaço e pontuação.
Passo 6
Detalhes práticos para implementar na prova:
- Se usar um laço
forque itera sobre cada caractere da string, a cada iteração façacount = count + 1. - Se usar um laço
whilecom índicei, inicializei = 0e enquantoifor menor que o número de caracteres (no enunciado não posso usar tamanho pronto — então owhilecom índice exige outra forma; por isso oforque itera diretamente sobre caracteres é mais simples em linguagens que permitem). - Tratamento de casos especiais:
- Frase vazia → o laço não executa e
. - Nova linha (dependendo de como a frase é lida) pode ou não estar presente; normalmente a função de leitura de linha remove o
\n, então não será contado.
- Frase vazia → o laço não executa e
Passo 7
Resumo passo-a-passo do algoritmo em linguagem natural para anotar na prova:
- Ler a frase e guardar em
s. - Inicializar
count = 0. - Para cada caractere
cems, fazercount = count + 1. - Após o laço, imprimir
count.
Resposta
# Lê uma frase do usuário e conta seus caracteres usando repetição (sem usar len)
s = input() # ler a frase
count = 0 # inicializa o contador
for _ in s: # percorre cada caractere da string
count += 1 # incrementa o contador
print(count) # exibe a quantidade de caracteres