Buscar

ESTRUTURA DE 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 141 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 141 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 141 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

1a Questão
Assinale a alternativa correta sobre tipos abstratos de dados:
Um tipo abstrato de dados descreve, além do que se pode fazer com os dados, como as operações serão efetivamente 
implementadas.
  Um tipo abstrato de dados é composto por um modelo de dados e um conjunto de operadores definidos sobre esses dados.
É fundamental que os tipos abstratos de dados proponham um conjunto eficiente de algoritmos para realização de suas 
operações.
Um tipo abstrato de dados é um modo particular de armazenamento e organização de dados em um computador de modo 
que possam ser usados eficientemente.
Um tipo abstrato de dados deve sempre ser representado por meio dos recursos específicos de uma linguagem de 
programação.
Respondido em 18/04/2020 07:43:19
Explicação:
Um tipo abstrato de dados é composto por um modelo de dados e um conjunto de operadores 
definidos sobre esses dados.
Verdadeiro.  Por definição de TAD (tipo abstrato de dados).
Um tipo abstrato de dados é um modo particular de armazenamento e organização de dados em um 
computador de modo que possam ser usados eficientemente.
Falso.   Quando se pensa em TAD não há vínculos com implementação.
Um tipo abstrato de dados descreve, além do que se pode fazer com os dados, como as operações 
serão efetivamente implementadas.
FAlso.  Não se pensa em implementação quando se trabalha com TAD.
É fundamental que os tipos abstratos de dados proponham um conjunto eficiente de algoritmos para 
realização de suas operações.
FAlso. Não se pensa em implementação ou eficiência quando se trabalha com TAD. Se pensa na 
semântica das operações.
Um tipo abstrato de dados deve sempre ser representado por meio dos recursos específicos de uma 
linguagem de programação.
 Falso : Não se pensa em programa ou na linguagem de programação, pois o TAD não está vinculado à implementação.
 
  2a Questão
Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional?
Lista
Pilha
Fila
Grafo
  Árvore
Respondido em 18/04/2020 07:43:26
Explicação:
A estrutura de diretórios mostra hierarquia e um relacionamento não linear. Por isso, 
a resposta certa é árvore.
 
Lista, pilha e fila são estruturas de dados linear.
 
Grafo é não linear, mas não é hierárquica.
 
  3a Questão
          Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade a 
cidade. Qual a estrutura de dados mais adequada para modelar este problema ?
             Pilha
 Lista
              Árvore
  Grafo
Fila
Respondido em 18/04/2020 07:43:31
 
  4a Questão
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na
memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas
estruturas. Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
Marque a alternativa CORRETA:
As alternativas III e IV estão corretas.
Todas as alternativas estão corretas.
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
As alternativas I e III estão corretas.
Respondido em 18/04/2020 07:43:35
Gabarito
Coment.
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
 
  5a Questão
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que 
representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos duas pilhas.
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
Após a impressão dos valores pela ordem teremos duas filas.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Respondido em 18/04/2020 07:43:41
 
  6a Questão
Preciso fazer uma relação de tudo o que levar em minha viagem de mochila pela Europa.  A estrutura de 
dados mais adequada para armazenar tudo que preciso levar é ...
fila
  lista
pilha
grafo
árvore
Respondido em 18/04/2020 07:43:46
Explicação:
Conforme gabarito e aula 1.
 
  7a Questão
Estão entre algumas das possíveis formas de se estruturar dados:
Grafos, algoritmos, fila.
Lista encadeada, vetores, algoritmos.
Algoritmos, lista ordenada, vetores.
  Grafos, lista ordenada, vetores.
Grafos, lista ordenada, algoritmos.
Respondido em 18/04/2020 07:43:50
Explicação:
FAlso.  Algoritmos não são estrutura de dados Grafos, algoritmos, fila.
.
FAlso.  Algoritmos não são estrutura de dados. Grafos, lista ordenada, algoritmos.
 
Correto. Grafos, lista ordenada, vetores.
 
FAlso.  Algoritmos não são estrutura de dados. Algoritmos, lista ordenada, vetores.
 
FAlso.  Algoritmos não são estrutura de dados.
Lista encadeada, vetores, algoritmos.
Gabarito
Coment.
 
  8a Questão
É um exemplo de TAD Não Linear:
Filas
Filas de Prioridade
Pilhas
  Grafos
Listas
Respondido em 18/04/2020 07:43:55
Explicação: Um grafo é um tipo de dados abstrato não linear
  1a Questão
Podemos dizer que estrutura de dados é:
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada.
  O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
Respondido em 18/04/2020 07:45:02
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732599927&cod_hist_prova=187205188&pag_voltar=otacka#
Gabarito
Coment.
 
  2a Questão
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimização do uso 
destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados, assim deve-se escolher a estrutura 
certa ou mais adequada para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem 
como requisitos principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.
Lista Encadeada
Pilha Encadeada
  Lista Sequencial
Fila Sequencial
Pilha Sequencial
Respondido em 18/04/2020 07:45:06
 
  3a Questão
Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é :
Fila.
  Grafo.
Vetor.
Lista.
Pilha.
Respondido em 18/04/2020 07:45:09
Explicação:
Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear.
Não lineares  : árvore e grafo.
 
 
  4a Questão
Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, 
destinando-se a algumas tarefasespecíficas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
É um modo de utilização de dados nos programas de computador.
São os nomes dados as variáveis na montagem de uma rotina.
  É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de
modo eficiente.
É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de 
modo eficiente.
É um modo de deleção de dados em um computador.
Respondido em 18/04/2020 07:45:13
Explicação:
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
Analisando cada item :
É um modo particular de armazenamento e organização de dados em um computador de modo que 
possam ser usados de modo eficiente.
Correta.
É um modo de distribuição e organização de dados em uma rede de computador de modo que 
possam ser usados de modo eficiente.
FAlso. Não há distribuição de dados ou organização de dados em uma rede via estrutura de dados.
É um modo de utilização de dados nos programas de computador.
FAlso. Não se diz como se utiliza dados.  Variáveis armazenam dados, por exemplo e em atribuições ou 
em expressões também utilizamos dados.
São os nomes dados as variáveis na montagem de uma rotina.
FAlso.  Nomes de variáveis são identificadores.
É um modo de deleção de dados em um computador.
Falso. Para "deletar" um dado não temos que usar estrutura de dados.
 
