Buscar

FIB-estrutura de dados

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 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 6 páginas

Prévia do material em texto

19/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 1/6
 
 
 
 ESTRUTURA DE DADOS
8a aula
 Lupa 
Exercício: CCT0637_EX_A8_201804002917_V3 19/05/2020
Aluno(a): PAULO GIOVANE PASSOS DA SILVA
Disciplina: CCT0637 - ESTRUTURA DE DADOS 201804002917
 
Admita a seguinte estrutura de nó de uma lista simplesmente encadeada: struct tno { int chave; tno *proximo; }; Admita,
agora, a seguinte declaração de uma variável do tipo nó: tno *no; Qual das alternativas a seguir traz uma operação válida
sobre essa variável?
no.chave = 5;
 no->proximo = new tno;
no->chave = new int;
no->proximo = -10;
no.proximo = no;
Respondido em 19/05/2020 22:02:45
 
 
Explicação:
Analisando cada item :
 no.chave = 5;
>> Como no é ponteiro então temos que usar a seta para acessar os
campos da área apontada por no.
 no->proximo = -10;
>> O campo proximo é de ponteiro então não pode receber inteiro.
 no->chave = new int;
>> O campo chave é de inteiro então não deve receber endereço de
inteiro. O operador new aloca memória e retorna o endereço da área
alocada.
 no->proximo = new tno;
>> É correto porque o campo proximo é campo de ponteiro e pode receber
outro ponteiro, pode receber NULL ou pode receber endereço da área
alocada com new, como foi o caso.
 Questão1
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
19/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 2/6
 no.proximo = no;
>> Incorreto porque não pode se pode usar o ponto para acessar campo
de struct apontada pelo ponteiro no.
 
Sobre listas simplesmente encadeadas, é INCORRETO afirmar que :
podem implementar pilha e fila dinâmicas
os nós da lista são alocados dinamicamente.
 possuem tamanho fixo
são acessadas através de um ponteiro para o primeiro nó da lista
o ponteiro do último nó é NULL
Respondido em 19/05/2020 22:03:10
 
 
Explicação:
Por definição, uma lista encadeada não tem tamanho pré-definido, pois os nós da lista são alocados em tempo de execução,
de acordo com a demanda.
 
Considere uma lista simplesmente encadeada com placas de carros. Assinale a opção que, corretamente, imprime todas as
placas da lista. Considere :
struct no {
 string placa;
 struct no *link;
};
no *p; //p aponta para o início da lista
 
 
 void imprimir(no *p) {
 while (p != NULL) {
 cout << pàplaca;
 p = pàlink;
}
}
 
 
void imprimir(no *p) {
 while (p != NULL) {
 cout << p.placa;
 p = p.link;
 }
 Questão2
 Questão3
19/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 3/6
}
void imprimir(no *p) {
 if (p != NULL) {
 cout << pàplaca;
 p = pàlink;
 }
}
void imprimir(no *p) {
 while (p != NULL) {
 cout << pàplaca;
 }
}
 
 
void imprimir(no p) {
 while (p != NULL) {
 cout << pàno;
 p = pàlink;
 }
}
 
Respondido em 19/05/2020 22:02:56
Gabarito
Comentado
 
A linguagem C++ oferece quatro meios de criação de tipos de dados: matrizes, estruturas ou structs, uniões e classes. As
estruturas, que passaremos a chamar simplesmente de structs, são tipos de variáveis que agrupam dados geralmente
desiguais, enquanto matrizes são variáveis que agrupam dados similares. Devido a esta característica as structs são utilizadas
para modelar nodos (nós) de estruturas dinâmicas. Portanto podemos afirmar que:
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e
terem seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois não podem fazer alocação de memória em tempo de execução,
mas mesmo assim conseguem ter seus tamanhos alterados de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de compilação e
entretanto seus tamanhos só são alterados na codificação de acordo com a demanda.
As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tanto em tempo de
execução quanto em tempo de compilação, mas não podem ter seus tamanhos alterados de acordo com a demanda.
 As estruturas dinâmicas são assim chamadas, pois podem fazer alocação de memória em tempo de execução e
terem seus tamanhos alterados de acordo com a demanda.
Respondido em 19/05/2020 22:03:01
 
Em uma aplicação que usa processos de alocação estática e dinâmica de memória é correto afirmar que
A memória utilizada pela aplicação é totalmente alocada após o inicio de sua execução
 Questão4
 Questão5
19/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 4/6
Toda a memória utilizada pela aplicação não muda durante toda a sua execução
Apenas a memória associada às variáveis do tipo vetor é alocada após o inicio da execução da aplicação
 A memória utilizada pela aplicação é inicialmente estática, mas pode mudar
Todas as afirmações acima são incorretas
Respondido em 19/05/2020 22:03:22
Gabarito
Comentado
 
Uma estrutura de dados pode ser Estática ou Dinâmica. No primeiro caso os limites são:
Determinados pelos ponteiros
Determinados pela memória
Indeterminados
 Determinados pelo problema em que serão utilizados
Determinados pelo usuário
Respondido em 19/05/2020 22:03:26
 
 
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.
 
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:
 
 Questão6
 Questão7
19/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 5/6
9 100 200
200 9 100
 100 9 200
9 9 200
100 100 200
Respondido em 19/05/2020 22:03:16
 
 
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
 
Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas o nome endereço e o telefone de cada paciente. Como
não há limites para o crescimento de sua lista, como se pode implementar a inserção de um novo paciente na lista, sabendo que cada paciente é do �po
Paciente e a lista é do �po List assim definidos :
struct Paciente {
 long int matricula;
 string nome, endereco e tel;
};
struct List {
 Paciente p;
 struct List *link;
 };
 List * inserePac(List *i, Paciente pac)
{
 List *novo = new List;
 novo.p = pac;
 novo.link = i;
 return novo;
}
List * inserePac(List *i) {
 List *novo = new List;
 Paciente pat;
 novo->p = pat;
 novo->link = i;
 return novo;
 Questão819/10/2020 EPS
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=3881789116&cod_hist_prova=194391624&pag_voltar=otacka 6/6
}
List insereCliente(List *i, Paciente pac)
{
 List novo[];
 novo[0].p = pac;
 novo[0].link = i;
 return novo;
}
List * inserePac(List *i, Paciente pt){
 List *novo ;
 novo->p = pt;
 novo->link = i;
 return novo;
}
 List * inserePac(List *i, Paciente pt)
{
 List *novo = new List;
 novo->p = pt;
 novo->link =i;
 return novo;
}
Respondido em 19/05/2020 22:03:23
Gabarito
Comentado
javascript:abre_colabore('38403','194391624','3881789116');

Continue navegando