Exercícios Resolvidos de Testes Lógicos (If, Else, Elseif e Switch Case)

Ver Teoria

Enunciado

Uma empresa decide dar um reajuste a seus funcionários de acordo com os critérios seguintes:

  • 50 % para aqueles que ganham menos de 3000;
  • 20 % para aqueles que ganham entre 3000 e 10000 (inclusive)
  • 15 % para os demais
  • Escreva o algoritmo e codificações Matlab capaz de:

    • Ler o salário do funcionário
    • Calcular o valor do reajuste
    • Calcular o salário final
  • Imprimir o resultado

Passo 1

A questão em si pede a elaboração de um algoritmo e uma rotina que ajuste os salários dos funcionários de uma determinada fábrica a partir de uma entrada de dados.

Para a realização precisamos de uma estrutura de fluxo de dados pois para cada valor de salário teremos um ajuste diferente, para a questão temos 3 condições então para resolver precisaremos utilizar elseif ou switch.

Como o teste lógico será aplicado em intervalos de valores é mais prático utilizar a função elseif para respondê-la.

Passo 2

Primeiro passo como a questão pede é a elaboração do algoritmo, então o algoritmo para solução desse problema em diagrama de blocos é:

Passo 3

Uma vez que o algoritmo foi criado basta transformá-lo em uma linguagem de programação, observando que cada caso tem uma saída de dados diferente.

Então o programa vai virar algo do tipo:

X = i n p u t ( ' d i g i t e   a q u i   o   s a l a r i o   d o   f u n c i o n a r i o   = ' ) ;

i f   X < 3000

        y = X * 30 / 100 ;

        z = y + X ;

        f p r i n t f ( ' O   f u n c i o n a r i o   t e v e   u m   a j u s t e   d e   % f   \ n   o b t e n d o   u m   s a l a r i o   f i n a l   d e   % f ' , y , z )

e l s e i f   X > = 3000   & &   X < = 10000

        y = X * 20 / 100 ;

        z = y + X ;

        f p r i n t f ( ' O   f u n c i o n a r i o   t e v e   u m   a j u s t e   d e   % f   \ n   o b t e n d o   u m   s a l a r i o   f i n a l   d e   % f ' , y , z )

e l s e

        y = X * 10 / 100 ;

        z = y + X ;

        f p r i n t f ( ' O   f u n c i o n a r i o   t e v e   u m   a j u s t e   d e   % f   \ n   o b t e n d o   u m   s a l a r i o   f i n a l   d e   % f ' , y , z )

e n d

Passo 4

O programa em Matlab deve ficar algo do tipo:

Ao testar o programa podemos obter informações do tipo:

Resposta

Ei, a resposta está no passo a passo :)