Buscar

Av1 2 2017 Estrutura Prof Jane PXI Grupo 1 GABARITO

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 3 páginas

Prévia do material em texto

Universidade Estácio de Sá - Estrutura de dados - Professora : Jane * 
Aluno(a) : 2/2017 
 
INSTRUÇÕES IMPORTANTES: 
 
1. Faça tudo, sem exceção, na folha pautada, especificando o número da questão e do item. 
2. Faça, obrigatoriamente, as questões 1,2,e 3 com caneta. Questões de código : lápis ou 
caneta. Não use lápis fraco. 
 
 
AV1 
 
1) Considere os trechos abaixo: 
int v = 300; 
 
void xpto (int &k) { 
 int aux = 200; 
 
 k = k * 2; 
 aux = aux – 50; 
 v = v + aux; 
 cout << "Auxiliar = " << aux << endl; 
 
} 
 
int main() { 
 
 int x = 60; 
 
 xpto(x); 
 cout << "Número = " << x << " Valor = " << v << endl; 
 
} 
 
RESPOSTA : 
 
a) 
 
 Auxiliar = 150 
 Número = 120 Valor = 450 
 
b) Por referência 
 
c) 
 Global : v 
 Local à função xpto : k e aux 
 Local à main : x 
 
 
 
 
 
 
Pede-se : 
(1.5) a) Mostre o que é impresso na tela. 
 
(0.4) b) Qual é o tipo de passagem de parâmetro 
usado na função xpto ? 
(1.6) c) Diga que variáveis são locais e quais 
são globais, identificando o escopo das locais. 
(1.0) 2) Considere a função XYZ , n = 9 e que O é formado pela sequência “estrutura”. Mostre o vetor D 
ao fim da execução da função XYZ, considerando que D possui espaço suficiente para a operação 
realizada. 
 
void XYZ (char O[ ], char D [ ], int n) { 
 
 int i, j; 
 
 j = 0; 
 for ( i = n - 1; i >= 0 ; i = i - 2) 
 { 
 D[j] = O[i]; 
 j++; 
 } 
 D[j] = '\0'; 
} 
 
 
RESPOSTA : D será 
 
‘a’ ‘u’ ‘u’ ‘t’ ‘e’ ‘\0’ 
 
 
 
 
 
 
 
 (1.0) 3) Analise a função abaixo, considerando o tipo Modelo e marque a opção correta. 
 
int Misterio (Modelo x[ ], int c, int n) { 
for (int i = 0; i < n; i++) 
 if (x[i].numero == c) 
 return i; 
 return -1; 
} 
 
(A) Retorna a posição do valor c em x , se o valor c for encontrado em x. 
(B) Retorna o valor de c se o valor n foi encontrado. 
(C) Ocorre erro na função Misterio se o valor de c não estiver sido encontrado em x. 
(D) Retorna -1 se o valor de c estiver em x. 
(E) Retorna -1 se o valor de n foi encontrado. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
struct Modelo { 
 int numero; 
 char nome[30], 
 agencia[25]; 
 }; 
 
(1.5) 4) Considere o tipo 
struct Corredor { 
 int numero; 
 char nome[30], equipe[30]; 
 float premio; 
 }; 
 e faça o que se pede : 
a) Declare uma variável cd do tipo definido acima. 
b) Use cd e defina o premio sendo R$ 600000,00 e o nome sendo Nick Leite. 
 
 
RESPOSTA : 
 
a) Corredor cd; 
 
b) cd.premio = 600000.00 ; 
 strcpy(cd.nome, “Nick Leite”); 
 
(1.0) 5) Em uma feira de computação, o stand de Bill Góis mostrava como trabalhar com as estrutura de 
dados lista e pilha. Dada como entrada a sequência de números inteiros 10, 12, 13, 14, 15, 16 e 17, Bill 
empilhava os ímpares na pilha P e depois inseria em uma lista L os valores 80, 30, 50, de forma 
ordenada crescentemente. Ao final, exibiu primeiro os valores retirados da lista, sem perder a ordem 
seguida na inserção e em seguida, exibiu os valores desempilhados . Qual é a sequência final, 
considerando, respectivamente, as retiradas na lista e na pilha ? Mostre seu raciocínio, exibindo as etapas 
da pilha e da lista e ao final, destaque a sequência final solicitada. 
 
 
 
 
 
 
 
RESPOSTA : 
 
Pilha : empilhou 13, depois 15 e por fim, 17. Ao desempilhar, teremos : 17, 15 e 
13, nesta ordem. 
Lista : inseriu 30, 50 e 80, pois a inserção foi ordenada crescentemente. 
Sequência final : 30, 50, 80, 17, 15, 13 
 
 
(2.0) 6) Um técnico de futebol de salão está selecionando atletas com altura de 1,70 até 1,90 e idade de 
16 até 18 anos. Faça um programa em C++ para ler a altura e a idade de um atleta e imprimir uma das 
mensagens "Aceito no time" ou "Não aceito no time". Para isso ... 
• faça a entrada de dados na main; 
• implemente uma função de nome obterAtleta que receba a idade e a altura do atleta 
e imprima uma das mensagens indicadas, como especificado; 
• chame a função obterAtleta na main. 
 
Use, obrigatoriamente, o protótipo void obterAtleta (int, float); na sua solução. 
 
RESPOSTA : Ver cpp 
 
Pilha ... passo a passo : 
Lista ... passo a passo : 
Sequência final :

Continue navegando

Outros materiais