Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/05/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=33848280&user_cod=2740454&matr_integracao=202003452289 1/5 Teste de Conhecimento avalie sua aprendizagem Tem-se uma estrutura de dados do tipo lista encadeada com 10 elementos, em que o primeiro e o último elemento estão ligados entre si. Trata-se de uma estrutura de dados denominada Lista 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 { ESTRUTURA DE DADOS Lupa Calc. CCT0826_A8_202003452289_V1 Aluno: DERICK WORICK SANTOS VIEIRA Matr.: 202003452289 Disc.: ESTRUTURA DE DADOS 2021.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Invertida Encadeada Circular Duplamente Encadeada Balanceada Binária Explicação: Uma lista encadeada circular é uma lista encadeada e portanto, dinÂmica, em que o ponteiro do último nó aponta para o primeiro nó. A lista circular também pode ser vazia. 2. javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 04/05/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=33848280&user_cod=2740454&matr_integracao=202003452289 2/5 Paciente p; struct List *link; }; List * inserePac(List *i) { List *novo = new List; Paciente pat; novo->p = pat; novo->link = i; return novo; } List insereCliente(List *i, Paciente pac) { List novo[]; novo[0].p = pac; novo[0].link = i; return novo; } List * inserePac(List *i, Paciente pac) { List *novo = new List; novo.p = pac; novo.link = i; return novo; } List * inserePac(List *i, Paciente pt) { List *novo = new List; novo->p = pt; novo->link =i; return novo; } List * inserePac(List *i, Paciente pt){ List *novo ; novo->p = pt; novo->link = i; return novo; 04/05/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=33848280&user_cod=2740454&matr_integracao=202003452289 3/5 Sobre listas encadeadas, é INCORRETO afirmar que: 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? } Gabarito Comentado 3. a memória é alocada dinamicamente; o final da lista faz uma referência para NULL; são acessadas pelo primeiro nodo da lista; pilhas e filas são versões limitadas de listas encadeadas, pois as inserções e remoções não ocorrem em qualquer parte. possuem tamanho fixo; Explicação: Uma lista encadeada não tem tamanho fixo, pois usa-se alocação e desalocação dinâmica de memória. As demais afirmativas estão corretas. 4. no.chave = 5; no.proximo = no; no->proximo = new tno; no->proximo = -10; no->chave = new int; 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. 04/05/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=33848280&user_cod=2740454&matr_integracao=202003452289 4/5 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: Marque a afirmativa que represente uma separação. 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: no.proximo = no; >> Incorreto porque não pode se pode usar o ponto para acessar campo de struct apontada pelo ponteiro no. 5. nodo *lista=aux; while(aux->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; nodo *aux=lista; while(lista->prox)aux=aux->prox; Explicação: nodo *aux=lista; while(aux->prox)aux=aux->prox; 6. Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da necessidade. Intercalar a ordem dos dados da lista do final para o início, atualizando a lista. Organizar os dados da lista em ordem crescente ou decrescente. Alterar a ordem dos dados da lista do final para o início, atualizando a lista. Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante. Gabarito Comentado 7. pt->5.60; 04/05/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=33848280&user_cod=2740454&matr_integracao=202003452289 5/5 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. pt->valor=5.60; pt.valor->5.60; pt->próximo.valor=5.60; pt->próximo->valor=5.60; Gabarito Comentado 8. Somente as afirmativas i e ii estão corretas. Somente a afirmativa iii esta correta. Todas as afirmativas estão corretas. Somente a afirmativa i esta correta. Todas as afirmativas estão incorretas. Gabarito Comentado Não Respondida Não Gravada Gravada Exercício inciado em 04/05/2021 10:53:16. javascript:abre_colabore('34697','224382038','4539432005');
Compartilhar