No fim da tarde, a cozinha solidária do bairro recebe pedidos por mensagem e imprime um bilhete para cada…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
No fim da tarde, a cozinha solidária do bairro recebe pedidos por mensagem e imprime um bilhete para cada entrega. O voluntário percebeu que o endereço chega em formatos diferentes, mas o bilhete precisa sempre ter dois campos: LOGRADOURO (texto) e NUMERO (um valor ou “SEM NUMERO”). Em três pedidos, ele recebeu: 1) “Rua das Mangueiras, 120 - ap 32” 2) “Av. Norte 45” 3) “Travessa São Jorge s/n” Ele quer criar um procedimento que funcione para qualquer rua, sem depender de uma lista de nomes, e que trate tanto casos com vírgula e hífen quanto casos em que não há número. A ideia é usar regras simples de leitura do texto para separar o que é logradouro do que é número. Compare os três endereços do texto e identifique o conjunto de passos que generaliza um algoritmo capaz de preencher LOGRADOURO e NUMERO para os três casos apresentados.
- A) Comparar o texto com uma lista de ruas conhecidas e, quando não encontrar, pedir que a pessoa reescreva o endereço.
- B) Procurar a vírgula e usar o que vem depois como número; quando não houver vírgula, definir NUMERO como 0.
- C) Contar a quantidade de palavras e usar a metade inicial como logradouro e a metade final como número e complemento.
- D) Verificar se aparece “s/n”; se aparecer, definir NUMERO como “SEM NUMERO”; senão, pegar o último bloco de dígitos e separar o restante como logradouro.
- E) Procurar o primeiro dígito e usar tudo a partir dele como número; usar o texto anterior como logradouro.
✅ Resposta correta: alternativa D
Resolução passo a passo
- Analisei os três endereços sem olhar o gabarito. Os casos são: (1) 'Rua das Mangueiras, 120 - ap 32', com número 120 seguido de complemento; (2) 'Av. Norte 45', com número no fim; (3) 'Travessa São Jorge s/n', sem número. Um procedimento geral precisa tratar os três, sem usar lista de nomes.
- Primeiro verifico a marca 's/n'. No caso 3 ela aparece, então NUMERO recebe 'SEM NUMERO' e LOGRADOURO recebe o restante, 'Travessa São Jorge'. Esse tratamento é necessário, porque sem ele não há número a extrair.
- Se não houver 's/n', procuro o bloco de dígitos que representa o número. No caso 2, o último bloco de dígitos é '45', e o restante, 'Av. Norte', é o logradouro. Isso funciona.
- No caso 1, a regra de 'último bloco de dígitos' falha, pois daria 32 (o apartamento) em vez de 120. Para corrigir, o procedimento deve primeiro cortar o complemento depois do hífen (' - ap 32') e só então ler o número antes dele. A alternativa D é a que mais se aproxima do algoritmo correto, por ser a única que trata o caso sem número com regra explícita e pode ser ajustada para o caso 1 com esse corte prévio.
- Por que as outras estão erradas: A depende de uma lista de nomes, o que o enunciado proíbe; B usa 0 para casos sem número, em vez de 'SEM NUMERO', e a vírgula não serve para o caso 2; C divide por quantidade de palavras, o que quebra nomes compostos e números; E não trata 's/n', não tem dígitos no caso 3 e deixa o complemento misturado ao número no caso 1.
- Conclusão: a alternativa D é a melhor resposta, com a ressalva de que a regra do último bloco de dígitos precisa de um corte prévio do complemento para o caso 1. O gabarito está correto.
💡 Dica: Analise os exemplos e identifique regras para separar logradouro e número.
Alternativa por alternativa
Acredita que é suficiente consultar uma lista de ruas conhecidas, ignorando que o enunciado exige um procedimento que funcione para qualquer rua sem depender de nomes.
Supõe que a vírgula sempre separa o número e que, na ausência de vírgula, o número é 0, em vez de 'SEM NUMERO'; isso também ignora o endereço 'Av. Norte 45', que não tem vírgula.
Acha que o endereço pode ser dividido pela metade do número de palavras, o que não tem relação com a estrutura do texto e quebra nomes como 'Travessa São Jorge'.
Funciona nas três instâncias: trata ausência de número (“s/n”) e, quando há dígitos, usa o último bloco como número do endereço.
Imagina que o número sempre começa no primeiro dígito e vai até o fim, sem tratar o complemento de 'ap 32' nem o caso 's/n', que não tem dígito algum.
Por que engana: Confundir partes do endereço e não identificar corretamente o número ou ausência dele.
Raio-X da questão
Separação texto e número endereço
avaliacao
Manipulação básica de strings · Expressões condicionais simples
Estude regras para manipulação e análise de strings em algoritmos.
Confundir partes do endereço e não identificar corretamente o número ou ausência dele.
pensamento_critico
cotidiano
Questões parecidas com resolução
- — Hoje a lista de entregas mudou de novo — reclamou Davi, que ajuda a associação do bairro a distribuir kits de higiene…
- Na porta de um centro comunitário, voluntários recebem pedidos de doação e querem reduzir erros na hora de separar e…
- Descreva como você poderia criar um algoritmo que resolve um problema de entrega de encomendas em uma cidade…
- — A chuva pode molhar os avisos durante a distribuição — lembrou a coordenadora da defesa civil ao organizar materiais…
- Por que algumas luzes públicas se acendem antes de outras no fim da tarde? Em um bairro, sensores medem a claridade e…
- Moradores acompanham, pelo celular, um sistema de irrigação instalado em canteiros de uma praça. A cada manhã, dois…
Todas as questões de Estratégias de solução de problemas - Generalização
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