Gabarito
Coment.
 
  5a Questão
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, 
de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação de dados associados a estas estruturas.
Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:
As alternativas II e IV estão corretas.
As alternativas I e III estão corretas.
  As alternativas I e II estão corretas
As alternativas III e IV estão corretas.
Todas as alternativas estão corretas.
Respondido em 18/04/2020 07:45:18
 
  6a Questão
O que é estrutura de dados?
É uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica
ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita.
É uma forma determinada de armazenamento de dados em um banco de dados.
  É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732601259&cod_hist_prova=187205244&pag_voltar=otacka#
eficientemente.
É um conjunto de técnicas de programação.
É um conjunto de comandos para uma tarefa específica referenciada por um nome no algoritmo principal, retornando um 
determinado valor no seu próprio nome.
Respondido em 18/04/2020 07:45:22
Explicação:
Estrutura de dados não é banco de dados . Estrutura de dados não é Tipo de dados.
Estrutura de dados não é ¿ É um conjunto de comandos para uma tarefa específica referenciada por um 
nome no algoritmo principal, retornando um determinado valor no seu próprio nome¿ que no caso, fala de função.
 
Estrutura de dados não é ¿ É uma sequência finita de instruções bem definidas e não ambíguas, cada uma 
das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade
de esforço finita.¿    Esta definição é de algoritmo.
 
Portanto, Estrutura de Dados é ¿ É um modo particular de armazenamento e organização de dados em um
computador de modo que possam ser usados eficientemente.¿
 
Na Aula 1 do conteúdo online há elementos para tal questão.
 
  7a Questão
Para organizar as fotos de minha família com os ancestrais de várias gerações, minha filha usou uma 
estrutura de dados que é .....  Assinale a opção certa.
pilha
grafo
lista
  árvore
fila
Respondido em 18/04/2020 07:45:14
Explicação:
Conforme gabarito e aula 1.
 
  8a Questão
A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:
cout << v[ultimo];
  cout << v[n-1];
cout << v[n+1];
cout << v[n];
cin >> v[-1];
1a Questão
           Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada 
para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma.
         Fila
Grafo
Árvore
          Pilha
  Lista
Respondido em 18/04/2020 07:46:50
 
  2a Questão
Leia com atenção as afirmativas abaixo e assinale a resposta correta.
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore.
II A estrutura de dados FILA é não linear assim como o Grafo.
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0,
IV O grau de uma árvore é definido pelo número de subárvores de um nó.
V O grafo é uma estrutura de dados que tem limitação para o número de vértices.
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.
I, II, III e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
II, IV, V e VI são afirmativas verdadeiras
  I, III, IV e VI são afirmativas verdadeiras
II, IV e V são afirmativas verdadeiras
Respondido em 18/04/2020 07:46:55
Gabarito
Coment.
 
  3a Questão
Estão entre algumas das possíveis formas de estruturas de dados:
cout, Funções, vetores
  Árvores binárias, pilhas, vetores
Grafos, funções, fila
Listas, vetores, cin
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
Árvores binárias, pilhas, algoritmos
Respondido em 18/04/2020 07:47:07
Explicação:
Árvores binárias, pilhas, vetores
Verdadeiro.  
Grafos, funções, fila
Falso.  Funções não são estruturas de dados. Funções são módulos dos programas.
Árvores binárias, pilhas, algoritmos
FAlso. Algoritmos não são estrutura de dados.
Listas, vetores, cin
Falso.  cin não é estrutura de dados.  É usado para fazer entrada de dados.
cout, Funções, vetores
Falso.  Funções e cout não são estrutura de dados.
 
  4a Questão
As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na
memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas
estruturas. Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foramarmazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram  armazenados.
Marque a alternativa CORRETA:
As alternativas II e IV estão corretas.
  As alternativas I e II estão corretas
As alternativas I e III estão corretas.
Todas as alternativas estão corretas.
As alternativas III e IV estão corretas.
Respondido em 18/04/2020 07:47:16
Gabarito
Coment.
 
  5a Questão
Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que 
representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
Após a impressão dos valores pela ordem teremos uma fila e um grafo.
  Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
Após a impressão dos valores pela ordem teremos duas pilhas.
Após a impressão dos valores pela ordem teremos duas filas.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Respondido em 18/04/2020 07:47:25
 
  6a Questão
Preciso fazer uma relação de tudo o que levar em minha viagem de mochila pela Europa.  A estrutura de 
dados mais adequada para armazenar tudo que preciso levar é ...
  lista
pilha
grafo
árvore
fila
Respondido em 18/04/2020 07:47:27
Explicação:
Conforme gabarito e aula 1.
 
  7a Questão
Estão entre algumas das possíveis formas de se estruturar dados:
Lista encadeada, vetores, algoritmos.
Algoritmos, lista ordenada, vetores.
Grafos, algoritmos, fila.
  Grafos, lista ordenada, vetores.
Grafos, lista ordenada, algoritmos.
Respondido em 18/04/2020 07:47:20
Explicação:
FAlso.  Algoritmos não são estrutura de dados Grafos, algoritmos, fila.
.
FAlso.  Algoritmos não são estrutura de dados. Grafos, lista ordenada, algoritmos.
 
Correto. Grafos, lista ordenada, vetores.
 
FAlso.  Algoritmos não são estrutura de dados. Algoritmos, lista ordenada, vetores.
 
FAlso.  Algoritmos não são estrutura de dados.
Lista encadeada, vetores, algoritmos.
Gabarito
Coment.
 
  8a Questão
É um exemplo de TAD Não Linear:
Listas
  Grafos
Filas
Pilhas
Filas de Prioridade
Respondido em 18/04/2020 07:47:36
Explicação: Um grafo é um tipo de dados abstrato não linear
  1a Questão
Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a técnica da 
modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica tem como principal 
elemento:
As Filas
Os Grafos
  As funções
Os Vetores
As Estruturas de Dados
Respondido em 18/04/2020 07:49:50
 
  2a 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 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732602389&cod_hist_prova=187205301&pag_voltar=otacka#
executado? int main() { int n = 3; n = n + 2; dobro(n); cout << n; return 0; }
20
0
  5
