Você está na página 1de 4

25/05/2020 EPS

ESTRUTURA DE DADOS
Lupa
2a aula
PPT MP3

Exercício: CCT0826_EX_A2_201901306054_V2 24/05/2020

Aluno(a): JONATAS RICIANO SILVEIRA 2020.1 EAD

Disciplina: CCT0826 - ESTRUTURA DE DADOS 201901306054

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:

Esse é o conceito de passagem por referência.

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:

int func (&int, int);


void func (int a, int &b);
int func (int a, int &b);
void func (int &a, int &b);
int func (int &a, int b);
Respondido em 24/05/2020 04:41:02

Gabarito
Coment.

5a Questão

Assinale a opção certa.

Quando não se escreve o protótipo de uma função ...

A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.


O programa não funcionará de forma alguma.
A chamada da função poderá ser feita em qualquer hipótese.
A chamada da função não poderá ser feita em qualquer hipótese.
É preciso definir a função antes do programa principal.
Respondido em 24/05/2020 04:41:48

Gabarito
Coment.

6a Questão

Qual será a saída para o seguinte trecho de código?

void FUNC1()

int B = -100;

cout << "Valor de B dentro da função FUNC1: " << B;

void FUNC2() {

int B = -200;

cout << "Valor de B dentro da função FUNC2: " << B;

int main() {

int B = 10;

cout << "Valor de B: " << B;

B = 20;

FUNC1();

cout << "Valor de B: " << B;

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 2/4
25/05/2020 EPS
B = 30;

FUNC2();

cout << "Valor de B: " << B;

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

DEpois, B muda e recebe 20.

Em seguida, é chamada a função FUNC1. Dentro desta função, existe um outro B que recebe -100. Então, é impresso :

Valor de B dentro da função FUNC1: -100

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

Logo, a opção correta é a que diz :

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

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 .

void troca (int x, int y){


int tmp;
tmp = y;
y = x;
x = tmp;
}

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:

Acompanhando passo a passo a execução do trecho dado temos :

void troca (int x, int y){


int tmp;
tmp = y;
y = x;
x = tmp;
}

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:

Analisando passo a passo, temos :

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.

Logo, a resposta correta é 25 e 15

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 4/4