Baixe o app para aproveitar ainda mais
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
Compartilhar