Buscar

BDQ estrutura de dados4

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 4 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

14/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_linear_view.asp 1/4
   Fechar
   ESTRUTURA DE DADOS
Simulado: CCT0308_SM_201504470885 V.1 
Aluno(a): ALESSANDRO AMBROSIO PEREIRA Matrícula: 201504470885
Desempenho: 0,4 de 0,5 Data: 07/06/2016 16:38:00 (Finalizada)
  1a Questão (Ref.: 201504546117) Pontos: 0,1  / 0,1
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e
marque corretamente a alternativa que descreve as funcionalidades desta.
int funcao(float v[], float vl, int n)
{
   for (int i = 0; i < n; i++)
     if (v[i] == vl)
       return i;
   return ­1;
}
Retorna ­1 se o valor de vl estiver dentro de v.
Retorna ­1 se o valor de n foi encontrado.
Resulta em erro, se o valor de vl não estiver dentro de v.
  Retorna a posição de v se o valor vl foi encontrado.
Retorna o valor de vl se o valor n foi encontrado.
 Gabarito Comentado.
  2a Questão (Ref.: 201504596032) Pontos: 0,1  / 0,1
Existem vários algoritmos de ordenação de dados para vetores. Sabe­se que estes algoritmos, para executar a
ordenação dos dados, baseiam­se em duas tarefas principais: comparação e troca. Leia as sentenças abaixo e
assinale a resposta correta.
I. Pode­se comparar os conteúdos de vetores numéricos usando os operadores relacionais >, >=, <, <= , == e
14/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_linear_view.asp 2/4
!=.
II. Para trocar os conteúdos das variáveis, o comando de atribuição nunca poderá ser usado.
III. As regras da comparação para membros de uma estrutura (struct) seguirão as mesmas regras utilizadas
para comparar conteúdos de vetores.
IV. Utiliza­se a função strcpy para comparar dois vetores de char.
  I e III estão corretas
I e IV estão erradas
I e II estão corretas
II e IV estão erradas
III e IV estão corretas
  3a Questão (Ref.: 201504545967) Pontos: 0,1  / 0,1
Imagine a seguinte estrutura em C/C++, para descrever um produto:
struct Produto {
int codigo;
char descricao[40];
float preco;
};
Considere a função que atribui o preço ao produto
void atribui (struct Produto *pProd) {
/* atribuição do preço */
...
}
A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é:
pProd.preco=2.99;
  pProd ­> preco=2.99;
*pProd ­> preco=2.99;
*pProd.preco=2.99;
(*pProd) ­> preco=2.99;
14/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_linear_view.asp 3/4
  4a Questão (Ref.: 201504779096) Pontos: 0,0  / 0,1
QUAL A SAÍDA DO PROGRAMA ABAIXO? 
#include  
main() 
{ 
    int x=5,*p; 
    p=&x; 
     
    cout << x ‐ *p << " " << **&*&p + 1 << " " << *p*2+*p << " " << x+**&p; 
    system("pause"); 
} 
  0 6 15 11
0 8 16 10
1 6 15 12
  0 6 15 10
0 6 16 14
  5a Questão (Ref.: 201504545961) Pontos: 0,1  / 0,1
Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila:
int enfileirar(int v[], int valor, int *fim) ­ insere um elemento na fila indicada por v.
int desenfileirar(int v[], int *inicio, int fim, float &valor) ­ remove um elemento da fila indicada por v.
Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura
linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia:
enfileirar (minhaFila[], 10, fim);
enfileirar (minhaFila[], 20, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 30, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 40, fim);
14/06/2016 BDQ Prova
http://simulado.estacio.br/bdq_simulados_linear_view.asp 4/4
enfileirar (minhaFila[], 50, fim);
enfileirar (minhaFila[], 60, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 70, fim);
Qual a posição, dentro da estrutura linear sequencial (vetor ­ que representa a fila), que se encontra o último
elemento inserido na fila?
7
4
6
  1
5

Outros materiais