Escolar Documentos
Profissional Documentos
Cultura Documentos
ESTRUTURA DE DADOS
Lupa
2a aula
PPT MP3
1a Questão
Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte programa
principal for executado? int main() { int n = 3; n = n + 2; dobro(n); cout << n; return 0; }
3
20
10
0
5
Respondido em 24/05/2020 04:37:54
Explicação:
A função não retorna valor, então o valor de "n" não é alterado permanecendo igual a 5.
2a Questão
Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a função chamada e,
dessa forma, o valor poderá ser alterado, ou não.
valor
void
caracter
número
referência
Respondido em 24/05/2020 04:38:57
Explicação:
3a Questão
Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte programa
principal for executado? int main() { int n; n = 5; dobro(n); cout << n; return 0; }
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 1/4
25/05/2020 EPS
Haverá um erro de compilação
20
10
0
5
Respondido em 24/05/2020 04:39:43
4a Questão
Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por referência um inteiro
como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo dessa função:
Gabarito
Coment.
5a Questão
Gabarito
Coment.
6a Questão
void FUNC1()
int B = -100;
void FUNC2() {
int B = -200;
int main() {
int B = 10;
B = 20;
FUNC1();
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 2/4
25/05/2020 EPS
B = 30;
FUNC2();
Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de
B: 30
Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 10 Valor de B dentro da função FUNC2: -200 Valor de
B: 30
Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -400 Valor de
B: 30
Valor de B: 10 Valor de B dentro da função FUNC1: -200 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de
B: 30
Valor de B: 10 Valor de B dentro da função FUNC1: -100 Valor de B: 20 Valor de B dentro da função FUNC2: -200 Valor de
B: 20
Respondido em 24/05/2020 04:44:11
Explicação:
A execução começa pela main. Na main, B recebe 10. E daí é impresso : Valor de B : 10
Em seguida, é chamada a função FUNC1. Dentro desta função, existe um outro B que recebe -100. Então, é impresso :
A função termina e voltamos para a main, onde existe um outro cout que imprime o valor de B, que na main vale 20. Então, será
impresso na tela :
Valor de B : 20
Em seguida, ainda na main, B recebe 30 e logo depois, FUNC2 é chamada. Executando FUNC2 temos que um B, local à função,
recebe -200 e logo em seguida é impresso : Valor de B dentro da função FUNC2 : -200
Terminando a execução de FUNC2, voltamos para a main onde é impresso o valor do B (local à main) : Valor de B : 30
Valor de B : 10
Valor de B : 20
Valor de B : 30
7a Questão
Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela. Considere que o programa será compilado
sem erros e irá executar também sem problemas .
int main( ) {
int a = 13, b = 10;
troca( a, b );
cout<<"Valores: "<< a<<"\t"<< b<<< endl;
system("pause");
}
Valores: 10 10
Valores: 13 10
Valores: 31 01
Valores: 13 13
Valores: 10 13
Respondido em 24/05/2020 04:45:03
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 3/4
25/05/2020 EPS
Explicação:
int main( ) {
int a = 13, b = 10;
troca( a, b );
cout<<"Valores: "<< a<<"\t"<< b<<< endl;
system("pause");
}
A execução começa pela main e os valores 13 e 10 são passados para a função na chamada em troca(a,b);
Ao iniciar a execução em troca, temos que x recebe 13 e y recebe 10. Mas x e y são parâmetros passados por valor então, nada
ocorrerá com a e b na main. ASsim, após a função terminar sua execução e voltarmos para a main temos a seguinte impressão na
tela :
Valores : 13 10
8a Questão
No programa abaixo em C++, que sequência de valores serão impressos ? int x; x = 15; if (x > 0) { int x; x = 25; cout << x <<
endl; } cout << x << endl;
0e5
15 e 25
25 e 25
15 e 15
25 e 15
Respondido em 24/05/2020 04:46:06
Explicação:
x é declarado e inicializado com 15. Daí, testa-se a condição do if, que é verdadeira. Em seguida, entra-se no bloco do if onde um
outro x é declarado, recebe 25 e é impresso. Terminado o bloco do if, o x local ao bloco do if não é mais enxergado. Então, ao
executarmos a última linha do cout, que está fora do if, vemos que o valor de x impresso é 15.
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 4/4