3
10
Respondido em 18/04/2020 07:49:54
Explicação:
A função não retorna valor, então o valor de "n" não é alterado permanecendo igual a 5.
 
  3a Questão
Considere os trechos abaixo:
int valor = 100;
void eureka (int &z)   {
    int temp = 25;
     z--;
     temp = temp - 10;
     valor = valor - temp;
     cout << "Auxiliar = " << temp << endl;
}
int main()  {
     int R = 1000;
     eureka(R);
     cout << "Result = " <<  R << "  Valor  = " << valor << endl;
}
Assinale a opção correta.
  Será impresso
Auxiliar = 15
Result = 999  Valor = 85
sendo que z é um  parâmetro passado por referência
 
 
Será impresso
Auxiliar = 15
Result = 999  Valor = 85
sendo que z é um  parâmetro passado por valor
 
 
Será impresso
Auxiliar = 15
Result = 1000 Valor = 85
sendo que z é um parâmetro passado por referência
Será impresso
Auxiliar = 15
Result = 1000  Valor = 85
sendo que z é um  parâmetro passado por valor
 
 
Será impresso
Auxiliar = 15
Result = 1000  Valor = 100
sendo que z é um  parâmetro passado por referência
 
 
Respondido em 18/04/2020 07:49:58
Explicação:
Questão objetiva. Só é possível ser marcada a opção indicada no gabarito.
Vejamos a análise passo a passo do trecho de código....
int valor = 100;
void eureka (int &z)   {
    int temp = 25;
     z--;
     temp = temp - 10;
     valor = valor - temp;
     cout << "Auxiliar = " << temp << endl;
}
int main()  {
     int R = 1000;
     eureka(R);
     cout << "Result = " <<  R << "  Valor  = " << valor << endl;
}
Passo a passo ....
Temos que valor recebeu 100 e valor é uma variável global.
Começando a execução pela main, temos que eureka é chamada e o valor 1000 é passado.
Iniciando a execução de eureka temos que :
    temp (local à eureka) recebe o valor 25, depois o valor 1000 passado é decrementado para 999, temp recebe 15, valor recebe 100-
15, que dá 85. Daí, o valor de temp é impresso, sendo mostrado na tela :     Auxiliar = 15.  DAí, a função termina e volta-se para a 
main.  Lá na main, após a chamada da eureka, temos a seguinte impressão :
    Result = 999   Valor = 85
Note que para R valer 999 só foi possível porque z é um parâmetro passado por referência.
 
  4a Questão
O que será mostrado na tela pelo programa abaixo ? 
#include < iostream >
using namespace std;
int a,b;
void dobro(int x){    //x passado por valor
 x=2*x;
}
int triplo(int y){   //y passado por valor
 return 3*y;
}
void altera(int x, int &y)  {   //x passado por valor e  y passado por referencia
 x=x+a;
 y=x+b;
}   
 
int main (){
 a=2;
 b=3;
 dobro(a);
 b=triplo(b);
 altera(a,b);
 cout<< a << " e " << b << endl;
}
 
9 e 16
2 e 9
  2 e 13
4 e 12
4 e 9
Respondido em 18/04/2020 07:50:04
Explicação:
Executando o programa, passo a passo, temos :
Na main, a recebe 2 e b recebe 3.  Note que a e b são variáveis globais.
Daí, ainda na main, a função dobro é chamada. Ao executar dobro, temos que o valor 2 é passado e x (local à dobro) recebe 2 * 2, que 
dá 4.
Ao terminar a função dobro, volta-se para a main, mas o valor de a passado não mudou, continuando 2.
Após a execução de dobro, a função triplo é chamada na main e é passado o valor de b,  que é  3.  Iniciando a execução da função 
triplo, temos que y recebe 3 e a função retorna 3 * 3, que é 9. Voltando para a main, temos que b recebe o valor retornado pela função,
que é 9.
Até este ponto, temos que a vale 2 e b mudou para 9.
Em seguida, a função altera é chamada e são passados 2 e 9, respectivamente, para x e y.  Executando a função altera, temos que x 
recebe 2+2, que dá 4 e y recebe 4+9, que dá 13.  Como x é passado por valor e y por referência, temos que a mudará e b mudará 
(ambas na main).
Então, voltando para main temos que a vale 2 e que b vale 13. Assim, será impresso na tela
           2  e   13
 
  5a Questão
Considere a função a seguir e a chamada da mesma efetuada no programa principal abaixo. Indique a opção que contem o que será 
impresso.
int executar (int x, int &y) {
    x = y * 2;
    y = ++x;
    return x + y;
}
int main () {
int a=2, b=2, c=2;
c = executar (a, b);
cout << a << ", " << b << ", " << c;
}
4, 5, 9
2, 2, 9
3, 5, 8
  2, 5, 10
3, 2, 8
Respondido em 18/04/2020 07:50:12
Explicação:
Fazendo um teste de mesa, temos o seguinte: 
A execução começa pela main. 
As variáveis a, b e c são iniciadas com 2.
Chama-se a função executar e são passados os valores de a e b, ou seja, 2 e 2.
Ao iniciar a execução da função executar temos que x é passado por valor e y por referência. Iniciando a função temos :
Em x = y * 2; Daí : x recebe 2 * 2, que dá 4
Em y = ++x; Daí : x é incrementado para 5 e depois y recebe 5.
Então, a soma de x + y é retornado. Ou seja, 10 é retornado.
Mas como y é passado por referência, a variável b na chamada da função foi alterada para 5. Nada, no entanto, ocorreu 
com a na chamada da função, pois x foi passado por valor.
Ao voltar para main, será impresso 2, 5, 10
Portanto, qualquer outra opção é totalmente inviável.
 
 
 
  6a Questão
Considere a função abaixo:
void func (int a, int &b) {
    a++;
    b = a*2;
}
e o seguinte trecho de código na função  main :
int x=2, y=3;
func (x,y);
func (y,x);
cout << x << "  ;  " << y;
Após a execução do cout o que será impresso  ? 
2; 6
  14; 6
2; 12
4; 12
6; 14
Respondido em 18/04/2020 07:50:17
Explicação:
  Fazendo um teste de mesa, chegaremos na opção correta.  
Iniciando a execução pela main, temos que x recebe 2 e y 
recebe 3.  
Em seguida, na 1ª. chamada de func,  os valores de x e de y, 
respectivamente, 2 e 3, são passados para a função.
Executando a função func, que possui o parâmetro a  passado 
por valor e o parâmetro b passado por referência (usa &) ...
void func (int a, int &b) {
a++;
b = a*2;
}
Temos que a recebeu 2 e b recebeu 3. Daí, a ficará 3 e b 
receberá 6.  
Assim, ao terminar a função func e retornarmos para a main 
teremos x sem alteração igual a 2 e y com alteração igual a 6.
Após voltarmos para a main, temos uma nova chamada de func
que recebe os valores de y e de x, respectivamente, que são 6 
e 2.  Na 2ª. chamada de func para esses valores, teremos que 
a recebe 6 e y recebe 2.  Dentro da função, temos que a é 
incrementado para 7 e que b recebe 7 * 2 que dá 14. Ao 
terminarmos a execução da função, temos que y não sofreu 
mudança, ficando com o valor 6  e que x mudou para 14.  Logo,
será impresso 14;6
Logo, as demais opções são incorretas.
 
 
  7a Questão
Considere a função abaixo:
int func (int a, int& b){
   a = b - a;
   b = a * 2;
   a = b * 2;
   return a;
}
Considere o seguinte código na função main:
    int x = 2, y = 3, z;
    z = func (x, y);
    cout << x << "; " << y << "; " << z;
O que será impresso?
4; 2; 4
  2; 2; 4
2; 2; 1
1; 2; 4
1; 3; 1
Respondido em 18/04/2020 07:50:24
Explicação:
a recebeu o valor de x que era 2
b recebeu 3, a partir de y, que foi passado por referência.
Executando a função, passo a passo, tem-se :
a recebeu 1
b recebeu  2
a recebeu um novo valor, que é  4.
Daí a função retorna o valor de a, que é 4.  
Voltando para a main temos que z recebeu o retorno da função que é 4, x não se alterou, valendo 2 e y recebeu 4, devido a alteração na
função no parâmetro b, passado por referência.
  Daí, na tela será impresso :  2; 2; 4
 
  8a Questão
Considere o trecho de um programa escrito em C++.
void func1 (bool x, int ini, int fim) {
    for ( int y=ini; y != fim ; y++) {
        x = !x;
        if (x)
            cout << y << endl;
        else
            cout << -y << endl;
    }
}
int main() {
    func1(false, 1, 7);
}
Marque a opção correta que mostra o que é impresso na tela.
1, 2, 3, 4, 5, 6
1, -2, -3, -4, -5, -6
  1, -2, 3, -4, 5, -6
-1, 2, -3, 4, -5, 6
-1, -2, -3, -4, -5, -6
Respondido em 18/04/2020 07:50:31
Explicação:
Fazendo um teste de mesa temos que será impresso a seguinte sequência :  1   -2   3  -4   5  -6, um embaixo do outro.
Parte de um teste de mesa :
 
x ini fim y
false 1 7 1
true     2
false      
E continua x, ini, fim e y recebendo valores
Tela :
1
-2
3
-4
5
-6
  1a Questão
Para compararmos vetores de char, usaremos a função _____________________ . Para copiarmos o conteúdo de um vetor de char nas 
posições ocupadas por outro vetor de char, usaremos a função ______________________ .
strcmp(); e strcat();
  strcmp(); e strcpy();
strcmp(); e strlen() ;
strcmp(); e strcmpi ();
strcat(); e strcpy() ;
Respondido em 18/04/2020 07:50:44
Explicação:
Nâo há outra possíbilidade de resposta.  Em cstring estão declaradas as funções da opção correta, que fazem exatamente o que foi 
mencionado no enunciado.
Ainda a saber :   strcat concatena e strlen conta o número de caracteres
 
  2a Questão
No programa abaixo, diga em que área de memória serão alocados os elementos de dados y e r, respectivamente.
#include
using namespace std;
int x, y;
float media( float a, float b )
{ float tmp;
tmp = (a + b ) / 2.0;
return ( tmp );
}
int main()
{
float r;
cout<<"Informe 2 valores: ";
cin>>x>> y;
r = media( x, y );
cout<<"\nMedia = "<< r<<"\n";
system ("pause");
}
  ( ) área de dados globais / área de pilha
( ) área de registro / área de dados globais
( ) área de pilha / área de registro
( ) área de registro / área de pilha
( ) área de dados globais / área de registro
Respondido em 18/04/2020 07:50:47
Explicação:
Como y e r são variáveis, ficarão armazenadas em  na área de dados globais / área de pilha
 
  3a Questão
Ao definirmos uma função, podemos afirmar:
I Toda função tem parâmetros
II Quando nada retorna, o tipo é void
III Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes
dos parâmetros por vírgulas
IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada
Após uma análise das afirmativas acima, escolha a opção correta.
Somente I e II estão corretas
  Somente II está correta
Somente II e IV estão corretas
Somente II III e IV estão corretas
Somente II e III estão corretas
Respondido em 18/04/2020 07:50:52
Gabarito
Coment.
 
  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);
  int func (int a, int &b);
int func (int &a, int b);
void func (int &a, int &b);
void func (int a, int &b);
Respondido em 18/04/2020 07:50:58
Gabarito
Coment.
 
  5a 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;
15 e 25
0 e 5
  25 e 15
15 e 15
25 e 25
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604253&cod_hist_prova=187205418&pag_voltar=otacka#
Respondido em 18/04/2020 07:51:03
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
 
  6a Questão
Sobre funções, é correto afirmar:
Não devem conter variáveis locais em seu código.
Obrigatoriamente devem possuir parâmetros.
Obrigatoriamente devem retornam algum valor.
  São blocos de instruções que são executados quando são chamadas em alguma parte do programa.Não podem ser chamadas dentro de outras funções.
Respondido em 18/04/2020 07:51:07
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.
 
  7a Questão
Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da 
modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de 
modularização, tem como principal elemento:
As Estruturas de Dados
As Filas
  As funções
Os Vetores
Os Grafos
Respondido em 18/04/2020 07:51:11
 
  8a Questão
