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
- Uma casa de cultura organiza duas mostras e quer usar o mesmo sistema de bilheteria. Na Mostra A, o ingresso inteiro…
- Em um aplicativo de lanches, a pessoa escolhe os itens do pedido, informa quantidades, endereço de entrega e forma de…
- No terminal de um abrigo de animais, os voluntários passaram a registrar a chegada de cães e gatos em um sistema…
- Na entrada de um clube de leitura, um painel eletrônico libera o acesso às oficinas com base em duas informações: a…
- — "No aplicativo, o usuario consegue fazer duas coisas principais", explicou a atendente ao descrever o servico digital…
- Ao decompor um algoritmo em funções, o que constitui o contrato (interface) de uma função em termos de entradas, saídas…
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
