Devo colocar if ? c#

. O departamento que controla o índice de poluição do meio ambiente mantém 3 grupos de
indústrias que são altamente poluentes do meio ambiente. O índice de poluição aceitável
varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do primeiro grupo são
intimadas a suspenderem suas atividades, se o índice cresce para 0,4 as do primeiro e
segundo grupo são intimadas a suspenderem suas atividades e se o índice atingir 0,5 todos
os 3 grupos devem ser notificados a paralisarem suas atividades. Faça um algoritmo que lê
o índice de poluição medido e emite a notificação adequada aos diferentes grupos de
empresas.

Se a sua única dúvida é se deve colocar “if”, a resposta é sim.

Se precisa de ajuda com o exercício, mostre o que já fez, não coloque apenas o enunciado.

Abraço.

1 curtida

pseudocódigo ou fluxograma?

float x = 0;
Console.WriteLine(“Informe indice de poluiçao medio”);
x = float.Parse(Console.ReadLine());

        if (( x < 0.05) && ( x > 0.05))
        {
            Console.WriteLine("indice esta na entre ");

        }
        if (( x > 0.05) && (x < 0.25))
        {
            Console.WriteLine("Indice maior que primeiro grupo");
        }
        if (( x > 0.25 ) && ( x < 0.25))
        {
            Console.WriteLine("Indice maior primeiro e segundo grupo ");
        }
        else if ((x > 0.4) &&  x < 0.5))
         {

        }
        else if (x == 0.5)
        {
          
        }

        else
        {

        }
String msg;
        
        if (x == 0.3f) {
            msg = "Empresas do 1º. grupo são intimadas";
        } else if (x == 0.4f) {
            msg = "Empresas do 1º e 2º grupo são intimadas";
        }else if(x == 0.5f){
            msg = "Empresas dos 3 grupos são intimadas";
        }else{
            msg = "Nenhuma empresa precisa suspender suas atividades";
        }
        System.out.println(msg);

meu ta errado ?

Vamos por partes.

Primeiro: o valor de x não pode ser menor que 0.05 e maior que 0.05 ao mesmo tempo, então essa comparação:

if (( x < 0.05) && ( x > 0.05))

Sempre retornará false. As outras comparações tem problemas similares.

Uma pergunta sobre o enunciado: o índice sobe de 0.05 em 0.05? Pois, senão, o intervalo 0.251 à 0.299 não está contemplado.

Comece os ifs do caso mais geral (pode ser todos abaixo de 0.25 ou todos acima de 0.5). A partir daí, vá comparando os demais caso. Exemplo:

indice = float.Parse(Console.ReadLine());

if (indice >= 0.5){
  Console.WriteLine("Índice acima de 5.0: todos os 3 grupos devem ser notificados");
}else if (indice >= 0.4){
  Console.WriteLine("Índice acima de 4.0 e abaixo de 5.0: os grupos 1 e 2 devem ser notificados");
}else if (indice >= 0.3){
  Console.WriteLine("Índice acima de 3.0 e abaixo de 4.0: o grupo 1 deve ser notificado");
}else{ // note que não precisa de if aqui
  Console.WriteLine("Tudo OK, ou assim esperamos");
}

Dica: use nomes mais compreensíveis para suas variáveis. Note como usei indice ao invés de x .

Abraço.

3 curtidas

valeu entendi