FC ConcursosFC Concursos

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á

  1. 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.
  2. incorreto na linha Se(consumo_mes<=20), que deve ser alterada para Se(consumo_mes>10 E consumo_mes<=20).
  3. incorreto no alinhamento dos desvios condicionais (estruturas de repetição).
  4. incorreto, pois há linhas que devem terminar obrigatoriamente com ponto e vírgula (;).
  5. 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

Continue aprendendo