Considerando a algoritmo apresentado acima, julgue os itens ...
2. Ler salario
3. Se salario >=1000
4. Então
5. salarionovo = salario * 1,05
6. Senão
7. salario = salario * 1,075
8. Fim Se
9. Exibir salario
10. Exibir salarionovo
11. Fim programa
O comando na linha 7 faz aumentar o valor da variável salario em 75%. Esse comando, contudo, não poderá ser implementado da forma apresentada, uma vez que não é possível atribuir valor à variável salario, pois ela já está sendo utilizada no cálculo.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: E
Vamos entender por que a alternativa errada está correta. O problema aborda um algoritmo que lê um salário e aplica um aumento dependendo do valor do salário lido. Em seguida, exibe o salário ajustado. Para resolver essa questão, é necessário ter um entendimento básico de estrutura de controle condicional e atribuição de variáveis em algoritmos.
Primeiro, vamos analisar a lógica do algoritmo:
1. O programa começa e lê o valor do salário.
2. Se o salário for maior ou igual a 1000, um novo salário (salarionovo) é calculado aplicando um aumento de 5%.
3. Se o salário for menor que 1000, o salário é aumentado em 7,5% diretamente.
4. O programa exibe o salário e o novo salário, se aplicável.
Vamos examinar a linha 7, que está no centro da nossa questão:
salario = salario * 1.075
Justificativa da alternativa correta:
Na linha 7, o algoritmo aumenta o valor da variável salario
em 7,5%. A afirmação de que "não é possível atribuir valor à variável salario
pois ela já está sendo utilizada no cálculo" está errada. Em linguagens de programação, é perfeitamente possível utilizar uma variável em ambos os lados da atribuição. Isso é conhecido como atribuição com cálculo direto. O valor antigo de salario
é lido, multiplicado por 1,075 e, então, o resultado é atribuído de volta à variável salario
.
Por que a alternativa é errada:
A alternativa sugere que não é possível realizar esta operação por causa do uso da variável salario
em ambos os lados da atribuição. Esta afirmação está incorreta, pois linguagens de programação permitem a reatribuição de valores a uma variável da forma como descrito na linha 7.
Portanto, a alternativa E é a correta, pois a operação descrita é viável e comum em programação.
Espero que esta explicação tenha esclarecido suas dúvidas. Caso tenha mais perguntas ou precise de mais exemplos, estou aqui para ajudar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Força Guerreiro!!!!!!
Sendo uma variável, é possível alterar seu valor. Se salário fosse definido como uma constante (que precisaria estar explícito no código), não poderia atribuir novo valor.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo