Buscar

Provas Estrutura de Dodos

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

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

14/10/2020 Estácio: Alunos
https://simulado.estacio.br/alunos/?user_cod=2444292&matr_integracao=201907341382 1/5
 
 
Disc.: ESTRUTURA DE DADOS 
Aluno(a): JOMAR ALMEIDA FRANCA 201907341382
Acertos: 10,0 de 10,0 14/10/2020
 
 
Acerto: 1,0 / 1,0
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.
grafo
lista
pilha
 árvore
fila
Respondido em 14/10/2020 22:58:35
 
 
Explicação:
Conforme gabarito e aula 1.
 
 
Acerto: 1,0 / 1,0
Assinale a opção certa.
 Quando não se escreve o protótipo de uma função ...
A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
 É preciso definir a função antes do programa principal.
A chamada da função poderá ser feita em qualquer hipótese.
O programa não funcionará de forma alguma.
A chamada da função não poderá ser feita em qualquer hipótese.
Respondido em 14/10/2020 22:59:51
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
 Questão1
a
 Questão2
a
 Questão3
a
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
14/10/2020 Estácio: Alunos
https://simulado.estacio.br/alunos/?user_cod=2444292&matr_integracao=201907341382 2/5
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;
aluno[3].media=6.0;
 vet[3].media=6.0;
vet[3].aluno=6.0;
Respondido em 14/10/2020 22:59:29
 
Acerto: 1,0 / 1,0
É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está
ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado
(chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca
termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado,
então a busca continua na metade posterior do vetor. E finalmente, se o elemento do meio vier
depois da chave, a busca continua na metade anterior do vetor.
A descrição apresentada trata-se do método denominado busca ...... 
por comparação.
 binária.
randômica.
linear.
por contagem.
Respondido em 14/10/2020 23:00:53
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
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
 I, II, IV
I, II
I, II, III, IV
I, III, IV
Respondido em 14/10/2020 23:02:52
 
 
Explicação:
 Questão4
a
 Questão5
a
14/10/2020 Estácio: Alunos
https://simulado.estacio.br/alunos/?user_cod=2444292&matr_integracao=201907341382 3/5
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
 
 
Acerto: 1,0 / 1,0
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 14/10/2020 23:06:59
 
 
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.
 
 
Acerto: 1,0 / 1,0
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:
 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.
o sistema I, adota o esquema FIFO de organização de dados e o II, o esquema LIFO.
 Questão6
a
 Questão7
a
14/10/2020 Estácio: Alunos
https://simulado.estacio.br/alunos/?user_cod=2444292&matr_integracao=201907341382 4/5
Respondido em 14/10/2020 23:06:17
 
 
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.
 
 
 
Acerto: 1,0 / 1,0
Montei uma biblioteca popular que aceita doações sem limites. Marque a opção que especifica o tipo de lista e
o tipo de alocação de memória mais adequados para este problema.
fila encadeada e alocação dinâmica de memória
pilha dinâmica e alocação dinâmica de memória
fila dinâmica e alocação dinâmica de memória
lista sequencial e alocação dinâmica de memória
 lista encadeada e alocação dinâmica de memória
Respondido em 14/10/2020 23:10:33
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
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)
 IV e V estão corretas.
III e V estão corretas
I e IV estão corretas
III está correta
I e II estão corretas.
Respondido em 14/10/2020 23:11:21
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para:
Para frente, apenas.
 Para frente e para trás, apenas.
 Questão8
a
 Questão9
a
 Questão10
a
14/10/2020 Estácio: Alunos
https://simulado.estacio.br/alunos/?user_cod=2444292&matr_integracao=201907341382 5/5
Para trás, apenas.
Para cima e para baixo ou para frente e para trás.
Para cima e para baixo, apenas.
Respondido em 14/10/2020 23:13:17
 
 
Explicação:
A resposta é simples assim.javascript:abre_colabore('38403','209650248','4197577850');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/4
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
10a aula
 Lupa 
 
Exercício: CCT0826_EX_A10_201907341382_V1 09/11/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para:
Para cima e para baixo, apenas.
Para trás, apenas.
 Para frente e para trás, apenas.
Para frente, apenas.
Para cima e para baixo ou para frente e para trás.
Respondido em 09/11/2020 21:49:14
 
 
Explicação:
A resposta é simples assim.
 
 
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 removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após 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 09/11/2020 21:49:19
Gabarito
Comentado
 
 
 Questão1
 Questão2
 Questão
3
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/4
 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->dlink = p;
 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;
 
 nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 novo->dlink = p;
 novo->elink = NULL;
 p->elink = novo;
 p = novo;
 
 
n nodupla *novo;
 
 novo = new nodupla;
 novo->dado = valor;
 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;
Respondido em 09/11/2020 21:52:04
Gabarito
Comentado
 
 
Com relação à lista duplamente encadeada, é correto afirmar que :
 Questão4
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/4
Consome menos memória do que uma lista simplesmente encadeada, se
tivermos uma mesma aplicação.
Não pode haver remoções no meio da lista.
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó
Não pode ser vazia.
 A lista pode ser percorrida com igual facilidade para a direita ou para a
esquerda, pois existem dois ponteiros.
Respondido em 09/11/2020 21:49:34
Gabarito
Comentado
 
 
Ao criarmos uma rotina para inserir um dado em uma LISTA de dados duplamente encadeada e circular, nos deparamos
com as seguintes cuidados:
 Posso inserir no começo, no meio ou no fim.
