Buscar

Estrtura 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 46 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 46 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 46 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

10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4
 
 
 
 ESTRUTURA DE DADOS 1a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A1_201903517011_V1 26/03/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é :
Vetor.
 Grafo.
Lista.
Fila.
Pilha.
Respondido em 26/03/2020 16:06:28
 
 
Explicação:
Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear.
Não lineares : árvore e grafo.
 
 
 
 2a 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 26/03/2020 16:52:27
Gabarito
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','1','','','');
javascript:abre_frame('3','1','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4
Coment.
 
 
 3a Questão
Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um
único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo
é alterado. 
 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores,
na passagem de parâmetros para as funções. 
 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado
quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou
retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. 
 V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in
first out).
 I, II e III.
II, IV e V.
I, III e V.
II, III, IV e V.
I, III, IV e V.
Respondido em 26/03/2020 17:03:08
Gabarito
 Coment.
 
 
 4a Questão
O que é estrutura de dados?
É 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.
É 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.
 É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados
eficientemente.
É um conjunto de técnicas de programação.
É uma forma determinada de armazenamento de dados em um banco de dados.
Respondido em 26/03/2020 17:11:14
 
 
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.
 
 
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4
 5a Questão
Analise as afirmativas abaixo e selecione a alternativa correta.
 
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade
Relacionamento e Redes de computadores. 
 
II Árvore e lista duplamente encadeada são estruturas não lineares. 
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final. 
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la.
 
V O uso de ponteiros é fundamental para construção de listas encadeadas.
I , II e IV são verdadeiras 
 II e V são verdadeiras 
 II E IV são verdadeiras 
 III e V são verdadeiras 
 I e V são verdadeiras 
 Respondido em 26/03/2020 17:13:43
Gabarito
 Coment.
 
 
 6a 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. 
II, IV, V e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
 I, III, IV e VI são afirmativas verdadeiras
II, IV e V são afirmativas verdadeiras
I, II, III e VI são afirmativas verdadeiras
Respondido em 26/03/2020 17:34:28
Gabarito
 Coment.
 
 
 7a Questão
Podemos dizer que estrutura de dados é:
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do
problema.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada.
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do
problema.
 O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
Respondido em 26/03/2020 17:41:55
Gabarito
 Coment.
 
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4
 
 8a Questão
Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-
diretórios. Qual a estrutura mais adequada para representar este problema ?
grafo
pilha
lista
 árvore
fila
Respondido em 26/03/2020 17:44:33
Gabarito
Coment.
javascript:abre_colabore('38403','183520481','3667361043');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/6
 
 
 
 ESTRUTURA DE DADOS 2a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A2_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a 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 valore 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;
}
 
 
2 e 9
4 e 12
4 e 9
 2 e 13
9 e 16
Respondido em 07/05/2020 18:31:15
 
 
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.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','2','','','');
javascript:abre_frame('3','2','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/6
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
 
 
 2a Questão
Informe qual deverá ser a saída do programa abaixo: 
 
#include 
void func(int *x) 
{ 
 do{ 
 cout << *x << " "; 
 (*x)--; 
 }while(*x>0); 
} 
 
main() 
{ 
 int x=5; 
 func(&x); 
 cout << x; 
 system("pause"); 
} 
5 4 3 2 1 6
5 4 3 2 1 5
5 3 4 2 1 0
5 3 4 2 1 4
 5 4 3 2 1 0
Respondido em 07/05/2020 18:31:29
 
 
 3a Questão
Assinale a opção certa.
 Quando não se escreve o protótipo de uma função ...
O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
 É preciso definir a função antes do programa principal.
A chamada da função poderá ser feita em qualquer hipótese.
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
Respondido em 07/05/2020 18:32:31
Gabarito
 Coment.
 
 
 4a Questão
1) O que será impresso pela função Eureka ? Assinale a opção correta.
 
void Eureka()
 {
 for (int i = 1; i <= 10; i++)
 if (i % 2 == 0)
 cout << i << " ";
 else
 if (i % 7 == 0)
 return;
 }
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/6
 
2 4 6 8
Nada é impresso, pois a função não compila. A função não deveria usar return, pois não está de acordo com o uso de void.
 2 4 6
2 4 6 8 10
Nada é impresso, pois a função não compila. Para a função compilar, deveria ter int no lugar de void, já que há return na função.
Respondido em 07/05/2020 18:33:56
 
 
 5a Questão
Nas linguagens C e C++, ao se declarar qualquer função, a especificação de tipo de dados que antecede o nome desta função
define
o tipo das variáveis que serão utilizadas dentro da função.
o protótipo da função.
o tipo dos dados dos parâmetros que são passados à função quando da sua chamada.
 o tipo do dado do valor retornado da função para quem a chamou.
o escopo das variáveis do programa.
Respondido em 07/05/2020 18:34:15
 
 
Explicação:
Por definição, antes do nome da função colocamos o tipo de dados retornado. Por exemplo, int, double, char ... Quando a função
nada retorna colocamos void.
 
 
 6a 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 07/05/2020 18:34:25
 
 
Explicação:
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/6
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
 
 
 
 
 
 7a Questão
Considere o trecho de um programa escrito em C++ : 
int func1 (long num) {
 int n, na=1;
 while (num / 10 != 0){
 na += 1;
 num /= 10;
 }
 return na;
}
main() {
 cout << func1 (132041);
}
Marque a opção correta que mostra o que é impresso na tela.
2
 6
1
3
4
Respondido em 07/05/2020 18:34:41
 
 
Explicação:
Fazendo passo a passo :
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/6
int func1 (long num) {
 int n, na=1;
 while (num / 10 != 0){
 na += 1;
 num /= 10;
 }
 return na;
}
main() {
 cout << func1 (132041);
}
Passos : 
1) Chamada da função passando o valor 132041
2) Começa a função com num recebendo o valor 132041
3) na recebe 1 
4) enquanto num/10 é diferente de zero faça ... Vejamos : 132041/10 é diferente de zero então
 na recebe 2 e num recebe 13204
5) Volta no teste do loop... 13204 /10 é diferente de zero ? Sim. Então, na recebe 3 e num recebe 1320
6) Volta no teste do loop... 1320 /10 é diferente de zero ? Sim. Então, na recebe 4 e num recebe 132 
7) Volta no teste do loop... 132 /10 é diferente de zero ? Sim. Então, na recebe 5 e num recebe 13
8) Volta no teste do loop... 13 /10 é diferente de zero ? Sim. Então, na recebe 6 e num recebe 1
9) Volta no teste do loop... 1 /10 é diferente de zero ? Não.
Então, retorna o valor e na que é 6.
 
 
 8a Questão
