FC ConcursosFC Concursos

Questão FC373193

Considere o programa em pseudocódigo abaixo, que não apresenta erros. var var1=1, var2=2: inteiro funcao1() inicio var var1=100, var2=100: inteiro imprima("Variaveis dentro da func

Algoritmos e Lógica de Programação

FCC · 2019

Considere o programa em pseudocódigo abaixo, que não apresenta erros.


var var1=1, var2=2: inteiro


funcao1()
inicio
     var var1=100, var2=100: inteiro
     imprima("Variaveis dentro da funcao1(): var1= ", var1, " var2=", var2)
fim


funcao2()
inicio
   var1 = var1 +1;
   var2 = var2 +2;
   imprima("Variaveis dentro da funcao2(): var1= ", var1, " var2=", var2)
fim


inicio
   imprima("Variaveis antes de chamar a funcao1(): var1= ", var1, " var2=", var2)
   funcao1()
   imprima("Variaveis depois de chamar a funcao1():var1= ", var1, " var2=", var2)
   funcao2()
   imprima("Variaveis depois de chamar a funcao2():var1= ", var1, " var2=", var2)
fim


O pseudocódigo, ao ser executado, imprimirá

  1. Variaveis antes de chamar a funcao1(): var1=0 var2=0
  2. Variaveis dentro da funcao1(): var1=1 var2=2
  3. Variaveis dentro da funcao2(): var1=101 var2=102
  4. Variaveis depois de chamar a funcao1(): var1=1 var2=2
  5. Variaveis depois de chamar a funcao2(): var1=101 var2=102
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

O trecho acertado mostra que, após a execução de funcao1(), as variáveis impressas mantêm os valores iniciais. Isso ocorre porque há distinção entre variáveis globais (declaradas no início: var1=1, var2=2) e variáveis locais.

Dentro de funcao1() são declaradas novas variáveis locais (var1=100, var2=100) que sombreiam as globais apenas no escopo da função. Assim, a impressão feita dentro da função mostra 100 e 100, mas não altera os valores globais.

Ao retornar ao programa principal, os nomes voltam a referir-se às variáveis globais, portanto a mensagem “Variaveis depois de chamar a funcao1(): var1= 1 var2=2” é a impressão correta — as globais permaneceram \(var1=1\) e \(var2=2\).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo