Logo Passei Direto
Buscar

Avaliação 1

User badge image
alana sousa

em

Ferramentas de estudo

Questões resolvidas

Um programador criou uma lista dinâmica com base na estrutura apresentada a seguir: struct no { int dado; struct no *proximo; }; struct lista{ struct no *inicio; } struct lista l; O programador criou um programa para percorrer toda a lista, fazendo com que um ponteiro ptr, iterador, seja inicializado em l->inicio e incrementado até atingir o final da respectiva lista.
No critério de parada da estrutura de repetição utilizada para percorrer a lista, o programador deve esperar que ptr->proximo seja igual a que valor ou identificar o final da lista como?
A NULL.
B '\0'.
C l->final.
D Nulo.
E END.

Ao trabalhar com ponteiros, o desenvolvedor tem a possibilidade de realizar acessos a endereços de memória arbitrários. Além disso, ela permite, ainda, que você monitore endereços na memória, atribua e recupere valores de variáveis sem ao menos invocá-las diretamente.
Dessa forma, analise o trecho de código a seguir: int xi; int xy; int *ptr_xi; xi = 5; xy = xi; ptr_xi = & xi; xi = 12; Assinale a alternativa correta que apresenta o valor de cada uma das variáveis após a execução do código:
A xi é 12; xy é 5; ptr_xi é 5; *ptr_xi é um valor que representa o endereço de memória.
B xi é 12; xy é 12; ptr_xi é 12; *ptr_xi é um valor que representa o endereço de memória.
C xi é 12; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
D xi é 5; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
E xi é 12; xy é 5; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.

Imagine um restaurante no qual, a todo momento, clientes deixam pratos sujos para serem lavados. Geralmente, um ou mais garçons recolhem os pratos e os depositam na cozinha, cada prato em cima do prato anterior, formando uma estrutura conhecida como pilha.
Sabendo que o conceito de pilha pode ser transportado para o contexto da análise de sistemas, analise as afirmativas a seguir:
I. As pilhas são um tipo especial de listas cuja regra segue os princípios FIFO.
II. O novo elemento, quando é adicionado à pilha, de maneira geral, deve-se incrementar o valor de seu topo.
III. A implementação de uma pilha estática dispensa o auxílio das estruturas conhecidas genericamente por 'Nós'.
A III, apenas.
B I, apenas.
C I, II e III.
D II e III, apenas.
E I e II, apenas.

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Pode-se imaginar uma pilha de tijolos, uma pilha de roupas, de pratos. Todavia, suas aplicações computacionais variam desde as chamadas recursivas até a manipulação de dados em memória principal.
Considere o código a seguir, cujo propósito seria o de remover um elemento na posição que demarca o topo da pilha: 01 - void pilha_remover(struct str_no pilha){ 02 - struct str_no atual; 03 - atual = (struct str_no*) malloc(sizeof(struct str_no)); 04 - while(pilha->proximo != NULL){ 05 - atual = pilha; 06 - pilha = pilha->proximo; 07 - } 08 - atual->proximo = NULL; 09 - } Com base no código-fonte apresentado, analise as afirmativas a seguir:
I. Os comandos compreendidos entre as linhas 4, 5, 6 e 7 são para percorrer a lista do início ao fim.
II. A função tenta realizar a remoção de um elemento sem a preocupação de liberar memória.
III. O funcionamento desse algoritmo permaneceria inalterado caso o comando da linha 3 fosse removido.
A I, II e III.
B I e III, apenas.
C II, apenas.
D III, apenas.
E II e III, apenas.

Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de entrada e saída. Na pilha, a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo da pilha. Na fila, a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída no seu início.
A respeito de tais estruturas de dados, assinale a alternativa correta:
A Os registros são estruturas de dados para armazenamento heterogêneo, que possuem os dados a serem armazenados e um ponteiro para o próximo elemento.
B As filas e pilhas podem armazenar dados do mesmo tipo, mudando apenas as regras para implementar suas respectivas funções de inserção e remoção de elementos.
C As pilhas são estruturas homogêneas, de acesso direto, onde podemos armazenar elementos de tipos diferentes, sem uma ordem especificada.
D A função de desempilhar retira da pilha sempre o último elemento, a não ser que um índice seja indicado por parâmetro.
E A função de desempilhar retira da pilha sempre o primeiro elemento, a não ser que um índice seja indicado por parâmetro.

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Antes de entrar nas nuances técnicas sobre pilhas, vamos abstrair o seu conceito para uma situação real.
As funções de desempilhar e de empilhar são comumente chamadas de pop() e push(), respectivamente. Considere a seguinte pilha de números inteiros: PILHA: INÍCIO -> 5, 2, 15, 3, 9, 8, 4, 12, 10, 7, 1, 11 <-TOPO Sobre essa pilha, execute a seguinte sequência de operações: pop(); pop(); pop(); push(6); push(13); pop(); push(14); pop(); pop(); Assinale o elemento que será o próximo a ser removido se for chamada a função pop() mais uma vez:
A 8.
B 10.
C 7.
D 9.
E 11.

Após estudar ponteiros, é possível criarmos estruturas que aumentam ou diminuem conforme a necessidade. Esse é o caso de listas encadeadas, que podem ser tratadas em diversas formas, por exemplo como pilha, fila, duplamente encadeada, circulares e assim por diante. Com base em seus estudos, observe o trecho de código a seguir: 01 - void nomeDaFuncao(struct ptr_no *lista, int dado){ 02 - struct ptr_no *atual; 03 - atual = (struct ptr_no*) malloc(sizeof(struct ptr_no)); 04 - while((lista->dado != dado)){ 05 - if(lista->proximo == NULL){ 06 - break; 07 - } 08 - atual = lista; 09 - lista = lista->proximo; 10 - } 11 - if(lista->dado == dado){ 12 - atual->proximo = lista->proximo; 13 - } 14 - }Considere que, durante a invocação da referida função, o parâmetro lista recebe um ponteiro que aponta para o primeiro elemento da estrutura de dados. Ainda, leve em consideração que a struct ptr_no possui dois campos, a saber: dado, do tipo inteiro; e proximo, um ponteiro do tipo struct ptr_no. Assinale a alternativa correta que descreve a funcionalidade executada pela função apresentada: A) Insere um item da fila. B) Remove um item da fila. C) Remove um item da lista encadeada. D) Remove um item da pilha. E) Insere um item na lista encadeada.

Lista ligada, ou lista encadeada, é uma estrutura de dados linear e dinâmica. Ela é composta por uma sequência de nós que contém seus dados e também uma ou duas referências, ponteiros, que apontam para o nó anterior ou posterior. Há diversos modelos de lista ligadas como lista encadeada, listas duplamente encadeada e listas encadeadas circulares.
Com base no texto exposto, analise as afirmativas a seguir:
I. O processo de remoção de uma lista encadeada é simples, basta acessar a posição do vetor e inserir um valor vazio.
II. A lista duplamente encadeada é uma estrutura de dados na qual cada nó possui pelo menos três campos: um de dados e dois de endereço, sendo um dos endereços usado para apontar ao nó anterior e o outro aponta para o nó posterior (próximo nó).
III. O vetor estático, caso seja necessário aumentar o seu tamanho, basta alocar (adicionar) espaço no vetor.
IV. Os itens na lista são chamados de nó e contêm pelo menos dois elementos: um de dados e um de endereço. O campo de endereço contém o conteúdo do elemento armazenado na lista, já o campo de dados é um ponteiro para o próximo nó.
A II e IV, apenas.
B I e III, apenas.
C II, apenas.
D II, III e IV, apenas.
E I, II e III, apenas.

Considere o seguinte cenário: Você está visitando um médico para um check-up. Há muitas pessoas na clínica. Uma senhora está digitando os nomes de todas as pessoas em um arquivo. A pessoa que chegar mais cedo será atendida primeiro. Quando o médico está livre, ele chama o próximo paciente na sequência de chegada.
Sobre o exposto, avalie as asserções a seguir e a relação proposta entre elas:
I. O cenário representa a estrutura Fila porque segue o método primeiro que entra é o primeiro que sai.
II. Em uma fila, adicionamos elementos na parte de trás e os removemos na frente.
A As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
B As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
C A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
D A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
E As asserções I e II são falsas.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Um programador criou uma lista dinâmica com base na estrutura apresentada a seguir: struct no { int dado; struct no *proximo; }; struct lista{ struct no *inicio; } struct lista l; O programador criou um programa para percorrer toda a lista, fazendo com que um ponteiro ptr, iterador, seja inicializado em l->inicio e incrementado até atingir o final da respectiva lista.
No critério de parada da estrutura de repetição utilizada para percorrer a lista, o programador deve esperar que ptr->proximo seja igual a que valor ou identificar o final da lista como?
A NULL.
B '\0'.
C l->final.
D Nulo.
E END.

Ao trabalhar com ponteiros, o desenvolvedor tem a possibilidade de realizar acessos a endereços de memória arbitrários. Além disso, ela permite, ainda, que você monitore endereços na memória, atribua e recupere valores de variáveis sem ao menos invocá-las diretamente.
Dessa forma, analise o trecho de código a seguir: int xi; int xy; int *ptr_xi; xi = 5; xy = xi; ptr_xi = & xi; xi = 12; Assinale a alternativa correta que apresenta o valor de cada uma das variáveis após a execução do código:
A xi é 12; xy é 5; ptr_xi é 5; *ptr_xi é um valor que representa o endereço de memória.
B xi é 12; xy é 12; ptr_xi é 12; *ptr_xi é um valor que representa o endereço de memória.
C xi é 12; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
D xi é 5; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
E xi é 12; xy é 5; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.

Imagine um restaurante no qual, a todo momento, clientes deixam pratos sujos para serem lavados. Geralmente, um ou mais garçons recolhem os pratos e os depositam na cozinha, cada prato em cima do prato anterior, formando uma estrutura conhecida como pilha.
Sabendo que o conceito de pilha pode ser transportado para o contexto da análise de sistemas, analise as afirmativas a seguir:
I. As pilhas são um tipo especial de listas cuja regra segue os princípios FIFO.
II. O novo elemento, quando é adicionado à pilha, de maneira geral, deve-se incrementar o valor de seu topo.
III. A implementação de uma pilha estática dispensa o auxílio das estruturas conhecidas genericamente por 'Nós'.
A III, apenas.
B I, apenas.
C I, II e III.
D II e III, apenas.
E I e II, apenas.

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Pode-se imaginar uma pilha de tijolos, uma pilha de roupas, de pratos. Todavia, suas aplicações computacionais variam desde as chamadas recursivas até a manipulação de dados em memória principal.
Considere o código a seguir, cujo propósito seria o de remover um elemento na posição que demarca o topo da pilha: 01 - void pilha_remover(struct str_no pilha){ 02 - struct str_no atual; 03 - atual = (struct str_no*) malloc(sizeof(struct str_no)); 04 - while(pilha->proximo != NULL){ 05 - atual = pilha; 06 - pilha = pilha->proximo; 07 - } 08 - atual->proximo = NULL; 09 - } Com base no código-fonte apresentado, analise as afirmativas a seguir:
I. Os comandos compreendidos entre as linhas 4, 5, 6 e 7 são para percorrer a lista do início ao fim.
II. A função tenta realizar a remoção de um elemento sem a preocupação de liberar memória.
III. O funcionamento desse algoritmo permaneceria inalterado caso o comando da linha 3 fosse removido.
A I, II e III.
B I e III, apenas.
C II, apenas.
D III, apenas.
E II e III, apenas.

Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de entrada e saída. Na pilha, a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo da pilha. Na fila, a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída no seu início.
A respeito de tais estruturas de dados, assinale a alternativa correta:
A Os registros são estruturas de dados para armazenamento heterogêneo, que possuem os dados a serem armazenados e um ponteiro para o próximo elemento.
B As filas e pilhas podem armazenar dados do mesmo tipo, mudando apenas as regras para implementar suas respectivas funções de inserção e remoção de elementos.
C As pilhas são estruturas homogêneas, de acesso direto, onde podemos armazenar elementos de tipos diferentes, sem uma ordem especificada.
D A função de desempilhar retira da pilha sempre o último elemento, a não ser que um índice seja indicado por parâmetro.
E A função de desempilhar retira da pilha sempre o primeiro elemento, a não ser que um índice seja indicado por parâmetro.

A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Antes de entrar nas nuances técnicas sobre pilhas, vamos abstrair o seu conceito para uma situação real.
As funções de desempilhar e de empilhar são comumente chamadas de pop() e push(), respectivamente. Considere a seguinte pilha de números inteiros: PILHA: INÍCIO -> 5, 2, 15, 3, 9, 8, 4, 12, 10, 7, 1, 11 <-TOPO Sobre essa pilha, execute a seguinte sequência de operações: pop(); pop(); pop(); push(6); push(13); pop(); push(14); pop(); pop(); Assinale o elemento que será o próximo a ser removido se for chamada a função pop() mais uma vez:
A 8.
B 10.
C 7.
D 9.
E 11.

Após estudar ponteiros, é possível criarmos estruturas que aumentam ou diminuem conforme a necessidade. Esse é o caso de listas encadeadas, que podem ser tratadas em diversas formas, por exemplo como pilha, fila, duplamente encadeada, circulares e assim por diante. Com base em seus estudos, observe o trecho de código a seguir: 01 - void nomeDaFuncao(struct ptr_no *lista, int dado){ 02 - struct ptr_no *atual; 03 - atual = (struct ptr_no*) malloc(sizeof(struct ptr_no)); 04 - while((lista->dado != dado)){ 05 - if(lista->proximo == NULL){ 06 - break; 07 - } 08 - atual = lista; 09 - lista = lista->proximo; 10 - } 11 - if(lista->dado == dado){ 12 - atual->proximo = lista->proximo; 13 - } 14 - }Considere que, durante a invocação da referida função, o parâmetro lista recebe um ponteiro que aponta para o primeiro elemento da estrutura de dados. Ainda, leve em consideração que a struct ptr_no possui dois campos, a saber: dado, do tipo inteiro; e proximo, um ponteiro do tipo struct ptr_no. Assinale a alternativa correta que descreve a funcionalidade executada pela função apresentada: A) Insere um item da fila. B) Remove um item da fila. C) Remove um item da lista encadeada. D) Remove um item da pilha. E) Insere um item na lista encadeada.

Lista ligada, ou lista encadeada, é uma estrutura de dados linear e dinâmica. Ela é composta por uma sequência de nós que contém seus dados e também uma ou duas referências, ponteiros, que apontam para o nó anterior ou posterior. Há diversos modelos de lista ligadas como lista encadeada, listas duplamente encadeada e listas encadeadas circulares.
Com base no texto exposto, analise as afirmativas a seguir:
I. O processo de remoção de uma lista encadeada é simples, basta acessar a posição do vetor e inserir um valor vazio.
II. A lista duplamente encadeada é uma estrutura de dados na qual cada nó possui pelo menos três campos: um de dados e dois de endereço, sendo um dos endereços usado para apontar ao nó anterior e o outro aponta para o nó posterior (próximo nó).
III. O vetor estático, caso seja necessário aumentar o seu tamanho, basta alocar (adicionar) espaço no vetor.
IV. Os itens na lista são chamados de nó e contêm pelo menos dois elementos: um de dados e um de endereço. O campo de endereço contém o conteúdo do elemento armazenado na lista, já o campo de dados é um ponteiro para o próximo nó.
A II e IV, apenas.
B I e III, apenas.
C II, apenas.
D II, III e IV, apenas.
E I, II e III, apenas.

Considere o seguinte cenário: Você está visitando um médico para um check-up. Há muitas pessoas na clínica. Uma senhora está digitando os nomes de todas as pessoas em um arquivo. A pessoa que chegar mais cedo será atendida primeiro. Quando o médico está livre, ele chama o próximo paciente na sequência de chegada.
Sobre o exposto, avalie as asserções a seguir e a relação proposta entre elas:
I. O cenário representa a estrutura Fila porque segue o método primeiro que entra é o primeiro que sai.
II. Em uma fila, adicionamos elementos na parte de trás e os removemos na frente.
A As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
B As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
C A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
D A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
E As asserções I e II são falsas.

Prévia do material em texto

Peso da Avaliação2,00
Qtd. de Questões10
Acertos/Erros7/3
Nota7,00
1
Um programador criou uma lista dinâmica com base na estrutura apresentada a seguir:
 
struct no {
                int dado;
                struct no *proximo;
};
 
struct lista{
                struct no *inicio;
}
 
struct lista l;
O programador criou um programa para percorrer toda a lista, fazendo com que um ponteiro ptr, iterador, seja inicializado em l->inicio e incrementado até atingir o final da respectiva lista. No critério de parada da estrutura de repetição utilizada para percorrer a lista, o programador deve esperar que ptr->proximo seja igual a que valor ou identificar o final da lista como?
A
NULL.
B
'\0'.
C
l->final.
D
Nulo.
E
END.
2
Ao trabalhar com ponteiros, o desenvolvedor tem a possibilidade de realizar acessos a endereços de memória arbitrários. Além disso, ela permite, ainda, que você monitore endereços na memória, atribua e recupere valores de variáveis sem ao menos invocá-las diretamente.
 
Dessa forma, analise o trecho de código a seguir:
int xi;
int xy;
int *ptr_xi;
xi = 5;
xy = xi;
ptr_xi = & xi;
xi = 12;
Assinale a alternativa correta que apresenta o valor de cada uma das variáveis após a execução do código:
A
xi é 12; xy é 5; ptr_xi é 5; *ptr_xi é um valor que representa o endereço de memória.
B
xi é 12; xy é 12; ptr_xi é 12; *ptr_xi é um valor que representa o endereço de memória.
C
xi é 12; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
D
xi é 5; xy é 12; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
E
xi é 12; xy é 5; *ptr_xi é 12; ptr_xi é um valor que representa o endereço de memória.
Revisar Conteúdo do Livro
3
Imagine um restaurante no qual, a todo momento, clientes deixam pratos sujos para serem lavados. Geralmente, um ou mais garçons recolhem os pratos e os depositam na cozinha, cada prato em cima do prato anterior, formando uma estrutura conhecida como pilha.
Sabendo que o conceito de pilha pode ser transportado para o contexto da análise de sistemas, analise as afirmativas a seguir:
I. As pilhas são um tipo especial de listas cuja regra segue os princípios FIFO.
II. O novo elemento, quando é adicionado à pilha, de maneira geral, deve-se incrementar o valor de seu topo.
III. A implementação de uma pilha estática dispensa o auxílio das estruturas conhecidas genericamente por "Nós".
É correto o que se afirma em:
A
III, apenas.
B
I, apenas.
C
I, II e III.
D
II e III, apenas.
E
I e II, apenas.
Revisar Conteúdo do Livro
4
A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Pode-se imaginar uma pilha de tijolos, uma pilha de roupas, de pratos. Todavia, suas aplicações computacionais variam desde as chamadas recursivas até a manipulação de dados em memória principal.
Considere o código a seguir, cujo propósito seria o de remover um elemento na posição que demarca o topo da pilha:
 
01 - void pilha_remover(struct str_no pilha){
02 -     struct str_no atual;
03 -     atual = (struct str_no*) malloc(sizeof(struct str_no));
04 -     while(pilha->proximo != NULL){
05 -          atual = pilha;
06 -          pilha = pilha->proximo;
07 -     }
08 -     atual->proximo = NULL;
09 - }
Com base no código-fonte apresentado, analise as afirmativas a seguir:
I. Os comandos compreendidos entre as linhas 4, 5, 6 e 7 são para percorrer a lista do início ao fim.
II. A função tenta realizar a remoção de um elemento sem a preocupação de liberar memória.
III. O funcionamento desse algoritmo permaneceria inalterado caso o comando da linha 3 fosse removido.
É correto o que se afirma em:
A
I, II e III.
B
I e III, apenas.
C
II, apenas.
D
III, apenas.
E
II e III, apenas.
5
Pode-se imaginar uma pilha ou fila nas quais seus elementos contivessem, além do dado armazenado, o endereço de referência para o próximo elemento. Para a estrutura de dados que se organiza dessa maneira, dá-se o nome de lista encadeada.
Fonte: adaptado de: DROZDEK, A. Estrutura de dados e algoritmos em C++. 2. ed. São Paulo: Cengage Learning, 2016.
Sobre a implementação de listas, avalie as asserções a seguir e a relação proposta entre elas:
I. A utilização de estruturas de dados que podem utilizar alocação dinâmica de memória, como as listas duplamente encadeadas, mostra-se vantajosa, principalmente por evitar desperdício de memória.
 
PORQUE
 