Considere a função:
void dobro(int x) {
 x = 10 * x;
}
Qual será o valor impresso na tela quando o programa principal for executado?
int main() {
int n;
n = 5;
dobro(n);
cout << n;
return 0;
} 
 
0
Haverá um erro de compilação
10
 5
50
Respondido em 07/05/2020 18:35:08
Gabarito
Coment.
javascript:abre_colabore('38403','191528844','3821519558');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 6/6
javascript:abre_colabore('38403','191528844','3821519558');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4
 
 
 
 ESTRUTURA DE DADOS 3a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A3_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a 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 07/05/2020 22:46:57
 
 
 2a 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 + 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, 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; 
 } 
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','3','','','');
javascript:abre_frame('3','3','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4
 } 
 } 
 }
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; 
 } 
 }
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;
 }
Respondido em 07/05/2020 22:47:12
 
 
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.
 
 
 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.
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;
 vet[10].nota=5.7;
Respondido em 07/05/2020 22:48:10
 
 
 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.
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4
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.nota=5.7 ;
 vet[10].nota=5.7;
aluno.vet[10].nota=5.7;
aluno.vet[10]=5.7;
vet[10]=aluno.5.7;
Respondido em 07/05/2020 22:48:31
 
 
 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 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].media=6.0;
aluno[3].10=6.0;
vet[3].aluno=6.0;
aluno[10]=6.0;
 vet[3].media=6.0;
Respondido em 07/05/2020 22:48:32
 
 
 6a Questão
Qual das seguintes estruturas de dados é classificada como heterogênea?
Fila
 Registro
Vetor
Loop
Pilha
Respondido em 07/05/2020 22:48:41
 
 
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.
 
 
 7a 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 :
* (asterisco).
-> (seta).
, (vírgula).
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4
 ∙ (ponto).
& (e comercial ou eitza).
Respondido em 07/05/2020 22:48:53
 
 
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).
 
 
 
 8a Questão
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
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 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 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.
Respondido em 07/05/2020 22:49:02
 
 
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.
javascript:abre_colabore('38403','191584134','3823005044');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4
 
 
 
 ESTRUTURA DE DADOS 4a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A4_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Qual a importância de se entender a "ordenação" de dados ?
A ordenação é a base na qual, muitos algoritmos 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 programas são construídos. Entendendo a ordenação, tem-se conhecimento para
manter outros problemas.
Respondido em 07/05/2020 22:52:34
Gabarito
 Coment.
 
 
 2a 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, 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.
 Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
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 não foi encontrado.
Respondido em 07/05/2020 22:53:12
 
 
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
buscana parte à direita do meio do vetor.
Gabarito
 Coment.
 
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','4','','','');
javascript:abre_frame('3','4','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4
 3a Questão
Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples?
 Selection Sort, Insert Sort e Bubble Sort
Shell Sort, Quick Sort e Heap Sort
Insert Sort, Bubble Sort e Shell Sort
Insert Sort, Bubble Sort e Quick Sort
Selection Sort, Shell Sort e Bubble Sort
Respondido em 07/05/2020 22:54:11
Gabarito
 Coment.
Gabarito
 Coment.
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 adicionar um valor no vetor, mantendo 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 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.
 É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Respondido em 07/05/2020 22:54:08
Gabarito
 Coment.
 
 
 5a Questão
Marque a afirmativa correta para a "inserção incremental".
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
 Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É um tipo de ordenação por intercalação
Os pivôs são escolhidos aleatoriamente.
É um tipo de sequenciação por intercalação.
Respondido em 07/05/2020 22:54:33
Gabarito
 Coment.
 
 
 6a Questão
Analisando o trecho de código a seguir:
inicio=0; 
 fim= tamanho - 1;
 meio=(inicio+fim)/2; 
 while(procura != nomeVetor[meio] && inicio != fim)
 {
 if(procura > nomeVetor[meio]) 
 inicio=meio+1;
 else 
 fim=meio; 
 meio=(inicio+fim)/2; 
 }
 if(nomeVetor[meio]==procura)
 cout<<"\n....: "< < outroVetor[meio]<else 
 cout<<"\nDado nao encontrado\n";
Pode-se afirmar que:
trata-se da implementação do algortimo de ordenação por seleção.
trata-se da implementação do algortimo de busca sequencial
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4
 trata-se da implementação do algortimo de busca binária.
trata-se da implementação do algortimo de ordenação por inserção.
trata-se da implementação do algortimo de ordenação bolha.
Respondido em 07/05/2020 22:54:43
Gabarito
 Coment.
 
 
 7a Questão
O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação?
void ordenar(float v[], int n) // n é o no. de elementos em v
{
 int i , // índice
 aux, // auxiliar para troca
trocou = true,
fim = n - 1;
while (trocou)
{
 trocou = false; // sinaliza que é falso que trocou
 for (i = 0; i < fim; i++)
 {
 if (v[i] > v[i+1])
 {
 aux = v[i];
 v[i] = v[i+1];
 v[i+1] = aux;
 // sinaliza que é verdadeiro que trocou
 trocou = true;
 } // fim if
 } // fim for
 fim--; // decrementa o fim
} // fim while
} // fim da função
Heapsort
Quicksort
 Bublesort
Mergesort
Shellsort
Respondido em 07/05/2020 22:54:57
Gabarito
 Coment.
 
 
 8a Questão
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4
if(vet[j-1] > vet[j] )
 { 
 aux=vet[j];
 vet[j]= vet[j-1];
 vet[j-1]=aux; 
 }
if(vet[j] < vet[j-1] )
 { 
 aux=vet[j];
 vet[j]< vet[j-1];
 vet[j-1]=aux; 
 }
if(vet[j] == vet[j-1] )
 { 
 aux=vet[j];
 vet[j]= vet[j-1];
 vet[j-1]=aux; 
 }
 if(vet[j-1] < vet[j] )
 { 
 aux=vet[j];
 vet[j]= vet[j-1];
 vet[j-1]=aux; 
 }
if(vet[j] < vet[j-1] )
 { 
 aux=vet[j];
 vet[j-1]= vet[j];
 vet[j-1]=aux; 
 }
Respondido em 07/05/2020 22:55:03
javascript:abre_colabore('38403','191624130','3824007576');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4
 
 
 
 ESTRUTURA DE DADOS 5a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A5_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
São métodos ou algoritmos conhecidos de ordenação de dados por troca:
quicksort e hashing.
hashing e bubble sort.
 bubble sort e quicksort.
busca por ordenação e ordenação shell.
ordenação shell e hashing.
Respondido em 07/05/2020 22:56:08
 
 
Explicação:
Bubble sort é o algoritmo mais simples, mas o menos eficientes. Neste algoritmo cada elemento da posição i será comparado com
o elemento da posição i + 1, ou seja, um elemento da posição 2 será comparado com o elemento da posição 3. Caso o elemento da
posição 2 for maior que o da posição 3, eles trocam de lugar e assim sucessivamente. Por causa dessa forma de execução, o vetor
terá que ser percorrido quantas vezes que for necessária, tornando o algoritmo ineficiente para listas muito grandes.
 
O Quicksort é o algoritmo mais eficiente na ordenação por comparação. Nele se escolhe um elemento chamado de pivô, a partir
disto é organizada a lista para que todos os números anteriores a ele sejam menores que ele, e todos os números posteriores a ele
sejam maiores que ele. Ao final desse processo o número pivô já está em sua posição final. Os dois grupos desordenados
recursivamente sofreram o mesmo processo até que a lista esteja ordenada.
 
 
 
 2a Questão
Considere as seguintes afirmações sobre Listas Sequenciais:
I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de interesse.
II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que indica a quantidade de dados
armazenados.
III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a quantidade de dados da
mesma.
IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem repetição).
Marque a opção que contém apenas todas as afirmações verdadeiras:
I, II, III, IV
I, II, III
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','5','','','');
javascript:abre_frame('3','5','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4
I, II
 I, II, IV
I, III, IV
Respondido em 07/05/2020 22:55:59
 
 
Explicação:
Analisando cada afirmativa :
 
I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de interesse.
Verdadeiro. As inserções vão ocorrendo do início do vetor (índice zero) em direção ao fim.
 
II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que indica a quantidade de dados
 armazenados.
Verdadeiro. Armazenam-se os dados e controla-se a quantidade de dados na lista.
 
III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a quantidade de dados 
 da mesma.
Falso. A inserção pode ser no início, no meio ou no final da lista. Na verdade, pode ocorrer inserção e remoção em qualquer 
posição.
 
IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem repetição).
Verdadeiro. Uma lista pode ou não ter dados repetidos.
 