Só poderei inserir no final da lista e no começo somente se ela estiver cheia.
Só poderei inserir no final da lista e no começo somente se ela estiver vazia.
Só poderei inserir no final da lista e nunca no começo ou no meio.
Só poderei inserir no começo ou no fim, mas não no meio.
Respondido em 09/11/2020 21:52:18
 
 
Explicação:
Em uma lista duplamente encadeada circular ou não, podemos inserir ou remover de qualquer parte da lista. Não há
problema na inserção se a lista estiver vazia. 
 
 
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 a busca de um nodo apontado pelo ponteiro p.
 As operações removem o nodo apontado pelo ponteiro p.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
Respondido em 09/11/2020 21:52:23
 
 
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______.
Alocação estática de memória
 Alocação dinâmica de memória
Declaração de função
Declaração de matriz
 Questão5
 Questão6
 Questão7
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/4
Declaração de vetor
Respondido em 09/11/2020 21:49:52
 
 
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.
 
 
Sobre as estruturas de dados lineares, assinale V ou F:
I - Em uma pilha, o último elemento a entrar é o primeiro a sair.
II - Em uma fila, o primeiro elemento a entrar é o último a sair.
III - Uma lista permite que as inserções possam ser feitas em qualquer lugar (posição), mas as remoções, não.
IV - Em uma lista circular com encadeamento simples, o primeiro elemento aponta para o segundo e para o último.
V - Para remover um elemento de uma lista duplamente encadeada, deve-se alterar o encadeamento dos elementos
anterior e próximo ao elemento removido. A sequência correta de cima para baixo:
F,F,V,V,V
 V,F,F,F,V
V,F,F,V,F
V,F,V,F,V
F,V,V,F,F
Respondido em 09/11/2020 21:52:33
 
 
Explicação:
Vamos analisar cada afirmativa.
Analisando a afirmativa I : Correto, pois a estrutura pilha segue a lógica
LIFO.
 
Analisando a afirmativa II : Falso. Na estrutura de dados fila, o primeiro a
entrar é o primeiro a sair, pois segue a lógica FIFO.
 
Analisando a afirmativa III : Falso. Em uma lista tanto as inserções quanto
as remoções podem ser feitas em qualquer posição.
 
Analisando a afirmativa IV : Falso. Em uma lista circular, o1o. elemento
aponta para o segundo elemento, mas o último elemento aponta para o 1º.
elemento da lista.
 
Analisando a afirmativa V : Está correta.
 
Logo, a opção correta é V, F, F, F, V
 
 
 
 Questão8
javascript:abre_colabore('38403','212924276','4292991448');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/5
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
9a aula
 Lupa 
 
Exercício: CCT0826_EX_A9_201907341382_V1 09/11/2020
Aluno(a):JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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,
7 e 40.
 11 e 29.
11 e 80.
4 e 80.
7 e 29.
Respondido em 09/11/2020 21:50:38
 
 
Explicação:
Passo a Passo:
entra 10 // 10
entra 5 // 5 / 10
entra 3 // 3 / 5/ 10
entra 40 // 40 / 5 /10
 Questão1
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/5
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
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
 
 
Sobre as estruturas de dados existentes podemos afirmar que:
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 das Pilhas a manipulação dos dados sempre se dá no topo.
Na estrutura do tipo FIFO, as informações são inseridas no início e removidas do final.
Na estrutura do tipo LIFO, as informações são inseridas no início e removidas do final.
Respondido em 09/11/2020 21:50:41
 
 
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.
 
Falso. A remoção se dá no último inserido, ou seja, o mais novo inserido na pilha.
 
 
 
 
 Questão2
 Questão
3
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/5
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; 
}
InsereNoFim
ListaNo
 InsereNoFrente
RemoveNo
BuscaNaLista
Respondido em 09/11/2020 21:48:12
Gabarito
Comentado
 
 
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:
20 5 8
5 8
 5 8 20
10 3 20
10 3 5 8 20
Respondido em 09/11/2020 21:48:18
 
 
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
 
 
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) 
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/5
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr)
I e II estão corretas.
III está correta
III e V estão corretas
 IV e V estão corretas.
I e IV estão corretas
Respondido em 09/11/2020 21:48:22
Gabarito
Comentado
 
 
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(pt->próximo != null)pt=pt->próximo->proximo;
while(próximo)pt=próximo;
 while(pt->próximo)pt=pt->próximo;
while(pt->próximo->proximo)pt=pt->próximo;
while(pt != null)pt=pt->próximo;
Respondido em 09/11/2020 21:48:26
 
 
Explicação:
O código será:
while(pt->próximo)pt=pt->próximo;
 
 
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 : 
 
struct no { 
int dado; 
struct no *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ó.
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da divisão
 Questão6
 Questão7
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 5/5
número por 2 no campo dado e aterrar o campo 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ó .
Respondido em 09/11/2020 21:51:10
Gabarito
Comentado
 
 
Sabendo que uma fila encadeada possui 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;
no p -> new no;
p *no -> new no;
p *no=new no;
Respondido em 09/11/2020 21:51:16
Gabarito
Comentado
 
 
 
 Questão8
javascript:abre_colabore('38403','212924029','4292986674');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/5
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
8a aula
 Lupa 
 
Exercício: CCT0826_EX_A8_201907341382_V1 06/11/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
Considere 
 
int *ptr, *qtr, *r; 
 
int a = 10, b = 20; 
 
 
 
Após executar cada instrução conforme a ordem dada a seguir : 
 
 
ptr = &a; 
 
qtr = &b; 
 
*ptr = *ptr + *qtr; 
 
++(*qtr); 
 
r = qtr; 
 
qtr = ptr; 
 
 
 
assinale a opção que mostra, correta e respectivamente, os valoresde *ptr, *qtr , *r , a e b . 
 
30 30 21 10 20
30 21 21 10 20
30 20 20 10 20
 30 30 21 30 21
30 20 0 30 21
Respondido em 06/11/2020 00:10:55
 
 
Na Alocação dinâmica, temos alguma regras a considerar. Leia atentamente as afirmativas abaixo e
assinale a correta.
 
I Alocou com new, desaloca com free
II Alocou com new[], desaloca com delete
III Alocou com new[], desaloca com delete[]
 Questão1
 Questão2
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/5
IV Alocou com new[], desaloca com free[]
V Alocou com new, desaloca com delete
I e III estão corretas
I e IV estão corretas
I, II, III e V estão corretas
 III e V estão corretas
II e V estão corretas
Respondido em 06/11/2020 00:11:02
 
 
As variáveis são na verdade trecho de memórias que armazenam dados
de diversas naturezas, portanto sempre que declara-se uma variável, na
linguagem C++, é necessário informar o tipo de dado que esta irá
armazenar. Um tipo especial de variáveis são os ponteiros, isto é,
variáveis que armazenam apenas os endereços de outras variáveis.
Assim os ponteiros são usados para que se possa acessar de forma
indireta uma outra variável. Sabendo-se disto e supondo que o endereço
na memória da variável "a" é 100 e o endereço da memória da variável
ponteiro é 200, analise o trecho de código abaixo e marque a alternativa
que representa a saída do programa:
 
200 9 100
 100 9 200
9 9 200
9 100 200
100 100 200
Respondido em 06/11/2020 00:11:06
 
 
Explicação:
100 ===> endereço da memória da variável a
9 ===> valor da variável a
200 ===> endereço da memória da variável ponteiro
 
 
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 = 20170562;
 p = &matricula;
 Questão3
 Questão4
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/5
char *p;
p->matricula = 20170562;
*p = matricula;
Respondido em 06/11/2020 00:11:12
 
 
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.
 
 
q Considere 
 
int *p, *q, *r;
int x = 10, y = 20;
 
Após seguir cada instrução na ordem dada a seguir :
 
p = &x;
q = &y;
*p = *p + *q;
(*q)++;
r = q;
q = p;
 
iden�fique a opção que fornece correta e respec�vamente, os valores de *p, *q , *r , x e y :
 
30 30 21 10 20
30 20 0 30 21
 30 30 21 30 21
30 21 21 10 20
30 20 20 10 20
Respondido em 06/11/2020 00:08:39
 
 
Explicação:
Fazendo passo a passo temos :
int *p, *q, *r;
int x = 10, y = 20;
p = &x; //p aponta para x, que vale 10
q = &y; // q aponta para y que recebeu 20
*p = *p + *q; //a área apontada por p, que é x, vai receber 10 + 20, que dá 30. Logo, *p e x valem 30.
(*q)++; //A área apontada por q é incrementada. Ou sejam, y ou *q recebem 21
r = q; //r aponta para y
q = p; // q aponta para onde p aponta, ou seja, q aponta para x
Logo :
*p , que é x, vale 30
*q, que é igual a *p, que é x, vale 30
*r é y, que vale 21
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/5
x vale 30
y vale 21
Logo, a resposta certa é 30 30 21 30 21
 
 
 
Seja uma lista encadeada cujo nodo é representado por:
struct nodo{
 int valor;
 nodo prox;
};
 
Esta estrutura possui um ponteiro de referência que aponta sempre para o primeiro nodo da lista, sendo este
declarado como: nodo *lista;
Numa lista encadeada seu último nodo possui o campo prox sempre igual a NULL. Marque a opção que representa o
trecho de código onde um ponteiro auxiliar é capaz de percorre a lista até seu último nodo:
nodo *lista=aux;
while(aux->prox)aux=aux->prox; 
nodo *aux=lista;
while(lista->prox)aux=aux->prox;
nodo *aux=lista;
while(aux->prox)aux->prox=aux->prox;
 nodo *aux=lista;
while(aux->prox)aux=aux->prox; 
nodo *aux=lista;
while(aux)aux->prox=aux; 
Respondido em 06/11/2020 00:11:24
 
 
Explicação:
nodo *aux=lista;
while(aux->prox)aux=aux->prox; 
 
 
As structs (estruturas) são utilizadas para modelar os nodos de estruturas dinâmicas como, por exemplo, as listas
encadeadas, seja o seguinte exemplo de nodo de uma lista de produtos: struct nodo{ float valor; string produto; nodo *
proximo; }; Suponha que um determinado ponteiro pt esteja apontando para um nodo desta lista, e que se queira alterar
o conteúdo do campo valor deste nodo, que está sendo apontado por pt, para 5.60. Marque a alternativa que
corretamente possibilita esta operação:
 pt->valor=5.60;
pt->5.60;
pt->próximo->valor=5.60;
pt.valor->5.60;
pt->próximo.valor=5.60;
Respondido em 09/11/2020 21:49:02
Gabarito
Comentado
 
 
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
 Questão6
 Questão7
 Questão8
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 5/5
ponteiro.
V Quando se usa *nomeDaVariávelPonteiro com o comando cout, é exibido o conteúdo da variável
apontada pela variável ponteiro.
I IV e V estão corretas
I, II e IV estão corretas
Somente a II está correta
IV e V estão corretas
 II e V estão corretas
Respondido em 06/11/2020 00:11:29
Gabarito
Comentado
 
 
 
javascript:abre_colabore('38403','212392657','4281066803');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/3
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
7a aula
 Lupa 
 
Exercício: CCT0826_EX_A7_201907341382_V1 06/11/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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 encadeada.
 fila.
pilha.
árvore.
lista simples.
Respondido em 06/11/2020 00:09:33
 
 
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.
 
 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores podendo ser
do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa forma, a estrutura que
para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover os elementos a sua frente, é
chamada de:
Struct
Bolha
Pilha
 Fila
Matriz
Respondido em 06/11/2020 00:07:02
Gabarito
Comentado
 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, exatamente nesta
ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e imediatamente inserirmos dois novos
 Questão1
 Questão2
 Questão3
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/3
elementos o X e o W. Podedmos afirmar que se realizarmos uma nova operação de remoção, o elemento que será
removido desta fila sera o:
A
W
X
 C
D
Respondido em 06/11/2020 00:07:07
Gabarito
Comentado
Gabarito
Comentado
Gabarito
Comentado
 
 
Assumindo que estamos com uma estrutura de dados do tipo FIFO, asoperações abaixo vão resultar em que elementos
na mesma: ENFILEIRAR(4), ENFILEIRAR(5), ENFILEIRAR(6), DESENFILEIRAR(), DESENFILEIRAR(), ENFILEIRAR(5),
ENFILEIRAR(7), DESENFILEIRAR()
7 5
4 6 7
 5 7
4 5
4 5 6
Respondido em 06/11/2020 00:10:18
 
 
Pode-se citar os seguintes exemplos de aplicação da estrutura fila: Fila de arquivos para impressão:
Atendimento de processos requisitados a um sistema operacional.
Buffer para gravação de dados em mídia.
O tratamento do armazenamento das teclas que estão sendo digitadas antes da tecla enter ser pressionada.
Agora analise as seguintes afirmativas:
 I- Uma fila guarda a ordem direta em que os elementos foram armazenados.
 II- Uma fila guarda a ordem reversa em que os elementos foram armazenados.
 III- O algoritmo que é implementado em uma fila é baseao no princípio: " O último a entrar é o primeiro a sair".
IV- O algoritmo que é implementado em uma fila é baseao no princípio: " O primeiro a entrar é o primeiro a sair".
 Marque a alternativa correta:
II e III estão corretas
I e III estão corretas
II e Iv estão corretas
Apenas a IV está correta
 I e IV estão corretas
Respondido em 06/11/2020 00:07:47
Gabarito
Comentado
Gabarito
Comentado
Gabarito
Comentado
 
 
Ao treinar macacos, foi realizado um jogo para avaliar sua memória. O cien�sta fornecia sequências de cartas com figuras geométricas e o macaco devia
reproduzir a mesma sequência usando figuras geométricas reais. Qual a estrutura de dados mais adequada para modelar esse jogo ?
 fila
grafo
árvore
pilha
 Questão4
 Questão5
 Questão6
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/3
lista
Respondido em 06/11/2020 00:10:28
 
 
Explicação:
Fila é baseada na lógica FIFO, o primeiro a entrar será o primeiro a sair da fila. Portanto, como as cartas serão retornadas
na mesma ordem da entrada, a resposta certa é fila.
Veja porque não podem ser as outras opções: 
Não pode ser pilha, pois pilha retorna os valores na ordem inversa à ordem de entrada.
Não pode ser lista porque na lista insere-se ou retira-se de qualquer posição.
Não pode ser Árvore ou Grafo pois são não lineares e o problema descrito é linear.
 
 
 
Para organizar o acesso dos processos que demandam recursos do computador (uso da CPU, acesso ao disco rígido e a
outros dispositivos de Entrada e Saída), o Sistema Operacional gerencia essas demandas colocando os processos
requisitantes em:
Listas
Árvores
 Filas
Pilhas
Structs
Respondido em 06/11/2020 00:07:54
 
 
Explicação:
Um exemplo de aplicação de fila : fila de processos para CPU. O primeiro processo a chegar fará uso da CPU. O mesmo
para os dispostivos de I/O.
 
 
Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada:
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "último" nó da lista, formando um ciclo.
Além do campo relativo ao dado, cada nó possui dois ponteiros,
Cada nó possui um só ponteiro que referencia o próximo nó da lista.
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista.
Respondido em 06/11/2020 00:07:58
Gabarito
Comentado
 
 
 
 Questão7
 Questão8
javascript:abre_colabore('38403','212392593','4281065403');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/5
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
6a aula
 Lupa 
 
Exercício: CCT0826_EX_A6_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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.
vetores
listas
 pilhas
filas
árvores
Respondido em 14/10/2020 22:26:05
 
 
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.
 
 
 
Sabe-se que Push() coloca um elemento na pilha, Pop() remove um elemento da pilha e Top() exibe o
elemento que se encontra no topo.
 
Assinale a opção que indica o número que aparecerá após a execução das funções abaixo.
 
Sequencia: Push() / Push()/ Pop()/ Push()/Pop()/ Top() 
Números que deverão ser empilhados nessa ordem: 8/ 15/ 23/ 13 / 18
23
15
13
18
 8
Respondido em 14/10/2020 22:26:11
 Questão1
 Questão2
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/5
Gabarito
Comentado
 
 
As estruturas de dados devem ser especificadas de modo que estas
auxiliem as aplicações em sua principal tarefa ou funcionalidade. Sendo
assim, pode-se desenvolver uma aplicação capaz de fazer a conversão
de números da base 10, para a base binária, octal ou hexadecimal a partir
de um algoritmo de divisões sucessivas. Este algoritmo baseia na divisão
de um número decimal pela base que se deseja a transformação,
armazenando o resto da divisão em uma estrutura de dados, efetuando
nova divisão no resultado obtido da divisão prévia, novamente
armazenando o resto desta operação na estrutura de dados e assim por
diante até que o resultado da divisão seja zero. Neste momento, a
estrutura possui exatamente, na ordem reversa, os algarismos
correspondentes ao número convertido para a nova base. Analisando esta
estratégia poder-se-ia dizer que a estrutura de dados mais propícia para
tal tarefa é :
Grafo
Lista
Árvore
 Pilha
Fila
Respondido em 14/10/2020 22:26:17
Gabarito
Comentado
 
 
Pilha é uma estrutura de dados
 Cujo acesso aos seus elementos segue a lógica LIFO.
Que pode ser implementada somente por meio de listas.
Que pode ser implementada somente por meio de vetores.
Cujo acesso aos seus elementos segue tanto a lógica LIFO quanto a FIFO.
Cujo acesso aos seus elementos ocorre de forma aleatória.
Respondido em 14/10/2020 22:28:54
 
 
Explicação:
Pilha é uma lista que segue a lógica LIFO para inserções e remoções. Pode ser implementada com vetores ou listas
encadeadas.
Fila é uma lista que segue a lógica FIFO.
Gabarito
Comentado
 
 
 Questão3
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/5
Marque a opção que representa uma característica CORRETA a respeito da estrutura de dados pilha.
Os acessos aos itens ocorrem de forma aleatória.
Não é possível criar uma pilha utilizando vetores.
O primeiro item inserido é o primeiro a ser retirado.
O último item inserido é o último item a ser retirado.
 O último item inserido é o primeiro item a ser retirado.
Respondido em 14/10/2020 22:26:26
 
 
Explicação:
A estrutura de dados Pilha faz uso da lógica LIFO (last-in first-out), isto é, o último elemento a
entrar é o primeiro a sair.
Essa estrutura pode ser usada com alocação estática (com vetor) e com alocação dinâmica (listas
encadeadas).
Sempre que pedir para explicar essa estrutura, não deixe de falar sobre a lógica usada.
Gabarito
Comentado
 
 
Considere que existe uma rotina para inserir um valor inteiro em uma pilha de inteiros com o protótipo abaixo: 
 int push (int pilha[], int valor, int &topo); //retorno: 1=empilhou; 0=não empilhou
Considere que existe uma função que remove um valor de uma pilha, que possui o protótipo abaixo:
 int pop (int pilha[], int &valor, int &topo);//retorno: 1=desempilhou; 0=não desempilhou
Considere ainda a execução do seguinte trecho do programa principal:
int primeira[5], topoP=-1, segunda[5], topoS=-1, numero;
push (primeira, 3, topoP);
push (primeira, 5, topoP);
pop (primeira, numero, topoP);
push (segunda, numero, topoS);push (segunda, 7, topoS);
push (primeira, 1, topoP);
 Ao final da execução do techo de código acima, responda, nesta ordem, quantos valores haverá na pilha primeira, 
quantos valores haverá na pilha segunda, qual é o valor no topo da pilha primeira e qual é o valor no topo da pilha
segunda. 
1; 2; 1; 7
2; 1; 1; 5
3; 2; 3; 5
 2; 2; 1; 7
2; 2; 3; 5
Respondido em 14/10/2020 22:26:33
 
 
Explicação:
Empilhamos o valor 3, depois o valor 5 em primeira, ficando o valor 5 no topo da pilha.
Ao desempilhar de primeira, numero recebeu 5 e 3 ficou no topo da pilha.
Então, seguimos para empilhar em segunda o valor 5 e depois, o valor 7. Logo, 7 ficou no topo da pilha.
Ao final, mais um empilhamento em primeira com o valor 2, ficando 2 no topo da pilha.
Portanto, existem 2 valores em primeira, 2 valores em segunda, sendo que no topo de primeira existe o valor 1 e no topo
de segunda existe o valor 7.
 
 
 Questão6
 Questão
7
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/5
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;
 
topo.pilha = -1;
 
 
 
Pilha.topo = 0;
 
 
 p.topo = -1;
Respondido em 14/10/2020 22:26:39
Gabarito
Comentado
 
 
Observe a função que manipula uma pilha e assuma que TAM é uma constante definida com valor 5.
Saiba que o nome da função já explícita a finalidade dela.
 
Considere a chamada da função conforme linha abaixo, sabendo-se que vet é um vetor de tamanho 5 e
que não tem nenhum valor ainda:
 
 
Analise as afirmativas abaixo que sugerem correções, ou não, na definição na função e assinale a opção
que contem as afirmativas corretas.
 
I Faltou & antes da variável vetor e irá acusar erro. 
II A variável topo está sem tipo.
III O teste está correto porque o índice do primeiro elemento do vetor em C++ é 1, obrigatoriamente. 
IV Na linha comentada deveria estar presente um comando de atribuição que decrementaria a variável
topo. 
V A linha vetor[topo]=valor; está correta.
 Questão8
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 5/5
I , III e V estão corretas
I e II estão corretas
 II e V estão corretas
I e III estão corretas
I, II e IV estão corretas
Respondido em 14/10/2020 22:26:45
Gabarito
Comentado
 
 
 
javascript:abre_colabore('38403','209637192','4197101892');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/5
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
5a aula
 Lupa 
 
Exercício: CCT0826_EX_A5_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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
I, II, III, IV
I, II
 I, II, IV
I, III, IV
Respondido em 14/10/2020 22:02:50
 
 
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.
 Questão1
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/5
 
Resposta certa : As afirmativas I, II, IV estão certas
 
 
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 recebendo os seguintes valores, o que ela retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6
4
3
6
0
 -1
Respondido em 14/10/2020 22:02:57
 
 
Explicação:
Analisando
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 recebendo os seguintes valores, o que ela retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6
Está procurando pelo valor e = -6. Como se sabe pelo estudo da busca binária e olhando o código dado, temos que -6
não existe na lista então a função irá retornar -1 (vide última linha da função). SE a busca tivesse sucesso, o teste do 1o.
if no while seria verdadeiro e então o índice m de v seria retornado. Mas não é o caso, pois -6 não foi encontrado.
 
 
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:
Estão corretas apenas as afirmativas I e II.
Está correta apenas a afirmativa I.
Estão corretas apenas as afirmativas I e III.
 Nenhuma afirmação está correta.
Está correta apenas a afirmativa II.
Respondido em 14/10/2020 22:05:32
 
 
Explicação:
 Questão2
 Questão3
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/5
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.
 
 
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
Inicialização
 Inserção
Ordenação por inserção
Busca
Respondido em 14/10/2020 22:05:41
Gabarito
Comentado
 
 
São métodos ou algoritmos conhecidos de ordenação de dados por troca:
busca por ordenação e ordenação shell.
 bubble sort e quicksort.
hashing e bubble sort.
quicksort e hashing.
ordenação shell e hashing.Respondido em 14/10/2020 22:03:18
 
 
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
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/5
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.
 
 
 
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
Pilha Encadeada
Lista Encadeada
Fila Sequencial
Respondido em 14/10/2020 22:03:24
Gabarito
Comentado
 
 
for (int i = 0; i < n; i++)
 cout << L.matricula << " " << L.nome << endl;
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 << 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].nome[30] << endl;
Respondido em 14/10/2020 22:06:00
Gabarito
Comentado
 
 
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a forma de
armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em mente um tamanho
pré-definido, ou seja, quando se sabe até onde a lista pode crescer.
 Questão6
 Questão7
 Questão8
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 5/5
Lista Linear Não Sequencial
Lista Não Linear
 Lista Linear Sequencial
Lista Linear Não Alocada
Lista Linear de Alocação de Memória
Respondido em 14/10/2020 22:03:37
 
 
 
javascript:abre_colabore('38403','209625832','4196682448');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/4
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
4a aula
 Lupa 
 
Exercício: CCT0826_EX_A4_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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 Externa
Ordenação Simples
 Ordenação Interna
Ordenação Eficiente
Ordenação Simples Externa
Respondido em 14/10/2020 22:01:43
Gabarito
Comentado
Gabarito
Comentado
Gabarito
Comentado
 
 
Considere as afirmativas a seguir.
I. Uma forma muito simples de fazer uma busca em um vetor consiste em percorrer o vetor, elemento a elemento,
para verificar se o elemento procurado é igual a um dos elementos do vetor.
II. A pesquisa sequencial é extremamente simples e eficiente quando o número de elementos do vetor for
muito grande.
III. Na pesquisa binária, a cada interação do algoritmo o tamanho do vetor é dividido ao meio.
IV. A pesquisa binária funciona corretamente quanto o conjunto de dados estiver desordenado.
Assinale a alternativa correta.
Somente as afirmativas I e II são corretas.
Somente as afirmativas III e IV são corretas.
Somente as afirmativas II, III e IV são corretas.
 Somente as afirmativas I e III são corretas.
Somente as afirmativas I e IV são corretas.
Respondido em 14/10/2020 22:01:48
 
 
Explicação:
Analisando cada afirmativa :
I. Uma forma muito simples de fazer uma busca em um vetor consiste em percorrer o vetor, elemento a elemento, para
verificar se o elemento procurado é igual a um dos elementos do vetor.
 Questão1
 Questão2
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/4
Correto. SEria uma busca sequencial.
II. A pesquisa sequencial é extremamente simples e eficiente quando o número de elementos do vetor for muito
grande.
Falso. Se tivermos que procurar um elemento que está no fim do vetor ou que não seja encontrado, o tempo de execução
será proporcional ao número de elementos. Então, quanto maior a lista, mais tempo levaremos.
III. Na pesquisa binária, a cada interação do algoritmo o tamanho do vetor é dividido ao meio.
Correto.
IV. A pesquisa binária funciona corretamente quanto o conjunto de dados estiver desordenado.
Falso. Por definição, a busca binária só pode atuar em listas ordenadas.
Logo, apenas as afirmativas I e III estão corretas.
 
 
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 igual ao item que está na metade do vetor, o item não foi encontrado.
 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 maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita.
Respondido em 14/10/2020 22:04:26
 
 
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
Comentado
 
 
Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer acesso
aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam ordenados e utiliza a
técnica de divisão e conquista comparando o elemento desejado com o elemento do meio do vetor. Esta técnica ainda
verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso contrário, se o elemento do meio vier
antes do elemento buscado, então a busca continua na metade posterior do vetor. E se o elemento do meio vier depois da
chave, a busca continua na metade anterior do vetor. O algoritmo que utiliza esta metodologia é:
Pesquisa sequencial
Seleção
Inserção
 Pesquisa binária
Bolha
Respondido em 14/10/2020 22:04:34
Gabarito
Comentado
 
 
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
 Questão3
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/4
 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 trocoutrocou = true;
 } // fim if
 } // fim for
 fim--; // decrementa o fim
} // fim while
} // fim da função
Shellsort
Heapsort
Mergesort
 Bublesort
Quicksort
Respondido em 14/10/2020 22:02:11
Gabarito
Comentado
 
 
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:
Tabela Hash
Pesquisa ordenada
Pesquisa de seleção
 Pesquisa binária
Pesquisa sequêncial
Respondido em 14/10/2020 22:02:18
 
 
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 hash e não se encaixa na descrição feita.
Gabarito
Comentado
 
 
 Questão6
7
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/4
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.
É um tipo de sequenciação por intercalação.
É um tipo de ordenação por intercalação
Os pivôs são escolhidos aleatoriamente.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Respondido em 14/10/2020 22:04:56
Gabarito
Comentado
 
 
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};
busca(vetor, 4, 7);
busca(vetor, 2, 7);
busca(vetor, 0, 7);
 6
8
5
9
4
Respondido em 14/10/2020 22:05:03
 
 
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
 
 
 
 Questão
 Questão8
javascript:abre_colabore('38403','209625241','4196661439');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/4
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
3a aula
 Lupa 
 
Exercício: CCT0826_EX_A3_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
Qual das seguintes estruturas de dados é classificada como heterogênea?
Vetor
Fila
Pilha
 Registro
Loop
Respondido em 14/10/2020 22:00:29
 
 
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
Comentado
 
 
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, 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]; 
 Questão1
 Questão2
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/4
 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; 
}
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 14/10/2020 22:00:37
 
 
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
Comentado
 
 
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada".
 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 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 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 14/10/2020 22:00:45
 
 
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.
 
 
 Questão3
4
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/4
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;
 vet[10].nota=5.7;
vet[10].aluno.nota=5.7 ;
aluno.vet[10].nota=5.7;
Respondido em 14/10/2020 22:03:19
 
 
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[3].media=6.0;
aluno[10]=6.0;
vet[3].aluno=6.0;
 vet[3].media=6.0;
Respondido em 14/10/2020 22:00:54
 
 
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áveissimples, 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.5.7;
aluno.vet[10]=5.7;
vet[10].aluno.nota=5.7 ;
Respondido em 14/10/2020 22:03:31
 
 
 Questão
 Questão5
 Questão6
 Questão
7
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/4
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 14/10/2020 22:01:05
 
 
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 :
-> (seta).
, (vírgula).
& (e comercial ou eitza).
* (asterisco).
 ∙ (ponto).
Respondido em 14/10/2020 22:01:11
 
 
Explicação:
Por definição, o operador que permite acessar os campos de uma variável struct é o ponto (.).
 
 
 
 
 Questão8
javascript:abre_colabore('38403','209624485','4196634207');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/6
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
2a aula
 Lupa 
 
Exercício: CCT0826_EX_A2_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
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.
5
60
 120
1
24
Respondido em 14/10/2020 21:58:51
Explicação:
Acompanhando passo a passo :
long func1 (int n1) {
 int ft=1, i = 1;
 while ( i <= n1) {
 ft *= i;
 i++;
 }
 return ft;
 Questão1
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/6
}
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.
 
 
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 do dado do valor retornado da função para quem a chamou.
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 das variáveis que serão utilizadas dentro da função.
o escopo das variáveis do programa.
Respondido em 14/10/2020 21:59:12
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.
 
 
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 registro / área de pilha
 ( ) área de dados globais / área de pilha
 Questão2
 Questão3
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/6
( ) área de dados globais / área de registro
( ) área de pilha / área de registro
( ) área de registro / área de dados globais
Respondido em 14/10/2020 22:01:52
Explicação:
Como y e r são variáveis, ficarão armazenadas em na área de dados globais / área de pilha
 
 
Funções são semelhantes aos procedimentos, exceto que uma função sempre retorna um valor. Um exemplo de função seria
o conjunto de instruções para calcular o fatorial de um número e após a função ser executada, ela deve retornar o fatorial do
número pedido. Marque a opção que representa um protótipo de função válido.
tipo parametros(parametros);
 retorno nomeFuncao(parametros);
tipo parametros(int a, int b);
void float(int a, int b);
nome tipo(parametros);
Respondido em 14/10/2020 21:59:27
Explicação:
Por definição, o protótipo de uma função é formado da seguinte forma :
 nome_da_função ( );
 
 
Considere a função Adivinhe , n = 4 e que X é formado pela sequência "algoritmo". Assinale a opção que corretamente
mostra o vetor Y ao fim da execução da função Adivinhe.
void Adivinhe (char X[ ], char Y [ ], int n) {
 int i, j;
 j = 0;
 for ( i = n; i >= 0; i--)
 {
 Y[j] = X[i];
 j++;
 }
 Y[j] = '\0';
}
 rogla
algor
Ocorre erro, pois a função, que é do tipo void, não retorna o vetor Y.
ogla
algo
Respondido em 14/10/2020 22:02:06
Explicação:
Não há outra opção, pois a questão é objetiva. Vejamos passo a passo :
X armazena "algoritmo" e Y será gerado.
j i
0 4
1 3
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/6
2 2
3 1
4 0
5 -1 ... falha o teste i >= 0
A cada rodada do loop temos, considerando os valores de j e i acima, as seguintes atribuições :
Y[0] recebe X[4], que é 'r'
Y[1] recebe X[3], que é 'o'
Y[2] recebe X[2], que é 'g'
Y[3] recebe X[1], que é 'l'
Y[4] recebe X[0], que é 'a'
Y[5] recebe '\0'
Daí, Y será rogla
 
 
 
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 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.
 Questão6
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 5/6
O programa executa perfeitamente, mas não mostra o valor da media já que esta
função não foi chamada na função main( ).
 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 14/10/2020 22:02:15