II. A memória física de um computador é como um grande vetor estático, que pode ser vasculhado à procura de posições livres para se realizar alocação de memória em tempo de compilação.
A respeito dessas asserções, assinale a opção correta:
A
As asserções I e II são falsas.
B
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
C
A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
D
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
E
A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
6
Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de entrada e saída. Na pilha, a entrada e a saída de dados se dão pela mesma extremidade, chamada de topo da pilha. Na fila, a entrada e a saída ocorrem em lugares opostos: a entrada acontece no final da fila e a saída no seu início.
Fonte: adaptado de: DROZDEK, A. Estrutura de dados e algoritmos em C++. 2. ed. São Paulo: Cengage Learning, 2016.
A respeito de tais estruturas de dados, assinale a alternativa correta:
A
Os registros são estruturas de dados para armazenamento heterogêneo, que possuem os dados a serem armazenados e um ponteiro para o próximo elemento.
B
As filas e pilhas podem armazenar dados do mesmo tipo, mudando apenas as regras para implementar suas respectivas funções de inserção e remoção de elementos.
C
As pilhas são estruturas homogêneas, de acesso direto, onde podemos armazenar elementos de tipos diferentes, sem uma ordem especificada.
D
A função de desempilhar retira da pilha sempre o último elemento, a não ser que um índice seja indicado por parâmetro.
E
A função de desempilhar retira da pilha sempre o primeiro elemento, a não ser que um índice seja indicado por parâmetro.
7
A Pilha é uma das estruturas mais simples e mais versáteis dentre as utilizadas na computação. Antes de entrar nas nuances técnicas sobre pilhas, vamos abstrair o seu conceito para uma situação real.
Fonte: adaptado de: DROZDEK, A. Estrutura de dados e algoritmos em C++. 2. ed. São Paulo: Cengage Learning, 2016.
As funções de desempilhar e de empilhar são comumente chamadas de pop() e push(), respectivamente. Considere a seguinte pilha de números inteiros:
PILHA:
INÍCIO -> 5, 2, 15, 3, 9, 8, 4, 12, 10, 7, 1, 11 dado != dado)){
05 -         if(lista->proximo == NULL){
06 -             break;
07 -         }
08 -         atual = lista;
09 -         lista = lista->proximo;
10 -     }
11 -     if(lista->dado == dado){
12 -         atual->proximo = lista->proximo;
13 -     }
14 - }
Considere que, durante a invocação da referida função, o parâmetro lista recebe um ponteiro que aponta para o primeiro elemento da estrutura de dados. Ainda, leve em consideração que a struct ptr_no possui dois campos, a saber: dado, do tipo inteiro; e proximo, um ponteiro do tipo struct ptr_no. Assinale a alternativacorreta que descreve a funcionalidade executada pela função apresentada:
A
Remove um item da lista encadeada.
B
Remove um item da pilha.
C
Insere um item da fila.
D
Insere um item na lista encadeada.
E
Remove um item da fila.
9
Lista ligada, ou lista encadeada, é uma estrutura de dados linear e dinâmica. Ela é composta por uma sequência de nós que contém seus dados e também uma ou duas referências, ponteiros, que apontam para o nó anterior ou posterior. Há diversos modelos de lista ligadas como lista encadeada, listas duplamente encadeada e listas encadeadas circulares.
Com base no texto exposto, analise as afirmativas a seguir:
I. O processo de remoção de uma lista encadeada é simples, basta acessar a posição do vetor e inserir um valor vazio.
II. A lista duplamente encadeada é uma estrutura de dados na qual cada nó possui pelo menos três campos: um de dados e dois de endereço, sendo um dos endereços usado para apontar ao nó anterior e o outro aponta para o nó posterior (próximo nó).
III. O vetor estático, caso seja necessário aumentar o seu tamanho, basta alocar (adicionar) espaço no vetor.
IV. Os itens na lista são chamados de nó e contêm pelo menos dois elementos: um de dados e um de endereço. O campo de endereço contém o conteúdo do elemento armazenado na lista, já o campo de dados é um ponteiro para o próximo nó.
É correto o que se afirma em:
A
II e IV, apenas.
B
I e III, apenas.
C
II, apenas.
D
II, III e IV, apenas.
E
I, II e III, apenas.
Revisar Conteúdo do Livro
10
Considere o seguinte cenário:
Você está visitando um médico para um check-up. Há muitas pessoas na clínica. Uma senhora está digitando os nomes de todas as pessoas em um arquivo. A pessoa que chegar mais cedo será atendida primeiro. Quando o médico está livre, ele chama o próximo paciente na sequência de chegada.
Sobre o exposto, avalie as asserções a seguir e a relação proposta entre elas:
I. O cenário representa a estrutura Fila porque segue o método primeiro que entra é o primeiro que sai.
PORQUE
II. Em uma fila, adicionamos elementos na parte de trás e os removemos na frente.
A respeito dessas asserções, assinale a opção correta:
A
As asserções I e II são verdadeiras, e a II é uma justificativa correta da I.
B
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
C
A asserção I é uma proposição falsa e a II é uma proposição verdadeira.
D
A asserção I é uma proposição verdadeira e a II é uma proposição falsa.
E
As asserções I e II são falsas.

Mais conteúdos dessa disciplina