Resposta certa : As afirmativas I, II, IV estão certas
 
 
 3a Questão
Considere uma lista sequencial L com n fichas deprofessores, sendo que cada ficha de professor é modelada pela struct : 
struct professor { 
int matricula; 
 char titulo[30]; 
 }; 
 e a lista L é assim declarada : professor L[n]; 
 
Assinale o trecho que corretamente exibe todas as matrículas e titulações de todos os n professores de L . 
 
for (int i = 0; i < n; i++) 
 cout << L.matricula << " " << L.titulo << endl;
 for (int i = 0; i < n; i++) 
 cout << L[i] << endl; 
 for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].titulo[30] << endl;
 for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].titulo << endl;
for (int i = 0; i < n; i++) 
 cout << L.matricula[i] << " " << L.titulo[i] << endl;
 
Respondido em 07/05/2020 22:56:22
 
 
Explicação:
Como L é um vetor de n elementos do tipo professor. Então, para percorrer o vetor de índice i temos que fazer L[i] seguido do
ponto seguido do campo, que pode ser matricula ou titulo.
Assiim, a opção correta é 
for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].titulo << endl;
 
 
 4a Questão
Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. II. Ao
declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. III. Uma string declarada como char
B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta:
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4
Estão corretas apenas as afirmativas I e III.
Está correta apenas a afirmativa I.
Estão corretas apenas as afirmativas I e II.
 Nenhuma afirmação está correta.
Está correta apenas a afirmativa II.
Respondido em 07/05/2020 22:56:30
 
 
Explicação:
Analisando cada afirmativa :
 I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100].
 Falso. Podemos ter matrizes unidimensionais, tridimensionais, etc...
 II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor.
Falso. Em C++ o índice inicial é zero. Logo, A[2] é o elemento de índice 2, ou seja, o 3o. elemento do vetor.
III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta:
Falso. B pode armazenar no máximo 29 caracteres que sejam dados, pois existe uma área para o caracter nulo.
Logo, todas as opções são falsas.
 
 
 5a Questão
Considere uma lista com n livros, em que cada livro é modelado pela struct :
 
struct Livro {
 string �tulo, editora, autor;
 float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
 v[n] = L;
 n++;
 cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
Subs�tuição
Ordenação por inserção
Inicialização
 Inserção
Busca
Respondido em 07/05/2020 22:56:40
Gabarito
 Coment.
 
 
 6a Questão
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A
estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é:
Matriz
 Vetor
Registro
Função
Variável
Respondido em 07/05/2020 22:56:45
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4
Gabarito
 Coment.
 
 
 7a 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.
Pilha Sequencial
 Lista Sequencial
Lista Encadeada
Fila Sequencial
Pilha Encadeada
Respondido em 07/05/2020 22:56:52
Gabarito
 Coment.
 
 
 8a Questão
for (int i = 0; i < n; i++)
 cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].nome[30] << endl;
 for (int i = 0; i < n; i++)
 cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
 cout << L[i] << endl;
for (int i = 0; i < n; i++)
 cout << L.matricula << " " << L.nome << endl;
Respondido em 07/05/2020 22:57:01
Gabarito
Coment.
javascript:abre_colabore('38403','191625447','3824038964');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/4
 
 
 
 ESTRUTURA DE DADOS 6a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A6_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas operações são
conhecidas como:
 PUSH e POP.
Base e Topo;
HEAP e POP;
PULL e POP;
PUSH e PULL;
Respondido em 07/05/2020 22:59:45
Gabarito
 Coment.
 
 
 2a Questão
Considere uma pilha sequencial de números reais representada por
 
 struct Pilha {
 int topo;
 float v[10];
 };
 
onde temos Pilha p;
 
Marque a opção que corretamente inicializa a pilha :
 
 
 
 
p->topo = 0;
 
 
 
Pilha.topo = -1;
 
Pilha.topo = 0;
 
 
 p.topo = -1;
 
topo.pilha = -1;
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','6','','','');
javascript:abre_frame('3','6','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/4
 
 
Respondido em 07/05/2020 22:59:37
Gabarito
 Coment.
 
 
 3a Questão
A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio:
First In First Out (FIFO).
 Last In First Out (LIFO).
De dividir para conquistar.
Da localidade de referência.
Da indiferença.
Respondido em 07/05/2020 22:59:47
 
 
Explicação:
A lógica da Pilha é: o último a entrar é o primeiro a sair logo, Last (último) In (dentro) First (primeiro) Out
(fora) -> LIFO.
Gabarito
 Coment.
 
 
 4a Questão
Assinale a opção que apresenta uma estrutura de dados embasada no princípio last in, first out (LIFO) ¿ último a entrar, primeiro a
sair ¿, na qual, conforme a inserção, os dados inseridos primeiramente na estrutura são os últimos a serem removidos.
árvores
 pilhas
listas
vetores
filas
Respondido em 07/05/2020 22:59:56
 
 
Explicação:
Por definição, a estrutura de dados pilha é uma lista linear em que as inserções e remoções seguem o critério ou lógica LIFO (Last
In Firsts Out).
Em uma lista, árvore ou vetor a inserção pode ser em qualquer posição, desde que não haja ordem. E a estrutura de dados fila
segue a lógica FIFO.
 
 
 
 5a Questão
Algoritmo Pilha
Inicio
IniciarPilha(s)
enquanto (não for o final das entradas) faca
leia (num)
se (num != 3) então
 Empilhar (s, num)
senão
 Desempilhar(s)
 x := ElementoTopo(s)
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/4
fimse
fimenquanto
fimalgoritmo
Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido para num, sucessivamente, os
valores inteiros 1, 2, 3, 4, 5, 3 e 6. Nesse caso, ao final da execução do algoritmo, o valor de x será igual a ...
3 e a pilha terá os valores 6, 4 e 1.
 5 e a pilha terá os valores 6, 4 e 1.
3 e a pilha terá os valores 6, 5, 4, 2 e 1.
5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1.
2 e a pilha terá os valores 6, 4 e 1.
Respondido em 07/05/2020 23:00:05
 
 
Explicação:
Seguindo o fluxo do algoritmo, serão empilhados 1 e 2. Ao chegar no 3, o valor 2 será desempilhado e armazenado em x.
Continuando o loop, 4 é mepilhado, depois 5 é empilhado e ao chegar novamente em 3, o 5 é deempilhado e armazenado em x.
Continuando o loop enquanto existeentrada, empilha-se o 6.
Dessa forma temos que o valor em 5 é 5 e a pilha possui os valors 6, 4 e 1, sendo 6 no topo da pilha. 
Logo, a opção correta é 5 e a pilha terá os valores 6, 4 e 1.
 
 
 6a Questão
Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de posição. Qual das
alternativas abaixo está correta?
Antes a operação de remoção decrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de posição.
Após a operação de remoção incrementa a variável indicadora de inicio.
 Após a operação de remoção decrementa a variável indicadora de posição.
Antes da operação de remoção incrementa a variável indicadora de posição.
Respondido em 07/05/2020 23:00:11
Gabarito
 Coment.
 
 
 7a Questão
Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem. Se logo após são executadas duas operações de remoção,
pode-se dizer que:
A resposta depende da chave de busca, pois a remoção depende da chave fornecida
Nenhuma das alternativas anteriores
 Os valores removidos serão D e C, nessa ordem
Os valores removidos serão A e B, nessa ordem
Os valores removidos serão C e D, nessa ordem
Respondido em 07/05/2020 23:00:19
 
 
Explicação:
Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem.
Analisando .... Daí temos que A está na posição 0, B na posição 1, C na posição 2 e D na posição 3, ficando no topo da
pilha. 
Se logo após são executadas duas operações de remoção
Analisando .... Daí temos será removido primeiro o D, que está no topo da pilha e depois será removido o C, que terá
ficado no topo logo após a saída do D.
Logo, saem D e C, nesta ordem.
 
 
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/4
 8a Questão
Qual das alternativas a seguir pode definir uma estrutura de pilha?
Entrada de dados pelo final e saída pelo início.
 Entrada e saída de dados pelo final.
Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados em qualquer local.
Entrada e saída de dados pelo início.
Respondido em 07/05/2020 23:00:28
Gabarito
Coment.
javascript:abre_colabore('38403','191625960','3824052387');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5
 
 
 
 ESTRUTURA DE DADOS 7a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A7_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que DEQUEUE(), a retirada
de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações:
ENQUEUE(1)
ENQUEUE(2)
DEQUEUE()
ENQUEUE(3)
ENQUEUE(4)
DEQUEUE()
DEQUEUE()
ENQUEUE(5)
Ao final da sequencia, a soma dos elementos de que (Q) será?
 9
15
0
6
5
Respondido em 07/05/2020 23:03:45
Gabarito
 Coment.
 
 
 2a Questão
Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende os não
idosos. O sistema II atende os idosos. Nessa situação:
o sistema I, adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
 tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados.
tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados.
o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO.
Respondido em 07/05/2020 23:04:19
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','7','','','');
javascript:abre_frame('3','7','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5
 
Explicação:
Como os dois sistemas usam a ordem de chegada, temos o uso de fila caracterizando os 2 sistemas. Como fila segue a lógica
FIFO, os 2 sistemas seguem esta lógica FIFO.
Note que LIFO é de pilha, o que não cabe aqui. Na pilha, o último a entrar é o primeiro a sair.
 
 
 
 3a Questão
IFMT - Técnico em Tecnologia da Informação - 2013
Considere a função insere(x: inteiro), que recebe como parâmetro um número inteiro e o insere em uma Fila, e ainda, a função
remove(), que retira um valor de uma Fila.
Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove().
Após a execução desses comandos, qual será a Fila resultante?
[3-4-6-8-10]
[2-1-3-4-6-8]
[3-4-6-8-10-1]
[2-3-4-6-8-10]
 [4-6-8-10-1-2]
Respondido em 07/05/2020 23:04:43
 
 
Explicação:
Temos a fila inicialmente 
 3 4 6 8 10
Após inserir 1, a fila ficará : 3 4 6 8 10 1
Após isnerir 2 : 3 4 6 8 10 1 2
Após uma remoção : 4 6 8 10 1 2
 
 
 4a Questão
A estrutura de dados conhecida pela lógica FIFO (First In First Out) é denominada :
Pilha
 Fila
Vetor
Árvore
Lista circular
Respondido em 07/05/2020 23:04:52
 
 
Explicação:
Fila é, por definição, uma lista linear ordenada em que as inserções e remoções seguem a lógica FIFO.
 
 
 5a Questão
IFMT - Técnico em Técnologia da Informação - 2013
 Considere a função insere(x: inteiro), que recebe como parâmetro um número inteiro e o insere em uma Fila, e ainda, a
função remove(), que retira um valor de uma Fila.
 Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove().
 Após a execução desses comandos, qual será a Fila resultante?
[3-4-6-8-10-1]
[2-3-4-6-8-10]
 [4-6-8-10-1-2]
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5
[3-4-6-8-10]
[2-1-3-4-6-8]
Respondido em 07/05/2020 23:05:01
 
 
Explicação:
Dada a Fila [3-4-6-8-10], executam-se os comandos na ordem: insere(1), insere(2), remove(). ?
Temos 3-4-6-8-10 e com a 1a. insere teremos 3-4-6-8-10 - 1
Com a segunda insere teremos 3-4-6-8-10- 1-2
E quando remover um valor, sairá o 1o. da fila. Então, a fila ficará assim : 4-6-8-10- 1-2
 
 
 6a Questão
Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho do
programa abaixo em uma apostila.
 
Como não estava com seu micro, começou a analisar a função entra(...), ficando
atento a alguns membros da struct.
Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito feliz
por ter identificado a estrutura
Assinale a alternativa onde está presente a resposta correta.
 Fila Circular
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5
Lista simplesmente encadeada
Fila
Lista Linear
Pilha
Respondido em 07/05/2020 23:04:58
Gabarito
 Coment.
 
 
 7a Questão
Um conjunto ordenado de itens a partir do qual podem ser eliminados itens em uma extremidade e no qual podem ser inseridos
itens na outra extremidade é denominado de
lista simples.
lista encadeada.
 fila.
pilha.
árvore.
Respondido em 07/05/2020 23:05:27
 
 
Explicação:
Por definição, fila é uma lista ordenada que segue a lógica FIFO, ou seja, o primeiro a entrar será o primeiro a sair. Assim, insere-se
no fim e retira-se do início da fila.
 
 
 8a Questão
 Considere uma fila simples F de inteiros, do �po Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código de
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.
struct Fila { in t v[100], inicio, fim; } ;
Fila F;
F. inicio = 0;
F.fim = -1;
 
 
 
void desenfileirar(Fila F) {
 if (F.inicio > F.fim)
 cout << "Não há agentes para re�rar. " << endl;
 else {
 cout << "Removido o agente " << F.v[F.inicio];
 F.inicio++;
 }
}
 
void desenfileirar(Fila &F) {
 if (F.fim == -1 && F.inicio == 0)
 cout<< "Não há agentes para re�rar. " << endl;
 else {
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5
 cout << "Removido o agente " << F.v[F.inicio];
 F.inicio++;
 }
}
 
 
void desenfileirar(Fila F) {
 cout << "Removido o agente " << F.v[F.inicio];
 F.inicio--;
 }
 
 
void desenfileirar(Fila &F) {
 if (F.inicio > F.fim)
 cout << "Não há agentes para re�rar. " << endl;
 else {
 cout << "Removido o agente " << F.v[F.inicio];
 }
}
 void desenfileirar(Fila &F) {
 if (F.inicio > F.fim)
 cout << "Não há agentes para re�rar. " << endl;
 else {
 cout << "Removido o agente " << F.v[F.inicio];
 F.inicio++;
 }
}
Respondido em 07/05/2020 23:05:39
Gabarito
Coment.
javascript:abre_colabore('38403','191627136','3824079635');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5
 
 
 
 ESTRUTURA DE DADOS 8a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A8_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Considerando a afirmação: "Ponteiro é uma variável que armazena o endereço de outra variável", a forma correta de se atribuir ao
ponteiro p o endereço de uma variável é
 p = &matricula;
*p = matricula;
p.matricula = 20170562;
p->matricula = 20170562;
char *p;
Respondido em 07/05/2020 23:06:30
 
 
Explicação:
 
Analisando na sequência :
 Falsa. Declara um ponteiro para char.
 Falsa. Acessa o campo de uma struct apontada por um ponteiro p.
 Falsa. Acessa o campo de uma struct, sem usar ponteiro.
Verdadeira. Faz um ponteiro p receber o endereço de uma variável matricula.
 Falsa. ACessa a área apontada por um ponteiro e atribui o valor de matricula.
 
 
 2a Questão
Uma lista linear implementada através de encadeamento deve apresentar obrigatoriamente:
i) um ponteiro para o primeiro nó da lista;
ii) encadeamento entre os nós, através de algum campo de ligação;
iii) não deve haver uma indicação de final da lista;
iv) um ponteiro para o final da lista.
Levando em consideração as afirmações apresentadas, qual das alternativas é a correta?
 as afirmações i e ii estão corretas.
