AT-2_EstruturaDeDados_I
AT-2_EstruturaDeDados_I
AT-2_EstruturaDeDados_I
1ª QUESTÃO
Na informática, a pilha é uma estrutura em que os dados são inseridos e removidos no seu topo. São
estruturas conhecidas como Last In, First Out (LIFO), que pode ser traduzido por último a entrar, primeiro a
sair. A operação de entrada lê o dado diretamente na primeira posição disponível, que representa o topo da
pilha, essa posição é guardada no atributo fim. Depois da leitura, o valor de fim é atualizado para que ele
aponte sempre para a primeira posição disponível. A operação de saída se dá no elemento fim -1 do vetor
dados, uma vez que o atributo fim aponta para a primeira posição livre. Após a remoção do item, o valor de
fim deve ser atualizado para apontar corretamente para o final da pilha que acabou de diminuir.
Com relação à estrutura de pilha e às operações associadas a esse tipo de estrutura, assinale a alternativa
que apresenta os nomes dos métodos corretamente segundo o referencial bibliográfico da disciplina.
ALTERNATIVAS
Push(x) e Pop() são os métodos para inserção e remoção, respectivamente.
AddFirst(x) e DelLast() SetLast() e GetFront() são os métodos para inserção e remoção, respectivamente.
2ª QUESTÃO
O algoritmo a seguir implementa a função imprimir de uma lista simplesmente encadeada. Lembrando que
o nó da estrutura de dados de uma lista simplesmente encadeada possui apenas um ponteiro para o
próximo elemento da lista.
lista ← ptLista
imprimir (lista.info)
lista ← lista.prox
ALTERNATIVAS
1/8
31/05/2020 Unicesumar - Ensino a Distância
void imprimir(){
for (int i =0; i < 10;){
printf("%d, ", info
);
i++;
}
}
void imprimir(){
lista = ptLista;
while(lista != 0) {
printf(“%d, “, lista->info);
lista = lista->prox;
void imprimir(){
lista = ptLista;
while(lista->prox != NULL) {
printf(“%d, “, lista->info);
lista = lista->prox;
do{
printf(“%d, “, lista->info);
lista = lista->prox;
} while(lista->prox != NULL)
void imprimir(info){
lista = ptLista;
while(lista->info != NULL) {
printf(“%d, “, lista->prox);
lista = lista->info;
3ª QUESTÃO
2/8
31/05/2020 Unicesumar - Ensino a Distância
2. x = 25;
3. y = &x;
4. *y = 15;
5. y = y + 1;
6. *y = *y + 5;
ALTERNATIVAS
15
16
20
25
30
4ª QUESTÃO
Uma pilha possui regras de entrada e saída, fora isso, as estruturas são muito parecidas. A lista possui como
característica a ordenação independente da forma de armazenamento. Então, para implementar de forma
dinâmica uma pilha, basta criar uma lista dinâmica e adicionar nela as regras LIFO: o último que entra é o
primeiro que sai.
Assinale a alternativa que insere um elemento no topo da pilha, considerando que o topo é o final da pilha.
ALTERNATIVAS
void pilha_inserir(){
pilha.dados
pilha. fim − 1
= 0;
pilha.fim--;
3/8
31/05/2020 Unicesumar - Ensino a Distância
void pilha_inserir(){
scanf("%d", &pilha.dados
pilha. fim
);
pilha.fim++;
ptr_no atual;
while(pilha->proximo != NULL){
atual = pilha;
pilha = pilha->proximo;
atual->proximo = NULL;
while(pilha->proximo != NULL){
pilha = pilha->proximo;
pilha = pilha->proximo;
pilha->dado = rand()0;
pilha->proximo = NULL;
5ª QUESTÃO
4/8
31/05/2020 Unicesumar - Ensino a Distância
= estrutura.dados
i+1
;
}
estrutura.dados
estrutura. fim
= 0;
estrutura.fim--;
}
}
ALTERNATIVAS
retira, topo, pilha.
6ª QUESTÃO
5/8
31/05/2020 Unicesumar - Ensino a Distância
Tanto a fila como a pilha são conjuntos ordenados de itens. Apesar de simples, ambas as estruturas (fila e
pilha) são amplamente utilizadas em diversas áreas da computação.
I. Gerenciamento de impressões.
Assinale a alternativa que melhor corresponda às escolhas dos desenvolvedores na ordem das situações:
ALTERNATIVAS
Fila, Fila, Fila.
7ª QUESTÃO
A maneira mais simples de guardar um conjunto de informação na memória se dá pelo uso de vetores. Na
criação de uma pilha, o vetor se mostra muito eficaz, pois a entrada e a saída são feitas sempre no seu
último elemento. Porém, para a fila, o vetor mostra algumas dificuldades de implementação, posto que o
elemento que sai é sempre o mais antigo e uma das formas de manter os dados de forma sequencial é
mover todo o resto dos dados para as posições precedentes. Isso se deve as características do vetor, em
mantém os dados armazenados numa estrutura sequencial.
Com base no contexto apresentado das diversas estruturas de dados, denomina-se __________ uma estrutura
de dados que possui três campos: dois ponteiros e campo de informação.
ALTERNATIVAS
6/8
31/05/2020 Unicesumar - Ensino a Distância
fila
pilha
vetor
8ª QUESTÃO
Tanto a fila como a pilha são conjuntos ordenados de itens, porém ambas se diferenciam pelas regras de
inserção e remoção de elementos. 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.
Considere uma estrutura de dados em que aplicamos a política de LIFO, com os dados armazenados e
expostos na seguinte ordem 1, 2, 3, 4 e 5.
Diante do que foi exposto, assinale a alternativa que corresponde às ações da política de LIFO.
ALTERNATIVAS
O último elemento a ser retirado é o 5.
9ª QUESTÃO
Quando criamos um vetor, dizemos na sua declaração qual será o seu tamanho. Independente se vamos
usá-lo por completo ou uma parte, todo o espaço na memória é reservado assim que o programa é
inicializado. Uma forma de resolver esses problemas é criar vetores dinâmicos, com seu tamanho definido
em tempo de execução do programa.
Em algumas situações, é necessário alocar o tamanho de um vetor dinamicamente. Essa situação é bem
comum em programas que recebem uma quantidade variável de dados, como programas de estatística.
ALTERNATIVAS
7/8
31/05/2020 Unicesumar - Ensino a Distância
int a
tamanho
int a
sizeof(int)
int *vetor = a
tamanho
int a
10ª QUESTÃO
Considere o código a seguir:
\n\n");
}
ALTERNATIVAS
Exclui o dado que está na posição atual.
8/8