Questão nº 12
Questão de Informática · FCC TRT-20 2016 (nº 12)
Uma das funções da lógica de programação é definir os passos para se resolver problemas do mundo real através de programas de computador criados nas linguagens de programação. Considere, nesse contexto, a estrutura de passos em pseudolinguagem abaixo.
```
var salary: real
início
leia(salary)
se(salary<1000)
então salary salary + 100
senão se (salary<2000)
então salary salary + 200
senão se (salary<3000){
então salary salary + 300
senão se (salary<4000){
então salary salary + 400
senão salary salary + 1000
fim_se
fim_se
fim_se
fim_se
exiba(salary)
fim
```
Se for informado o valor 4000 para a variável salary será exibido o valor
- A4400
- B4300
- C5000 (alternativa correta)
- D4200
- E9000
Resposta comentada
Gabarito Alternativa C
A estrutura condicional se...então...senão permite que um programa execute diferentes blocos de código dependendo se uma condição é verdadeira ou falsa; em condicionais aninhadas, um senão pode conter outro se, criando uma sequência de verificações que são avaliadas em ordem.
- (A) Incorreta: Esta seria a resposta se a condição
salary<4000fosse interpretada comosalary<=4000, fazendo com que o programa adicionasse 400 ao salário (4000 + 400 = 4400). Essa é a armadilha da banca, pois muitos alunos confundem o operador "menor que" (<) com "menor ou igual a" (<=). - (B) Incorreta: Este valor (4300) seria obtido se o salário inicial estivesse entre 2000 e 2999 (por exemplo, 2500 + 300 = 2800, ou se o salário fosse 3000 e a condição fosse
salary <= 3000+ 300 = 3300, mas não 4300). - (C) Correta: Com
salary = 4000, o programa avalia as condições:se(salary<1000):4000 < 1000é falso.senão se (salary<2000):4000 < 2000é falso.senão se (salary<3000):4000 < 3000é falso.senão se (salary<4000):4000 < 4000é falso (4000 não é menor que 4000, é igual).- Como todas as condições anteriores foram falsas, o programa executa o último
senão, que adiciona 1000 ao salário:salary = 4000 + 1000 = 5000.
- (D) Incorreta: Este valor (4200) seria obtido se o salário inicial estivesse entre 1000 e 1999 (por exemplo, 1500 + 200 = 1700, ou se o salário fosse 2000 e a condição fosse
salary <= 2000+ 200 = 2200, mas não 4200). - (E) Incorreta: Este valor (9000) não corresponde a nenhuma das operações condicionais descritas no pseudocódigo para o input fornecido.
Fonte: FCC TRT-20 2016 Técnico Judiciário - Área Apoio Especializado - Especialidade Enfermagem (Caderno Tipo 1). Reproduzida para fins de estudo.