Gabarito
Comentado
 
 
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;
} 
 
50
0
 5
Haverá um erro de compilação
10
Respondido em 14/10/2020 21:59:52
Gabarito
Comentado
 
 
Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a função chamada
e, dessa forma, o valor poderá ser alterado, ou não.
void
valor
caracter
 referência
número
Respondido em 14/10/2020 21:59:59
Explicação:
Esse é o conceito de passagem por referência.
 
 
 
 Questão7
 Questão8
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 6/6
javascript:abre_colabore('38403','209623672','4196605016');
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 1/4
Teste de
Conhecimento
 
 
 avalie sua aprendizagem
 ESTRUTURA DE DADOS
1a aula
 Lupa 
 
Exercício: CCT0826_EX_A1_201907341382_V1 14/10/2020
Aluno(a): JOMAR ALMEIDA FRANCA 2020.3 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907341382
 
Preciso fazer uma relação de tudo o que levar em minha viagem de mochila pela Europa. A
estrutura de dados maisadequada para armazenar tudo que preciso levar é ...
árvore
 lista
fila
grafo
pilha
Respondido em 14/10/2020 21:57:42
 
 
Explicação:
Conforme gabarito e aula 1.
 
 
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 I e III estão corretas.
 As alternativas I e II estão corretas
Todas as alternativas estão corretas.
As alternativas III e IV estão corretas.
As alternativas II e IV estão corretas.
Respondido em 14/10/2020 22:00:17
Gabarito
Comentado
 
 Questão1
 Questão2
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 2/4
 
Estão entre algumas das possíveis formas de se estruturar dados:
Grafos, algoritmos, fila.
Grafos, lista ordenada, algoritmos.
 Grafos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Algoritmos, lista ordenada, vetores.
Respondido em 14/10/2020 21:57:49
 
 
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
Comentado
 
 
 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 ?
 Árvore
 Pilha
 Grafo
Fila
 Lista
Respondido em 14/10/2020 21:57:57
 
 
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
 Questão3
 Questão4
 Questão5
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 3/4
á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, III, IV e VI são afirmativas verdadeiras
II, IV, V e VI são afirmativas verdadeiras
I, II e V são afirmativas verdadeiras
II, IV e V são afirmativas verdadeiras
Respondido em 14/10/2020 21:58:03
Gabarito
Comentado
 
 
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 uma fila e uma pilha.
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 um grafo.
Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
Após a impressão dos valores pela ordem teremos duas pilhas.
Respondido em 14/10/2020 21:58:11
 
 
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.
fila
 árvore
lista
grafo
pilha
Respondido em 14/10/2020 21:58:17
 
 
Explicação:
Conforme gabarito e aula 1.
 
 
Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é :
 Questão6
 Questão7
 Questão8
15/04/2021 EPS
https://simulado.estacio.br/alunos/ 4/4
Fila.
Pilha.
Vetor.
Lista.
 Grafo.
Respondido em 14/10/2020 21:58:24
 
 
Explicação:
Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear.
Não lineares : árvore e grafo.
 
 
 
 
javascript:abre_colabore('38403','209623083','4196582019');
15/12/2020 EPS
https://simulado.estacio.br/alunos/?p0=304483860&user_cod=2444292&matr_integracao=201907341382 1/4
JOMAR ALMEIDA FRANCA
201907341382
 
Disciplina: ESTRUTURA DE DADOS AV
Aluno: JOMAR ALMEIDA FRANCA 201907341382
Professor: ANITA LUIZA MACIEL LOPES
 Turma: 9001
CCT0826_AV_201907341382 (AG) 25/11/2020 21:32:27 (F) 
 
Avaliação:
9,0
Nota Partic.: Nota SIA:
10,0 pts
 
 
ESTRUTURA DE DADOS 
 
 1. Ref.: 95244 Pontos: 1,00 / 1,00
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, III, IV e V.
II, IV e V.
I, III e V.
 I, II e III.
II, III, IV e V.
 
 2. Ref.: 230378 Pontos: 1,00 / 1,00
Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, isto
é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. Então
considere o seguinte código:
#include< iostream >
using namespace std;
 
int main( )
{
 float a=10.0;
 float b=4.0;
 cout < < media(a,b);
 return 0; Educational Performace Solution EPS ® - Alunos 
javascript:voltar();
javascript:alert('C%C3%B3digo da quest%C3%A3o: 95244.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 230378.');
javascript:alert('Educational Performace Solution\n\nEPS: M%C3%B3dulo do Aluno\n\nAxiom Consultoria em Tecnologia da Informa%C3%A7%C3%A3o Ltda.')
15/12/2020 EPS
https://simulado.estacio.br/alunos/?p0=304483860&user_cod=2444292&matr_integracao=201907341382 2/4
}
float media(float x, float y) { return (x+y)/2;}
 
Marque a alternativa CORRETA:
O código compila normalmente e apresenta como resultado o valor 7.0
O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a
chamada se deu com identificadores "a" e "b".
 O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da função
float media(float x, float y)antes da função principal.
O código compila normalmente, pois como a descrição da função float media(float x, float y)está posicionada
após a função int main ( ), não há necessidade do uso de protótipos.
O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser armazenado
em uma variável do tipo float e só então poderia

Outros materiais