somente a afirmação iv esta correta.
as afirmações ii e iv estão corretas.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','8','','','');
javascript:abre_frame('3','8','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5
somente a afirmação i esta correta.
as afirmações i, ii e iii estão corretas.
Respondido em 07/05/2020 23:07:01
 
 
 3a Questão
O conceito de ponteiros foi estudado em uma de nossas aulas. Sendo assim, leia atentamente as afirmativas
abaixo e assinale a opção correta.
 
I A variável ponteiro não precisa ser declarada. 
 II A variável ponteiro armazena endereço. 
III Quanto se usa &nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável apontada
pela variável ponteiro.
 IV Quando se usa nomeDaVariávelPonteiro com o comando cout, é exibido o endereço da variável ponteiro.
 V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável apontada pela
variável ponteiro.
IV e V estão corretas
 II e V estão corretas
I IV e V estão corretas
I, II e IV estão corretas
Somente a II está correta
Respondido em 07/05/2020 23:07:13
Gabarito
 Coment.
 
 
 4a Questão
Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são:
 Determinados pelo problema em que serão utilizados
Indeterminados
Determinados pelo usuário
Determinados pela memória
Determinados pelos ponteiros
Respondido em 07/05/2020 23:07:21
 
 
Explicação:
Em uma estrutura estática o espaço em memória é definido antes da execução e
será definido pelas características do problema. Não é indeterminado, não temos
que usar ponteiros, não é determinado pelo usuário ou pela memória.
 
Quando a alocação é dinâmica, o espaço em memória é definido durante a
execução do programa e assim, não podemos determinar previamente o quanto
de memória será alocada.
 
 
 5a Questão
Podemos dizer que uma lista encadeada tem as seguintes características:
i) conhecida como lista ligada.
ii) seus nós são responsáveis para manter a sequência da lista.
iii) o último nó deve apontar para NULL.
Assinale a alternativa que informa as afirmativas corretas.
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5
Todas as afirmativas estão incorretas.
 Todas as afirmativas estão corretas.
Somente a afirmativa iii esta correta.
Somente as afirmativas i e ii estão corretas.
Somente a afirmativa i esta correta.
Respondido em 07/05/2020 23:07:30
Gabarito
 Coment.
 
 
 6a Questão
 Tei Ping , famosa cabeleireira das estrelas, possui uma lista não ordenada de clientes em que registra apenas o nome, endereço e o telefone de cada cliente.
Como não se pode pré-definir um limite para o tamanho da lista, como se pode implementar a inserção de um novo cliente na lista ? Sabe-se que cada cliente é do
�po Cliente e a lista é do �po List assim definidos :
 
struct Cliente {
 long int matricula;
 string nome, endereco e tel;
};
struct List {
 Cliente p;
 struct List *link;
 };
List * insereCliente(List *i, Cliente c){
 List *novo ;
 novo->p = c;
 novo->link = i;
 return novo;
}
 List * insereCliente(List *i, Cliente c)
{
 List *novo = new List;
 novo.p = c;
 novo.link = i;
 return novo;
}
List insereCliente(List *i, Cliente c)
{
 List novo[];
 novo[0].p = c;
 novo[0].link = i;
 return novo;
}
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5
 List * insereCliente(List *i, Cliente c)
{
 List *novo = new List;
 novo->p = c;
 novo->link =i;
 return novo;
}
List * insereCliente(List *i) {
 List *novo = new List;
 Cliente c;
 novo->p = c;
 novo->link = i;
 return novo;
}
Respondido em 07/05/2020 23:07:44
 
 
Explicação:
Analisando a resposta certa :
List * insereCliente(List *i, Cliente c)
{
 List *novo = new List; //aloca memória para novo nó
 novo->p = c; //acessa o campo p da área apontada por novo e atribui o cliente c ao campo p
 novo->link =i; //faz o link do novo nó apontar para onde i está apontando
 return novo; //retorna o endereço do novo nó
}
Logo, esta função insere um novo nó no início de uma lista simplesmente encadeada e retorna o ponteiro para o início da lista resultante.
Analisando as demais opções, que estão erradas :
2o. item .... Opção errada : faltou alocar memória
3o. item .... Opção errada : Cliente c não está definido.
4o. item .... Opção errada : Usa ponto quando deveria ser o operador seta
5o. item .... Opção errada : Muitos erros... Usa vetor sem definir tamanho e trabalha com o elemento de índice zero de novo,
acessando os campos com ponto.
 
 
 7a Questão
E C++, quando um ponteiro é declarado para uma struct, o acesso aos campos deste registro (struct) se dá pelo operador :
∙ (ponto).
* (asterisco).
& (e comercial ou eitza).
 -> (seta).
, (vírgula).
Respondido em 07/05/2020 23:07:57
 
 
Explicação:
Por definição, o operador é o seta, pois se tem, no caso, ponteiro para struct. 
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5
 
 
 8a Questão
Qual o valor de x no final do programa? int main() { int x, *p, y; x = 3; p = &x; y = *p; y = 7; (*p)++; (*p) += y; return(0); }
3
 11
Nenhuma das anteriores. O programa possui um erro de sintaxe.7
-4
Respondido em 07/05/2020 23:08:00
 
 
Explicação:
Considerando o trecho do programa dado, vamos analisar passo a passo.
int x, *p, y;
x = 3;
p = &x; //p aponta para x, que vale 3
y = *p; //y recebe o conteúdo da área apontada por p, que é 3. Logo, y recebe 3.
y = 7; //Agora y recebe 7
(*p)++; //A área apontada por p é incrementada. Ou seja, x é incrementado, passando a valer 4
(*p) += y; //Equivale a *p = *p + y; Logo, *p recebe 4 + 7, pois *p é x. Então, *p, que é x recebe 11.
Portanto, a resposta certa é 11.
javascript:abre_colabore('38403','191627943','3824102933');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5
 
 
 
 ESTRUTURA DE DADOS 9a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A9_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Sobre as estruturas de dados existentes podemos afirmar que:
Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final.
Encadeamento estático e dinâmico apresentam o mesmo funcionamento de alocação na estrutura do tipo PILHA.
A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo inserido.
Na estrutura do tipo LIFO, as informações são inseridas no início e removidas do final.
 Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo.
Respondido em 07/05/2020 23:09:00
 
 
Explicação:
Na estrutura do tipo FIFO, as informações são inseridas no início e
removidas do final.
Falso. Fila segue a lógica FIFO, ou seja, o primeiro a entrar será o primeiro a
sair. Logo, insere no fim e retira do início da fila.
Na estrutura do tipo LIFO, as informações são inseridas no início e
removidas do final.
Falso. Pilha segue a lógica LIFO, o último a entrar será o primeiro a sair. 
Insere-se no topo e retira-se do topo , ou seja, da mesma extremidade.
Na estrutura das Pilhas a manipulação dos dados sempre se dá no topo.
Verdade. SEgue-se a lógica LIFO.
Encadeamento estático e dinâmico apresentam o mesmo funcionamento de
alocação na estrutura do tipo PILHA.
Falso. No encadeamento estático a alocação é contígua e ocorre antes da
execução. No encadeamento dinâmico a alocação de memória ocorre em
tempo de execução e o armazenamento é encadeado.
A estrutura do tipo LIFO sempre realiza a remoção do elemento mais antigo
inserido.
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','9','','','');
javascript:abre_frame('3','9','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5
 
Falso. A remoção se dá no último inserido, ou seja, o mais novo inserido na pilha.
 
 
 
 
 2a Questão
Estava um aluno estudando Lista Simplesmente Encadeada quando encontrou em um site a
definição da struct nodo e de uma função cujo nome você deverá escolher para substituir XXX nas
opções abaixo depois que analisar a função, assumindo que teste foi realizado, permitindo que a
operação fosse realizada.
 
 struct nodo
 {
 int info;
 struct nodo *prox;
 };
nodo* XXX(nodo *ptr, int valor)
 {
 nodo *temp = new nodo;
 ...
 temp->info = valor; 
 temp->prox = ptr; 
 return temp; 
 }
ListaNo
InsereNoFim
RemoveNo
 InsereNoFrente
BuscaNaLista
Respondido em 07/05/2020 23:08:58
Gabarito
 Coment.
 
 
 3a Questão
Em termos da estrutura de dados do tipo FILA (fila encadeada com alocação dinâmica), a sequência de ações
 insere(10), insere(3), insere(5), insere(8), remove(), remove(), insere(20),
promoveria a configuração da estrutura:
10 3 5 8 20
5 8
 5 8 20
10 3 20
20 5 8
Respondido em 07/05/2020 23:09:21
 
 
Explicação:
 insere(10), insere(3), insere(5), insere(8), remove(), remove(), insere(20),
10-> 3 -> 5 -> 8 após inserir 10,3,5 e 8. Inserção no fim
Depois do 1o. remove, temos 3->5->8
Depois do 2o. remove temos 5 -> 8
Ao ocorrer o último insere temos : 5 -> 8 - > 20, sendo que 5 esta no início e 20 no fim
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5
 
 
 4a Questão
Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que pudesse
repetir enquanto o ponteiro não fosse nulo. Observe os trechos abaixo e assinale qual a afirmativa correta.
 
I if (ptr !=NULL) 
II if( !ptr ) 
 III if(ptr) 
IV while (ptr !=NULL) 
 V while (ptr)
I e IV estão corretas
III está correta
 IV e V estão corretas.
III e V estão corretas
I e II estão corretas.
Respondido em 07/05/2020 23:09:27
Gabarito
 Coment.
 
 
 5a Questão
Seja o seguinte exemplo de nodo de uma lista de encadeada:
 
struct nodo{
 float valor;
 string produto;
 nodo * proximo;
 };
Sabendo-se que nesta lista o último nó ou nodo possui o campo próximo nulo
(null), marque a alternativa que representa corretamente a operação de busca
do último nodo, a partir de um ponteiro pt apontado para o primeiro nodo da
lista.
while(próximo)pt=próximo;
while(pt != null)pt=pt->próximo;
while(pt->próximo != null)pt=pt->próximo->proximo;
 while(pt->próximo)pt=pt->próximo;
while(pt->próximo->proximo)pt=pt->próximo;
Respondido em 07/05/2020 23:10:17
 
 
Explicação:
O código será:
while(pt->próximo)pt=pt->próximo;
 
 
 6a Questão
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que, corretamente, indica as ações
corretas para empilhar o resto da divisão gerado no processo de conversão, considerando uma lista simplesmente encadeada.
Considere o tipo definido abaixo : 
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5
 
struct no { 
int dado; 
struct no *link; 
}; 
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó e aterrar o link
do novo nó.
 É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do novo nó, apontar o
link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do novo nó .
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da divisão número por 2
no campo dado e aterrar o campo link.
É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e retornar o ponteiro para
este nó.
Respondido em 07/05/2020 23:10:12
Gabarito
 Coment.
 
 
 7a Questão
A pilha é uma estrutura de dados que permite a inserção/ remoção de itens dinamicamente seguindo a norma de último a entrar,
primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos:
- PUSH (p, n): Empilha um número "n" em uma estrutura de dados do tipo pilha "p";
- POP (p): Desempilha o elemento do topo da pilha.
Considere que, em uma estrutura de dados tipo pilha p, inicialmente vazia, sejam executados os seguintes comandos:
PUSH (p, 10)
PUSH (p, 5)
PUSH (p, 3)
PUSH (p, 40)
POP (p)
PUSH (p, 11)
PUSH (p, 4)
PUSH (p, 7)
POP (p)
POP (p)
Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são,
respectivamente,
 11 e 29.
4 e 80.
11 e 80.
7 e 29.
7 e 40.
Respondido em 07/05/2020 23:10:21
 
 
Explicação:
Passo a Passo:
entra 10 // 10
entra 5 // 5 / 10
entra 3 // 3 / 5/ 10
entra 40 // 40 / 5 /10
retira 40 // 3 / 5 /10
entra 11 // 11 / 3 / 5 /10
entra 4 // 4 /11 / 3 / 5 /10
entra 7 // 7 / 4 / 11 / 3 / 5 /10
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5
retira 7 // 4 / 11 / 3 / 5 /10
retira 4 // 11 / 3 / 5 / 10
Resultado da pilha: 11 / 3 / 5 / 10
Topo: 11
Somatorio da pilha é: 29
 
 
 8a Questão
Sabendo que uma fila encadeadapossui seus nós definidos pela : 
 
struct no { 
 int x; 
 no *prox; 
 }; 
 
Marque a alternativa que representa corretamente a criação ou alocação do nó na sintaxe do C++ para utilização na fila.
no p -> new no;
 no *p=new no;
p *no -> new no;
no *p -> new no;
p *no=new no;
Respondido em 07/05/2020 23:10:46
Gabarito
Coment.
javascript:abre_colabore('38403','191628460','3824114981');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 1/5
 
 
 
 ESTRUTURA DE DADOS 10a aula
 Lupa 
PPT
 
MP3
 
 
Exercício: CCT0826_EX_A10_201903517011_V1 07/05/2020
Aluno(a): NARA LUIZA TEIXEIRA FONSECA 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201903517011
 
 1a Questão
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes
naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e
prox, que apontam respectivamente para o nodo anterior e para o próximo nodo. Esta característica permite que a
estrutura seja percorrida em ambos os sentidos. Assim analisando as operações a seguir:
p->ant->prox=p->prox;
p->prox->ant=p->ant;
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que:
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
 As operações removem o nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
Respondido em 07/05/2020 23:11:38
 
 
 2a Questão
 Considere uma lista duplamente encadeada não circular em que
 
struct nodupla {
 int dado;
 struct nodupla *dlink; // aponta p/ o nó à direita
 struct nodupla *elink; // aponta p/ o nó à esquerda
 };
 
sendo nodupla *p; //ponteiro para o início da lista
 
 A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p é :
 
n nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 novo->elink = NULL;
 if (p != NULL)
 p->elink = novo;
 p = novo;
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','10','','','');
javascript:abre_frame('3','10','','','');
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 2/5
 
 
 nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 novo->dlink = p;
 novo->elink = NULL;
 p->elink = novo;
 p = novo;
 
 
 nodupla *novo;
 
 novo = new nodupla;
 novo.dado = valor;
 novo.dlink = p;
 novo.elink = NULL;
 if (p != NULL)
 p.elink = novo;
 p = novo;
 nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 novo->dlink = p;
 novo->elink = NULL;
 if (p != NULL)
 p->elink = novo;
 p = novo;
n 
 
 nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 novo->dlink = p;
 if (p != NULL)
 p->elink = novo;
 p = novo;
Respondido em 07/05/2020 23:11:34
Gabarito
 Coment.
 
 
 3a Questão
Geralmente em algumas situações é necessário fazer a desalocação do espaço utilizado na memória. Porém, isso depende de como
a reserva de uma quantidade de espaço de memória é feita, pois em alguns casos, o próprio compilador faz a desalocação. Quando
o compilador não faz esta desalocação a memória foi reservada utilizando______.
Declaração de vetor
Declaração de matriz
 Alocação dinâmica de memória
Declaração de função
Alocação estática de memória
Respondido em 07/05/2020 23:11:57
 
 
Explicação:
Se for necessário liberar a memória ocupada por essas variáveis, é preciso recorrer à função free.
A função free desaloca a porção de memória alocada por malloc.
A instrução free (ptr) avisa ao sistema que o bloco de bytes apontado por ptr está disponível para reciclagem.
 
 
 4a Questão
O armazenamento de dados na memória do computador é feito de forma ordenada, utilizando-se estruturas e regras de operações.
Das alternativas a seguir, assinale a correta:
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 3/5
Existem várias formas de apresentação de listas lineares, como listas circulares e as matrizes, que são formas exclusivas
das listas de alocação encadeada.
Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós da lista podem ter tamanhos diferentes,
mas exigem espaço em endereço contíguo de memória.
A lista binária é uma forma não-linear de organização dos dados. Existe um nó denominado raiz da árvore, que pode ter
duas ou mais sub-árvores, que por sua vez também podem ter outras sub-árvores.
Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o primeiro que sai, enquanto na Pilha, o
primeiro que entra é o primeiro que sai.
 Em uma lista linear com alocação duplamente encadeada os nós da estrutura ocupam espaços aleatórios na memória e
cada nó armazena além da sua informação os endereços do nó anterior e do próximo nó da estrutura.
Respondido em 07/05/2020 23:11:48
 
 
Explicação:
Existem várias formas de apresentação de listas lineares, como listas circulares e
as matrizes, que são formas exclusivas das listas de alocação encadeada.=è
FALSO =è Ela possui apenas uma entrada, chamada de topo, a partir da qual os dadosentram e saem dela. Exemplos de
pilhas são: pilha de pratos, pilha de livros, pilhade alocação de variáveis da memória, etc. Uma fila é uma lista linear do tipo FIFO -
First In First Out, o primeiro elemento a entrar será o primeiro a sair
A lista binária é uma forma não-linear de organização dos dados. Existe um nó
denominado raiz da árvore, que pode ter duas ou mais sub-árvores, que por sua
vez também podem ter outras sub-árvores.=è FALSO
Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós
da lista podem ter tamanhos diferentes, mas exigem espaço em endereço
contíguo de memória. .=è FALSO
Em uma lista linear com alocação duplamente encadeada os nós da estrutura
ocupam espaços aleatórios na memória e cada nó armazena além da sua
informação os endereços do nó anterior e do próximo nó da estrutura. ===>
VERDADE
Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o
primeiro que sai, enquanto na Pilha, o primeiro que entra é o primeiro que sai.
===> FALSO ===> Fila, o valor lido, sempre é passado para o começo, ou seja,
esse valor aponta para as próximas posições, e quando for feita a exclusão, é só
deletar esse valor do começo. Abaixo uma imagem que representa a Fila
(FIFO). Pilha, sempre o último valor lido, ficará na `primeira¿ posição da lista,
dessa forma, quando for feita a exclusão, um auxiliar aponta para a próxima
posição, e a posição atual, é excluída. Abaixo uma imagem que representa a Pilha
(LIFO)
 
 
 5a Questão
Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de
tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada
para qual tipo de estrutura de dados, marque a alternativa correta.
struct nomeRegistro{
 int info;
 struct nomeRegistro* ant;
 struct nomeRegistro* prox;
 };
typedef struct nomeRegistro NOMEREGISTRO;
Pilha
 Lista duplamente encadeada
Fila
Lista encadeada
Matriz
Respondido em 07/05/2020 23:11:58
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 4/5
 
 
 6a Questão
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas,
entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo,são estes os ponteiros ant e prox, que apontam,
respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em
ambos os sentidos. Assim analisando as operações a seguir:
 
p->ant->prox=p->prox;
 p->prox->ant=p->ant;
 
Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que:
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
 As operações removem o nodo apontado pelo ponteiro p.
As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
Respondido em 07/05/2020 23:15:28
Gabarito
 Coment.
 
 
 7a Questão
Observe a struct, definida globalmente, e um trecho de uma função que manipula uma
Lista Duplamente Encadeada.
struct listaDE
{
 int info;
 struct listaDE* ant;
 struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo->info = valor;
novo->prox = LISTA;
novo->ant = NULL; 
Assinale a alternativa que apresenta o protótipo dessa função
void exibeIpF(listaDE *LISTA);
listaDE *busca (listaDE *LISTA, int valor);
 listaDE *insereInicio(listaDE *LISTA, int valor); 
listaDE *insereFim(listaDE *LISTA, int valor);
listaDE *remove(listaDE *LISTA, int valor);
Respondido em 07/05/2020 23:12:22
Gabarito
 Coment.
 
 
 8a Questão
As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento simplesmente ou
encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista duplamente encadeada?
10/05/2020 EPS
simulado.estacio.br/alunos/?user_cod=2376800&matr_integracao=201903517011 5/5
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para
mais de um nó.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.
 Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta
para mais de um nó.
Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte.
Respondido em 07/05/2020 23:12:34
Gabarito
Coment.
javascript:abre_colabore('38403','191629117','3824132112');

Continue navegando

Outros materiais