Questão FC373194
Considere hipoteticamente que as tarifas cobradas pela SANASA em uma categoria residencial sejam as mostradas abaixo. Faixa de consumo (m3) Água tratada (R$/m3) Até 10 m3/mês 8,39
Algoritmos e Lógica de Programação
FCC · 2019
Considere hipoteticamente que as tarifas cobradas pela SANASA em uma categoria residencial sejam as mostradas abaixo.
| Faixa de consumo (m3) | Água tratada (R$/m3) |
| Até 10 m3/mês | 8,39 |
| De 11 a 20 | 1,07 |
| De 21 a 50 | 2,1 |
| Acima de 50 | 3,74 |
Considere que um Analista de TI desenvolveu o algoritmo abaixo, na forma de pseudocódigo, para calcular o valor da conta de água em determinado mês.
Var consumo_mes: inteiro
conta : real
Início
Escreva ("Entre com o valor consumido em m3:")
Leia (consumo_mes)
Se(consumo_mes<=10) então
conta = consumo_mes * 8.39
Senão
Se (consumo_mes<=20)então
conta = consumo_mes * 1.07
Senão
Se (consumo_mes<=50) então
conta = consumo_mes * 2.1
Senão
conta = consumo_mes * 3.74
Fim_se
Fim_se
Fim_se
Escreva ("O valor da sua conta é ", conta)
Fim
Este algoritmo está
- incorreto, pois pode apresentar um valor negativo para a variável conta se a entrada for negativa, o que equivaleria a uma conta a pagar negativa.
- incorreto na linha Se(consumo_mes<=20), que deve ser alterada para Se(consumo_mes>10 E consumo_mes<=20).
- incorreto no alinhamento dos desvios condicionais (estruturas de repetição).
- incorreto, pois há linhas que devem terminar obrigatoriamente com ponto e vírgula (;).
- incorreto na declaração de variáveis usando a palavra reservada Var e o tipo real, que deveria ser decimal.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
Incorreto. O algoritmo aceita valores negativos de entrada porque o primeiro teste é apenas consumo_mes ≤ 10, que engloba números negativos. Assim, para um valor negativo \(consumo\_mes<0\) será executada a primeira fórmula e calculado um valor negativo para a conta: \(conta = consumo\_mes \times 8{,}39\), o que não faz sentido prático (conta a pagar negativa).
Para corrigir é preciso validar a entrada antes de aplicar as faixas. Ex.: testar inicialmente se \(consumo\_mes<0\) e gerar erro/aviso, ou alterar o primeiro condicional para aceitar só valores não negativos: Se(consumo_mes>=0 E consumo_mes<=10).
Essa validação evita resultados inválidos e garante que as demais faixas sejam aplicadas apenas a consumos positivos.
Conteúdo do catálogo FC Concursos · Atualizado em