Considere o trecho de um programa escrito em C++ : 
long func1 (int n1) {
   int ft=1, i = 1;
   while ( i <= n1) {
         ft *= i;
         i++;
   }
   return ft;
}
main() {
    cout << func1 (5);
}
Marque a opção correta que mostra o que é impresso na tela.
1
24
5
  120
60
Respondido em 18/04/2020 07:51:03
Explicação:
Acompanhando passo a passo :
long func1 (int n1) {
   int ft=1, i = 1;
   while ( i <= n1) {
         ft *= i;
         i++;
   }
   return ft;
}
main() {
    cout << func1 (5);
}
Passo a passo :
1) Começando a execução pela main ... func1 é chamada e é passado o valor 5.
2) Entrando na função, temos que n1 recebeu 5, i recebeu 1  e ft recebeu 1.
3) Ainda na função func1 ...   teste do loop ... 1 <= 5 ? Sim.
    Então, ft recebe 1*1, que dá 1 e i passa a valer 2.  Acompanhar na tabela desde o início da execução de func1
ft i i <= n1
1 1 1 <= 5 / Sim
1 2 2 <= 5 ? Sim
2 3 3 <= 5 ? sim
6 4 4 <= 5 ? Sim
24 5  5 <= 5 ? Sim
120 6 6 <= 5 ? FAlso
SErá retornado o valor de ft que é 120.  Volta-se então para a main e o valor 120 é impresso.
  1a Questão
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:
Apenas III
  Nenhuma está correta
Apenas II
Apenas I e II
Apenas I
Respondido em 18/04/2020 07:51:37
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.
Portanto, não opção correta.
 
  2a Questã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; }
18 e 28
18 e 18
  28 e 18
08 e 18
28 e 08
Respondido em 18/04/2020 07:51:45
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
18 28 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 misterio(...) 
que recebeu por passagem por referência.
 
  3a Questão
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.
  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 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".
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.
Respondido em 18/04/2020 07:51:48
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.
 
  4a 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: 31 01
Valores: 10 13
Valores: 13 10
  Valores: 13 13
Respondido em 18/04/2020 07:51:54
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 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.
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
Logo, será impresso : Valores:  13 13
 
  5a Questão
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.
30
50
40
20
  60
Respondido em 18/04/2020 07:51:58
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];     
    }
    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.
 
  6a Questão
 
O programa executa perfeitamente, mas não mostrao valor da media já que 
esta função não foi chamada na função main( ).
O programa não executa corretamente, pois o protótipo da função media( ) não 
apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
O programa não executa corretamente, pois os protótipos estão fora da ordem 
em que as funções são descritas.
  O programa executa perfeitamente independente da ordem das funções já que 
existem os seus protótipos.
O programa não executa corretamente pois as funções devem ser descritas 
antes da função main(), para que o compilador consiga reconhecê-las.
Respondido em 18/04/2020 07:51:54
Gabarito
Coment.
 
  7a Questão
#include  < iostream  >
 using namespace std;
void SOMA(float a, int b)  {
  float result  =  a+b;
  cout << "A soma de " << a << " com " << b << " é: " << result;
}
int main()
{
int a;
float b;
a = 10; b = 12.3;
SOMA(b,a);
}
A função SOMA acima possui as seguintes características :
Retorna valor.
Retorna valor e não  possui parâmetros.
Retorna valor e possui parâmetros.
Não retorna valor e não   possui parâmetros.
  Não retorna valor e possui parâmetros.
Respondido em 18/04/2020 07:52:14
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732604763&cod_hist_prova=187205439&pag_voltar=otacka#
Explicação:
A função
void SOMA(float a, int b)  {
  float result  =  a+b;
  cout << "A soma de " << a << " com " << b << " é: " << result;
}
tem o tipo de retorno void, o que significa que nenhum valor é retornado. Além disso, a função possui 2 parâmetros, que são a e b.
Logo, a resposta certa é  Não retorna valor e possui parâmetros.
 
  8a 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;
B = 30;
FUNC2();
cout << "Valor de B: " << B;
}
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: -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: -400 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:
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 18/04/2020 07:52:20
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
  1a Questão
Qual das seguintes estruturas de dados é classificada como heterogênea?
Pilha
Vetor
Fila
  Registro
Loop
Respondido em 18/04/2020 07:57:36
Explicação:
Registro permite agregar dados de tipos diferentes.
Vetor permite agregar dados do mesmo tipo.
Pilha e fila implementadas com vetor ou lista encadeada.
Loop : termo genérico para repetições.
Gabarito
Coment.
 
  2a Questão
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
  Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Respondido em 18/04/2020 07:57:40
Explicação:
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
Só pode ocorrer, no entanto, se a lista não estiver cheia.
 
  3a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e
associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
Respondido em 18/04/2020 07:57:44
 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607353&cod_hist_prova=187205613&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607353&cod_hist_prova=187205613&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607353&cod_hist_prova=187205613&pag_voltar=otacka#
  4a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados 
por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura 
como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; 
Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor.
aluno[10]=6.0;
aluno[3].media=6.0;
aluno[3].10=6.0;
  vet[3].media=6.0;
vet[3].aluno=6.0;
Respondido em 18/04/2020 07:57:48
 
  5a Questão
Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se
dá pelo operador :
  ∙ (ponto).
-> (seta).
* (asterisco).
, (vírgula).
& (e comercial ou eitza).
Respondido em 18/04/2020 07:57:53
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).
 
 
  6a Questão
Marque a opção correta, considerando
struct Livro {
int codigo;
float preco;
} liv;
Livro->liv.codigo = 12345;
Livro.codigo = 12345;
Livro.liv.codigo = 12345;
liv->preco = 30.70;
  liv.preco = 30.70;
Respondido em 18/04/2020 07:57:58
 
  7a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados 
por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
struct aluno {
string nome;float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
vet[10]=aluno.5.7;
  vet[10].nota=5.7;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
Respondido em 18/04/2020 07:58:02
 
