Questão nº 37
Questão de Tecnologia da Informação · FCC TRT-1 2025 (nº 37)
Considere o seguinte trecho de código em Python, que calcula o valor do FGTS (Fundo de Garantia por Tempo de Serviço) com base no salário do trabalhador. O FGTS é calculado como 8% do salário.
```python
def calcular_fgts(salario):
return salario * 0.08
```
Em condições ideais, o código equivalente em Visual Basic, que mantém a mesma lógica e cálculo, é:
- A```vb
Function CalcularFGTS(salario As Double) As Double
Return salario * 0.08
End Function
``` (alternativa correta) - B```java
public double calcularFGTS(double salario) {
return salario * 0.08;
}
``` - C```vb
function FGTS(salario As Double) As Double
return salario / 0.08
end function
``` - D```vb
Sub CalcularFGTS(salario As Double)
salario = salario * 0.08
End Sub
``` - E
function calcularFGTS($salario) { return $salario * 8; }
Resposta comentada
Gabarito Alternativa A
O conceito-chave aqui é a tradução de lógica de programação entre diferentes linguagens, focando na estrutura de funções (que retornam um valor) e na sintaxe para declarar tipos de dados e realizar operações matemáticas.
(A) Correta: O código em Visual Basic utiliza a palavra-chave Function para definir uma função que retorna um valor, assim como a função Python. Ele declara corretamente o parâmetro salario e o tipo de retorno da função como Double (tipo numérico para valores com casas decimais), e realiza a multiplicação salario * 0.08 para calcular o FGTS, exatamente como no Python.
(B) Incorreta: Este código está em Java, não em Visual Basic, e a questão pede o equivalente em Visual Basic.
(C) Incorreta: Esta é a armadilha da banca. Embora a estrutura function ... end function seja semelhante à de uma função em VB, a operação matemática está errada: salario / 0.08 (divisão) em vez de salario * 0.08 (multiplicação), o que alteraria completamente o resultado do cálculo do FGTS.
(D) Incorreta: Em Visual Basic, Sub é usado para procedimentos que não retornam um valor. A função Python original retorna um valor, então o equivalente em VB deve ser uma Function. Além disso, a atribuição salario = salario * 0.08 dentro de um Sub modificaria o parâmetro local, mas não retornaria o valor calculado.
(E) Incorreta: Este código está em PHP, não em Visual Basic. Além disso, a operação matemática está errada: $salario * 8 em vez de $salario * 0.08.
Fonte: FCC TRT-1 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.