Buscar

estruturra_dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aluno: MAX OLIVEIRA DE LIMA Matr.: 201903004381
Disc.: ESTRUTURA DE DADOS 2020.1 EAD (G) / EX
Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é 
opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de 
múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da 
mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua 
AV e AVS.
 
1.
Obrigatoriamente devem possuir parâmetros.
Não podem ser chamadas dentro de outras funções.
Obrigatoriamente devem retornam algum valor.
Não devem conter variáveis locais em seu código. 
São blocos de instruções que são executados quando são chamadas em alguma parte do 
programa. 
Explicação: 
Uma função é um bloco de instruções que pode ser chamada a partir de outra função, que 
pode ter ou não parâmetros, que pode ou não retornar valor, que pode ter ou não variáveis 
locais.
 
2.
 
Sobre funções, é correto afirmar:
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('902261','7118','1','3520942','1');
javascript:duvidas('609834','7118','2','3520942','2');
50
Haverá um erro de compilação 
5
10 
0 
Gabarito
Coment.
 
3.
Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado 
valor poderemos imprimir esta variável em qualquer outra função do programa mostrando
o valor atribuído na função "mostra".
Considere a função: 
void dobro(int x) { 
 x = 10 * x; 
} 
Qual será o valor impresso na tela quando o programa principal for 
executado? 
int main() { 
int n; 
n = 5; 
dobro(n); 
cout << n; 
return 0; 
} 
 
 
A declaração de variáveis na programação é o ato de reservar um espaço na 
memória para poder armazenar valores de um determinado tipo. Essas 
variáveis podem ser classificadas como variáveis locais e globais. Sendo 
assim, qual das situações abaixo representa melhor o conceito das variáveis 
globais.
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('28148','7118','3','3520942','3');
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá 
ser apresentado em qualquer outra função do programa.
Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor 
inteiro 5. Ao tentar chamar esta variável em outra função é mencionado um warning.
Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela 
esta variável em outra função, onde tambem está declarada a variável 'Y', será acusado 
um erro de compilação.
Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome 
apresentando o mesmo valor.
Explicação: 
Uma variável é classificada com Global quando for declarada fora de todas as funções, 
significando que poderá ser alterada em qualquer uma delas.
A resposta correta é :
Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser 
apresentado em qualquer outra função do programa.
Gabarito
Coment.
 
4.
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('1184216','7118','4','3520942','4');
60
50
30
20
40
Explicação: 
int func1 (int vtx[], int tam) {
 int soma=0; //inicializa soma com zero.
 for (int i=0 ; i < tam; i++) {
 if (i % 2 !=0) //testa se i é ímpar. Se for, acumula na soma o valor de vtx[i]
 soma += vtx[i]; 
Considere o trecho de um programa escrito em C++.
int func1 (int vtx[], int tam) {
 int soma=0;
 for (int i=0 ; i < tam; i++) {
 if (i % 2 !=0)
 soma += vtx[i]; 
 }
 return soma;
}
int main() {
 int vt[5] = {10,20,30,40,50};
 cout << func1 (vt,5);
}
Marque a opção correta que mostra o que é impresso na tela.
 }
 return soma;
}
 
Fazendo um teste de mesa parcial ...
vetor tam soma i
{10, 20, 30, 40, 50} 5 0 0
 20 1
 2
E continua ... se vê que a função está somando os elementos do vetor que possuem
índices ímpares. Logo, serão somados 20 e 40, que dará 60.
A soma 60 é retornada e impressa na main.
 
5.
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('1184211','7118','5','3520942','5');
9
18
27
6
3
Explicação: 
Fazendo um teste de mesa, temos que o valor 9 retornado e impresso na main.
Iniciando um teste de mesa....
n1 n2 aux
27 18 9 
18 9 0
continua... continua... continua..
 
Considere o trecho de um programa escrito em C++.
 int func1 (int n1, int n2) {
 int aux = n1 % n2;
 while ( aux != 0) {
 n1 = n2;
 n2 = aux;
 aux = n1 % n2;
 }
 return n2;
}
int main() {
 cout << func1 (27, 18);
}
Marque a opção correta que mostra o que é impresso na tela.
 
6.
Valores: 13 13
Valores: 31 01
Valores: 10 10
Valores: 10 13
Valores: 13 10
Explicação: 
 
A execução começa pela main. São passados o valor de a, que é 13 e o endereço de b, que vale
10. Em seguida, é chamada a função troca e são passados o valor de a e o endereço de b. 
Executando a função troca, x recebe 13 e *y recebe 10. Mas ocorre a troca, usando tmp como 
 
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");
}
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('2835767','7118','6','3520942','6');
auxiliar. Então x recebe 10 e *y recebe 13. Ao terminar a execução da função, voltamos para a
main e temos a sem mudanças e b com a mudança ocorrida na função. Note que x é um 
parâmetro passado por valor e y é um parÂmetro passado por referência.
Portanto, a ficou 13 e b ficou 13.
Logo, será impresso : Valores: 13 13
 
7.
Apenas I
Apenas I e II
Apenas II
Apenas III
Nenhuma está correta
Explicação: 
Analisando cada afirmativa ...
I . Falso. Em C++ os vetores passados como parâmetros são sempre passados por referência.
II. FAlso. Variáveis globais são uma péssima forma de usar recursos, comprometendo 
principalmente a manutenção do programa.
III. FAlso. A função poderá retornar explicitamente um valor com return, mas terá que passar
o outro parâmetro por referência e não por valor. Outra forma, será passar todos os parâmetros
por referência.
 
Considere as seguintes afirmativas :
I) Os vetores em C++, quando passados como parâmetros de funções, são 
obrigatoriamente passados "por valor" e não "por referência".
II) Variáveis globais são um recurso adequado para troca de informações 
entre funções distintas.
III) Caso uma função necessite retornar mais de um valor ao programa que a
chamou, deve fazê-lo usando parâmetros passados "por valor".
As afirmativas corretas são:
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('1025880','7118','7','3520942','7');
Portanto, não opção correta.
 
8.
28 e 08
08 e 18
28 e 18
18 e 28
18 e 18
Explicação: 
Teste de Mesa
a b x y aux
18 28 //Na main()
18 28 18 28 //Quando a função é chamada x, recebe o endereço de a e y, o de b. 
Logo acessam os mesmos endereços
18 28 18 28 18 //Na função, aux é declarada e inicializada com o valor de x
18 28 28 28 18 //Na função x = y; Deixará x com valor 28
1828 28 18 18 //Na função y = aux; Deixará y com valor 18
 
Como a função é void, nada retorna e nem precisa porque os valores foram trocados pela função
 
Considera a FUNÇÃO abaixo:
void inverte(int &x, int &y)
{ int aux = x;
x = y;
y = aux; }
Quais valores serão impressos na tela quando o seguinte programa principal
for executado?
int main()
{ int a = 18, b = 28;
inverte(a, b);
cout << a <<" e "<< b;
return 0; }
http://simulado.estacio.br/bdq_simulados_exercicio.asp#
javascript:duvidas('862507','7118','8','3520942','8');
misterio(...) que recebeu por passagem por referência.

Outros materiais