  8a Questão
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de itens de 
conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa que apresenta o 
código do método de seleção.
  void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
    for (i = j+1; i < n; i++) {
         if (v[i] < v[j]) {
             aux = v[j];
             v[j] = v[i];
             v[i] = aux;
        }
    }
}
}
int ordena(float v[], float valor, int n) { 
     int ini = 0, fim = n -1, meio;
    while (ini <= fim){
        meio = (ini + fim)/2;
        if (v[meio] == valor)
              return meio;
        if (valor < v[meio])
             fim = meio -1;
        else
             ini = meio+1;
    }
    return -1;
}
int ordena(float v[], float valor, int n){
   for (int i = 0; i < n; i++)
     if (v[i] == valor)
       return i;
   return -1;
}
int ordena(float v[], float valor, int n) {
 int ini = 0, fim = n-1, meio;
   while (ini >= fim){
     meio = ini/2;
     if (v[meio] == valor)
       return meio; 
     if (valor < v[meio])
       fim = meio -1;
     else
       ini = meio+1;
}
void ordena (int v[], int n){
       int i, j, aux;
       for (j = 1; j < n; j++)
           for (i=j; i > 0 && v[i-1]> v[i]; i--){
              aux = v[i-1];
              v[i-1] = v[i];
              v[i] = aux; 
            }
}
Respondido em 18/04/2020 07:58:04
Explicação:
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor
do vetor e colocamos ele em vetor.
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até termos todo o vetor 
ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o substitue 
pelo elemento i atual.
É o que está ocorrendo na primeira opção!
  1a Questão
Qual das seguintes estruturas de dados é classificada como heterogênea?
Fila
Loop
  Registro
Pilha
Vetor
Respondido em 18/04/2020 07:58:18
Explicação:
Registro permite agregar dados de tipos diferentes.
Vetor permite agregar dados do mesmo tipo.
Pilha e fila implementadas com vetor ou lista encadeada.
Loop : termo genérico para repetições.
Gabarito
Coment.
 
  2a Questão
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
  Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Respondido em 18/04/2020 07:58:31
Explicação:
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
Só pode ocorrer, no entanto, se a lista não estiver cheia.
 
  3a Questão
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de itens de 
conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa que apresenta o 
código do método de seleção.
int ordena(float v[], float valor, int n) {
 int ini = 0, fim = n-1, meio;
   while (ini >= fim){
     meio = ini/2;
     if (v[meio] == valor)
       return meio; 
     if (valor < v[meio])
       fim = meio -1;
     else
       ini = meio+1;
}
  void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
    for (i = j+1; i < n; i++) {
         if (v[i] < v[j]) {
             aux = v[j];
             v[j] = v[i];
             v[i] = aux;
        }
    }
}
}
int ordena(float v[], float valor, int n){
   for (int i = 0; i < n; i++)
     if (v[i] == valor)
       return i;
   return -1;
}
int ordena(float v[], float valor, int n) { 
     int ini = 0, fim = n -1, meio;
    while (ini <= fim){
        meio = (ini + fim)/2;
        if (v[meio] == valor)
              return meio;
        if (valor < v[meio])
             fim = meio -1;
        else
             ini = meio+1;
    }
    return -1;
}
void ordena (int v[], int n){
       int i, j, aux;
       for (j = 1; j < n; j++)
           for (i=j; i > 0 && v[i-1]> v[i]; i--){
              aux = v[i-1];
              v[i-1] = v[i];
              v[i] = aux; 
            }
}
Respondido em 18/04/2020 07:58:28
Explicação:
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor
do vetor e colocamos ele em vetor.
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até termos todo o vetor 
ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o substitue 
pelo elemento i atual.
É o que está ocorrendo na primeira opção!
Gabarito
Coment.
 
  4a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e
associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
aluno.vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
  vet[10].nota=5.7;
Respondido em 18/04/2020 07:59:40
 
  5a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados 
por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
aluno.vet[10].nota=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10]=aluno.5.7;
aluno.vet[10]=5.7;
Respondido em 18/04/2020 07:59:45
 
  6a Questão
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732607817&cod_hist_prova=187205644&pag_voltar=otacka#
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob umalógica e associados 
por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura 
como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; 
Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor.
aluno[10]=6.0;
aluno[3].media=6.0;
vet[3].aluno=6.0;
aluno[3].10=6.0;
  vet[3].media=6.0;
Respondido em 18/04/2020 07:59:49
 
  7a Questão
Marque a opção correta, considerando
struct Livro {
int codigo;
float preco;
} liv;
Livro.liv.codigo = 12345;
liv->preco = 30.70;
  liv.preco = 30.70;
Livro->liv.codigo = 12345;
Livro.codigo = 12345;
Respondido em 18/04/2020 07:59:42
 
  8a Questão
Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se
dá pelo operador :
, (vírgula).
  ∙ (ponto).
-> (seta).
* (asterisco).
& (e comercial ou eitza).
Respondido em 18/04/2020 07:59:57
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).
1a Questão
Qual das seguintes estruturas de dados é classificada como heterogênea?
Loop
Vetor
Pilha
Fila
  Registro
Respondido em 18/04/2020 08:00:02
Explicação:
Registro permite agregar dados de tipos diferentes.
Vetor permite agregar dados do mesmo tipo.
Pilha e fila implementadas com vetor ou lista encadeada.
Loop : termo genérico para repetições.
Gabarito
Coment.
 
  2a Questão
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
  Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Respondido em 18/04/2020 08:00:17
Explicação:
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
Só pode ocorrer, no entanto, se a lista não estiver cheia.
 
  3a Questão
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação posterior de itens de 
conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque corretamente a alternativa que apresenta o 
código do método de seleção.
int ordena(float v[], float valor, int n){
   for (int i = 0; i < n; i++)
     if (v[i] == valor)
       return i;
   return -1;
}
void ordena (int v[], int n){
       int i, j, aux;
       for (j = 1; j < n; j++)
           for (i=j; i > 0 && v[i-1]> v[i]; i--){
              aux = v[i-1];
              v[i-1] = v[i];
              v[i] = aux; 
            }
}
  void ordena(int v[], int n){
int i, j, menor, aux;
for (j = 0; j < n-1; j++) {
    for (i = j+1; i < n; i++) {
         if (v[i] < v[j]) {
             aux = v[j];
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
             v[j] = v[i];
             v[i] = aux;
        }
    }
}
}
int ordena(float v[], float valor, int n) {
 int ini = 0, fim = n-1, meio;
   while (ini >= fim){
     meio = ini/2;
     if (v[meio] == valor)
       return meio; 
     if (valor < v[meio])
       fim = meio -1;
     else
       ini = meio+1;
}
int ordena(float v[], float valor, int n) { 
     int ini = 0, fim = n -1, meio;
    while (ini <= fim){
        meio = (ini + fim)/2;
        if (v[meio] == valor)
              return meio;
        if (valor < v[meio])
             fim = meio -1;
        else
             ini = meio+1;
    }
    return -1;
}
Respondido em 18/04/2020 08:00:24
Explicação:
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor
do vetor e colocamos ele em vetor.
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até termos todo o vetor 
ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o substitue 
pelo elemento i atual.
É o que está ocorrendo na primeira opção!
Gabarito
Coment.
 
  4a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e
associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
aluno.vet[10].nota=5.7;
  vet[10].nota=5.7;
aluno.vet[10]=5.7;
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732609248&cod_hist_prova=187205725&pag_voltar=otacka#
vet[10].aluno.nota=5.7 ;
vet[10]=aluno.5.7;
Respondido em 18/04/2020 08:00:30
 
  5a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados 
por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
struct aluno {
string nome;
float nota;
};
Suponha ainda que exista um vetor desta estrutura, definido como:
aluno vet [100];
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo primeiro elemento deste vetor.
aluno.vet[10]=5.7;
  vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
vet[10]=aluno.5.7;
aluno.vet[10].nota=5.7;
Respondido em 18/04/2020 08:01:06
 
  6a Questão
Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados 
por um nome. Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura 
como: struct aluno { string nome; float media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; 
Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor.
aluno[3].10=6.0;
aluno[10]=6.0;
vet[3].aluno=6.0;
  vet[3].media=6.0;
aluno[3].media=6.0;
Respondido em 18/04/2020 08:01:10
 
  7a Questão
Marque a opção correta, considerando
struct Livro {
int codigo;
float preco;
} liv;
Livro.codigo = 12345;
Livro->liv.codigo = 12345;
Livro.liv.codigo = 12345;
  liv.preco = 30.70;
liv->preco = 30.70;
Respondido em 18/04/2020 08:01:14
 
  8a Questão
Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se
dá pelo operador :
& (e comercial ou eitza).
, (vírgula).
* (asterisco).
  ∙ (ponto).
-> (seta).
Respondido em 18/04/2020 08:01:19
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).
  1a Questão
Qual papel do for mais internona função ordena abaixo ?
void ordena( int n, int v[])
{
   int i, j, x;
   for (j = 1; j < n; ++j) {
      x = v[j];
      for (i = j-1; i >= 0 && v[i] > x; --i)
         v[i+1] = v[i];
      v[i+1] = x;
   }
}
Encontrar o elmento a ser eliminado do vetor
Encontrar o valor de v[j] deve em v[0..j-1].
Encontrar o maior valor de x que deve ser inserido em v[0..j-1].
Encontrar o menor valor v[j] que deve ser inserido em v[0..j-1].
  Encontrar o ponto onde v[j] deve ser inserido em v[0..j-1].
Respondido em 18/04/2020 08:02:42
Gabarito
Coment.
 
  2a Questão
O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de ordenação. Existem várias 
técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos os elementos do vetor e troca-o pelo primeiro 
elemento; para os n - 1 elementos restantes, determinação do elemento de menor valor e troca pelo segundo elemento e assim 
sucessivamente, é chamado de:
  Seleção
Binária
Inserção
Hash
Bolha
Respondido em 18/04/2020 08:02:58
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
Gabarito
Coment.
 
  3a Questão
Para consultarmos uma estrutura de dados, normalmente, empregamos um tipo de pesquisa de dados. O trecho de programa a seguir 
refere-se a uma pesquisa por um elemento único (sua primeira ocorrência), em um conjunto de elementos de dados armazenado em 
uma estrutura de acesso indexado e aleatório. Selecione a opção correspondente ao algoritmo utilizado, no programa, para a referida 
pesquisa:
int busca(float v[], float valor, int n) {
int ini = 0, fim = n -1, meio;
while (ini <= fim) {
meio = (ini + fim)/2;
if (v[meio] == valor)  return meio;
if (valor < v[meio]) fim = meio -1;
  else ini = meio+1;
}
return -1;
}
pesquisa indexada
pesquisa de cadeias
  pesquisa binária
pesquisa cadeias indexada
pesquisa sequencial
Respondido em 18/04/2020 08:02:52
Gabarito
Coment.
 
  4a Questão
Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais".
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
  É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no 
meio ou, antes do meio ou depois do meio.
Respondido em 18/04/2020 08:03:09
Gabarito
Coment.
 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
  5a Questão
Marque a afirmativa correta para a "inserção incremental".
  Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
Os pivôs são escolhidos aleatoriamente.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
É um tipo de ordenação por intercalação
É um tipo de sequenciação por intercalação.
Respondido em 18/04/2020 08:02:59
Gabarito
Coment.
 
  6a Questão
Caso seja empregada uma busca binária em uma lista sequencial ordenada com 2048 valores, qual seria o número máximo de 
comparações para encontrar um valor que esteja na lista?
12
  11
10
9
8
Respondido em 18/04/2020 08:03:16
Explicação:
Como a busca binária sai continuamente dividindo o conjunto de dados ao meio (em duas partes), então vamos fatorar e organizar o 
resultado como potência de base 2.
 Fatorando 2048 temos 2 11
 
Portanto, a resposta é 11.
 
  7a Questão
"Algoritmo de ordenação por trocas  que varre um vetor um certo número de vezes, comparando os elementos vizinhos dois a dois. A 
cada varredura, se o par de elementos está em ordem crescente, nada é feito, caso contrário os elementos do par são permutados". 
Esta definição está descrevendo o algoritmo de ordenação conhecido por :
InsertionSort
QuickSort
  BubbleSort
MergeSort
SelectionSort
Respondido em 18/04/2020 08:03:09
Explicação:
Das opções apresentadas, as únicas que são ordenações por troca são Bubblesort e 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732610496&cod_hist_prova=187205819&pag_voltar=otacka#
Quicksort.
Dessas  duas ordenações, a única que trabalha com duplas de elementos  vizinhos é 
o Bubblesort. O Quicksort, que está fora do escopo da disciplina, trabalha com pivô.
 
  8a Questão
Sabendo-se que o método de seleção também é um método de ordenação que baseia seu algoritmo em trocas entre os elementos de 
um vetor, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem : 13, 23, 3, 8, 1. Pode-se 
dizer que quando o menor elemento do vetor alcançar sua posição final, a ordenação apresentada no vetor é:
1,23,13,8,3
1,3,23,8,13
1,13,23,8,3
  1,23,3,8,13
1,8,3,23,13
  1a Questão
Em relação à classificação do método de ordenação, assinale abaixo aquele que, durante o processo de ordenação, só usa a memória 
principal:
Ordenação Eficiente
Ordenação Simples Externa
  Ordenação Interna
Ordenação Externa
Ordenação Simples
Respondido em 18/04/2020 08:03:38
Gabarito
Coment.
Gabarito
Coment.
Gabarito
Coment.
 
  2a Questão
Considere a seguinte função busca escrita em linguagem C++ :
bool busca(int vetor[ ], int n, int tam)
{
    int ini=0, mid;
    while (ini <= tam)
    {
         cout << " x ";
         mid = (ini + tam)/2;
         if (vetor[mid] == n)
             return true;
         else if (n > vetor[mid])
             ini = mid+1;
         else
             tam = mid-1;
    }
    return false;
}
Qual a quantidade total de impressões da letra x nas buscas pelos números n = 4, n = 2 e n = 0 no vetor [1,2,3,4,5,6,7,8], sendo tam 
= 7 ?
int vetor[] = {1,2,3,4,5,6,7,8};
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
busca(vetor, 4, 7);
busca(vetor, 2, 7);
busca(vetor, 0, 7);
8
4
  6
9
5
Respondido em 18/04/2020 08:03:30
Explicação:
Na 1a. execução da busca... para n = 4 temos impresso :  x
Na 2a. execução da busca ... para n = 2   temos impresso :  x    x
Na 3a. execução da busca ... para n = 0   temos impresso :  x   x   x 
Total de impressões da letra x :  6
 
  3a Questão
Em uma pesquisa sequencial a lista deve estar?
sempre desordenada.
desordenada somente da metade da lista até o final.
ordenada somente o primeiro da lista.
ordenada somente do início até a metade da lista.
  ordenada ou desordenada.
Respondido em 18/04/2020 08:04:45
Explicação:
A busca sequencial pode se usada para listas ordenadas ou não ordenadas, não havendo qualquer restrição a parte ou à  totalidade da 
lista na ordenação.  Já a busca binária só pode ser usada para listas ordenadas.
Gabarito
Coment.
 
  4a Questão
Estude atentamente o código a segir:
int deciframe(int v[ ], int tam, int e){
int i = 0, f = tam -1, m;
while ( i <= f ){
m = ( i + f ) / 2;
if ( v[m] == e ) { return m; }
if ( e < v[m] ) { f = m - 1; }
else { i = m + 1; }
}
return -1;
}
Sabendo que a chamada da mesma foi feita com os parâmetros:
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
v[10] = {0, 2, 4, 6, 8, 10, 20, 100}
tam = 8
e = -6
É sabido que a mesma retornaria o valor -1, porque:
É a posição do elemento e no vetor v
  Porque ele não achou o elemento na coleção
É o módulo do valor de e
Seria o retorno do while
Seria o retorno do segundo if
Respondido em 18/04/2020 08:04:49
Explicação:
     Veja que para retornar -1 o return m; não foi executado. E para o return m; não poder ser executado,  o teste   if ( v[m] == e )  foi 
sempre falso.  Logo, retornar -1 é o caso do elemento e = -6 não ser encontrado no vetor v.
 
 
  5a Questão
Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.
Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
  Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita.
Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita.
Respondido em 18/04/2020 08:04:55
Explicação:
Neste tipo de busca, o vetor deve estar ordenado.
Divide-se o conjunto de dados ao meio e procura-se no meio do vetor. Se achou, retorna a posição do dado do meio. SE não achou, 
verifica-se se o valor procurado vem antes do  valor do meio. Se for verdade,  redefine-se o fim do vetor, voltando a realizar a busca à 
esquerda do meio. Se o valor procurado vier depois do valor do meio do vetor, então redefine-se o início e segue-se para a busca na 
parte à direita do meio do vetor.
Gabarito
Coment.
 
  6a Questão
Qual a importância de se entender a "ordenação" de dados ?
A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter 
outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver 
outros problemas.
  A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver
outros problemas.
A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter 
outros problemas.
A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
outros problemas.
Respondido em 18/04/2020 08:05:15
Gabarito
Coment.
 
  7a Questão
Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária.
A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se 
aplica em vetores ordenados. Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da 
busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que 
procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes 
realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.
5 e 5
7 e 1
6 e 4
  6 e 2
6 e 1
Respondido em 18/04/2020 08:05:19
 
  8a Questão
Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de 
nome v com n elementos.
...
{
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--) {
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
...
Assinale o método ao qual o trecho de algoritmo pertence.
  Inserção
Heapsort
Seleção
Quicksort
Bolha
  1a Questão
Sabendo-se que o método de ordenção bolha ou bubble sort realiza a troca de elementos adjacentes até que todos os elementos de um 
vetor esteja ordenado. Então, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem : 4, 2, 
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
http://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3732611247&cod_hist_prova=187205847&pag_voltar=otacka#
5, 1.
Pode-se dizer que quando o maior elemento do vetor alcançar sua posição final, a ordenação apresentada no vetor é:
1,2,4,5
2,1,4,5
  2,4,1,5
4,1,2,5
1,4,2,5
Respondido em 18/04/2020 08:05:22
Gabarito
Coment.
 
  2a Questão
Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca em vetores e que 
exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões 
do espaço de busca comparando o elemento que se deseja com o elemento do meio do vetor, é chamado de:
Pesquisa sequêncial
  Pesquisa binária
Tabela Hash
Pesquisa ordenada
Pesquisa de seleção
Respondido em 18/04/2020 08:05:38
Explicação:
O enunciado descreve a busca binária.
A busca sequencial trabalha sequencialmente testando elemento a elemento.
Pesquisa de seleção ou ordenada não foram abordadas.
Tabela hash trabalha com função

Outros materiais