Buscar

GABARITOS OFICIAIS 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 11 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 11 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 11 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

Questão:
Utilizando a linguagem de programação C/C++ crie um programa que utilize a estrutura de dados 
conhecida como fila para armazenar até 50 inteiros que use como elemento de armazenamento um 
vetor (array). 
Observe que seu programa deverá possuir pelo menos três funções do tipo void chamadas de inserir,
apagar e mostrar e que o usuário dever ter acesso a um menu de opções que permita a inclusão, 
exclusão e apresentação dos valores contidos armazenados nesta fila. Cabe ao programador a 
responsabilidade de avisar ao usuário erros comuns como fila cheia e vazia.
Resposta:
#include<stdio.h>
#include<stdlib.h>
//insere valor na fila
void inserir(int valor) {
if (cont == ) {
printf("Fila cheia!\n");
return;
}
fila[fim] = valor;
if (fim == TAM - 1)
fim = 0;
else
fim++;
cont++;
printf("Inserido!\n");
}
//remove o primeiro elemento da fila
void apagar() {
if (cont == 0) {
printf("Fila vazia!\n");
return;
}
if (inicio == TAM - 1)
inicio = 0;
else
inicio++;
cont--;
printf("Removido!\n");
}
//Imprime a fila
void mostrar() {
int i, j;
if (cont == 0) {
printf("Fila vazia!\n");
return;
}
printf("\nFila:");
j = inicio;
for (i = 0; i < cont; i++) {
printf("\n%d", fila[j]);
if (j == TAM - 1)
j = 0;
else
j++;
}
printf("\nFim da fila\n");
}
int main() {
int op = 0, valor;
do {
printf("\nSelecione a opcao(0 para sair):\n");
printf("1 - Inserir\n");
printf("2 - Apagar\n");
printf("3 - Mostrar\n");
scanf_s("%d", &op);
switch (op) {
case 1: printf("Digite o valor a ser inserido:\n");
scanf_s("%d", &valor);
inserir(valor);
break;
case 2: apagar();
break;
case 3: mostrar();
break;
default: printf("Digite uma opcao valida\n");
break;
}
} while (op != 0);
printf("\n");
system("pause");
return 1;
}
Programa: Visual Studio
Questão:
Utilizando a linguagem de programação C/C++ você deve criar um programa capaz de armazenar 
um número indefinido de inteiros na memória. Este programa deverá solicitar ao usuário o tamanho 
do vetor que armazenará este número, criar as estruturas necessárias, solicitar ao usuário que digite 
cada um dos números que serão armazenados e imprimir o conjunto de números armazenados e a 
soma destes números
Resposta:
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <math.h>
int main() {
int x, soma = 0, *Vetor, Tamanho;
printf("Informe o tamanho do Vetor: ");
scanf_s("%d", &Tamanho);
Vetor = (int*)malloc(sizeof(int));
for (x = 0; x<Tamanho; x++)
{
printf("Informe o valor %d: ", x + 1);
scanf_s("%d", &Vetor[x]);
soma = soma + Vetor[x];
}
printf("Total dos valores informados: %d", soma);
_getch();
};
Programa: Visual Studio
Questão:
Usando a linguagem de programação C/C++ escreva um programa que calcule o fatorial de um 
número inteiro digitado pelo usuário. Para que você consiga completar esta tarefa, o programa terá 
que ter pelo menos uma função.
 
Resposta:
#include <stdio.h>
#include <conio.h>
int main()
{
int fat, n;
printf("Insira um valor para o qual deseja calcular seu fatorial: ");
scanf_s("%d", &n);
for (fat = 1; n > 1; n = n - 1)
fat = fat * n;
printf("\nFatorial calculado: %d", fat);
_getch();
return 0;
}
Programa: Visual Studio
APOL 4
ELIZANGELA TURIANO ALVES - RU: 1352482 Nota: 100 PROTOCOLO: 201610161352482CB42DE
Questão 1/5 - Estrutura de Dados
Tendo como base um vetor de 1024 posições, qual das afirmações a seguir está correta?
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0
E Caso o vetor esteja ordenado, se utilizarmos a pesquisa sequencial, o número máximo de 
pesquisas que podem ser realizadas neste vetor é de 1024. Mas se utilizarmos pesquisa binária, o 
número máximo de pesquisas será 11
Questão 2/5 - Estrutura de Dados
Leia e Analise:
I – Se o vetor já estiver pré ordenado, o método de ordenação por seleção é o mais rápido.
II – Se o vetor já estiver pré ordenado, o método de ordenação por inserção é o mais rápido.
Você acertou!
Aula 04 / Slide 12 a 15
III – Independente se o vetor já estiver pré ordenado ou não, tanto o método de ordenação por seleção 
quanto o método
de ordenação por inserção demoram o mesmo tempo para a ordenação completa
Considerando o conteúdo ministrado na aula 4 e com base nas afirmações I, II e II, responda:
Nota: 20.0
A Somente a I está correta
Questão 3/5 - Estrutura de Dados
Com base nas afirmações I, II e II, sobre pesquisa binária, responda:
I – A pesquisa binária sempre verifica o elemento central do conjunto de dados que está pesquisando.
II – A pesquisa binária funciona corretamente somente em vetores ordenados.
III – Em uma pesquisa binária, o número máximo de pesquisa que podem ser realizadas em um conjunto de
dados,
aumenta de 1 (uma) unidade cada vez que o conjunto de dados dobra de tamanho
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0
D As respostas I, II e III estão corretas
Questão 4/5 - Estrutura de Dados
Em pesquisa binária, qual a sequência exata de passos para realizar a pesquisa
Você acertou!
Aula 04 / slides 5 a 11
Você acertou!
Aula 04 / Slides 13, 14 e 15
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0
C 1º Dividir o conjunto de dados ao meio;
2º Pesquisar o elemento central do conjunto;
3º Se não for o valor desejado verificar se está acima ou a baixo deste valor central.
Se o valor desejado for maior, repetir os passos anteriores na metade superior deste conjunto, se o
valor desejado for menor, repetir os passos anteriores na metade inferior deste conjunto
Questão 5/5 - Estrutura de Dados
Com base no algoritmo de ordenação a seguir, quantas trocas de posições de valores ocorrerão no vetor.
main()
{ int vetor[8] = { 8, 16, 34, 13, 7, 3, 12, 9 };
int x, y, aux;
for(x=0; x<8; x++)
for(y=x+1; y<9; y++)
Você acertou!
Aula 04 / Slide 13, 14 e 15
if(vetor[x] < vetor[y])
{ aux = vetor[x];
vetor[x] = vetor[y];
vetor[y] = aux;
}
}
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0
C 10
Você acertou!
Aula 04 / Slide 8
Questão 1/5 Estrutura de Dados
Na tentativa de criar um programa para testar os conceitos de filas, você escreveu o 
seguinte código:
No entanto, o seu programa não funcionou e você precisa encontrar onde está o erro e 
cabe a você garantir que o código apresentado atenda a estrutura básica de um programa
contendo uma lista.
Considerando as opções a seguir, maque aquela que contém a linha de código que está 
errada.
A temp = cauda;
Questão 2/5 Estrutura de Dados Considerando o código a seguir:
Indique qual das opções a seguir apresenta o resultado que será visto na janela do 
console caso este programa seja executado.
A 0 1 6 7 7 8 8 12 23 45
Pressione qualquer tecla para continuar. . .
Tratase de uma função de ordenação e que deve ser seguida passo a passo para o entendimento
Questão 3/5 Estrutura de Dados
Com relação aos conceitos de Pilhas e Filas, informe a questão correta com base nas 
afirmativas a seguir:
I – FIFO – First In Firt Out, é o conceito utilizado para Pilhas.
II – FIFO – First In Firt Out, é o conceito utilizado para Filas.
III – LIFO – Last In Firt Out, é o conceito utilizado para Pilhas.
IV – LIFO – Last In Firt Out, é o conceito utilizado para Filas.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA:
A Asquestões II e III estão corretas
Questão 4/5 Estrutura de Dados
Sobre Filas, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
C O primeiro elemento que entrou na Fila, obrigatoriamente deve ser o primeiro a sair
Questão 5/5 Estrutura de Dados
Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares, qual afirmativa 
está incorreta:
Considerando o conteúdoministrado na aula 6, assinale a alternativa INCORRETA
A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber 
onde termina e onde começa a Lista
Questão 1/5 - Estrutura de Dados
Quais são os tipos de Estruturas Listas?
Lista encadeada; Lista duplamente encadeada; Lista encadeada circular; Lista duplamente encadeada circular
Questão 2/5 - Estrutura de Dados
Qual a diferença entre as estruturas de repetição “While” e “Do While”?
Na estrutura “while” as rotinas a serem executadas ficam em loop “enquanto” a condição lógica de finalização seja 
“verdadeira”.
Já no caso da estrutura “Do While”, as rotinas ficam em loop “até” que a condição lógica seja verdadeira. Outra 
diferença está no fato que as rotinas da estrutura “Do While” serão executadas pelo menos uma vez, pelo fato da 
verificação da condição de repetição ser ao final da estrutura. Já no caso da estrutura “while”, como a condição está no 
início, as rotinas da estrutura podem nem serem executadas.
Questão 3/5 - Estrutura de Dados
Explique Estrutura Pilha.
Pilhas são estruturas que utilização alocação dinâmica de memória e variáveis ponteiros para o armazenamento 
temporário de dados. Os dados são empilhados de forma a ordenar de acordo com a entradas de dados na Pilha, onde 
o último elemento que entrou na Pilha deve ser o primeiro a sair.
Questão 4/5 - Estrutura de Dados
O que são ponteiros?
São variáveis que armazenam endereços de memória de outras variáveis do mesmo tipo. Ex.: se uma variável ponteiro 
é do tipo inteiro, ela somente pode receber endereços de memória de outras variáveis ponteiro.
Questão 5/5 - Estrutura de Dados
Qual a vantagem de utilizarmos a estrutura de repetição “for” em comparação a estrutura “while”?
Nota: 20.0
Para que as rotinas dentro de uma estrutura “while” sejam executadas, a condição lógica deve ser verdadeira. Com isso
as variáveis da condição devem ser inicializadas antes do comando “while” e dentro da estrutura deve haver uma 
condição de alteração desta variável de controle. Já na estrutura “for”, na mesma linha de comando do “for” está a 
inicialização da variável de controle, a condição de finalização do loop e o incremento desta variável de controle.
Questão 1/10
Sobre incluir elementos em uma Lista, responda:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista. 
Para o caso de incluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista, 
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocar espaço de memória; 
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da 
Lista
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA
D As questões I, II e III estão corretas
Questão 2/10
Lista é um conceito de trabalho, uma metodologia com regras, similar a Pilhas e Filas.
Para a montagem das Listas utilizamos alocação dinâmica de memória, ponteiros e registros.
Com base nisso e com as afirmações a seguir, responda:
I – Assim como Pilhas e Filas, em Listas somente podemos incluir no início ou no final de uma lista.
II – Diferente de Pilhas e Filas, em Listas podemos incluir no meio de uma Lista.
III – Em Listas podemos incluir de forma ordenada as informações. Deste modo, podemos em uma mesma 
Lista incluir no início, no final ou no meio (entre dois registros).
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.
E Estão corretas as questões II e III.
Questão 3/10
Quantos são e quais são os tipos de Listas que podemos ter:
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA
B 4 Encadeada, Duplamente Encadeada, Encadeada Circular e Duplamente Encadeada Circular
Questão 4/10
Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).
A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber
onde termina e onde começa a Lista.
Questão 5/10
Para armazenar dados em uma Pilha, os seguintes passos devem ser realizados na respectiva ordem
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
B 1. Alocar espaço de memória
2. Armazenar os dados no espaço alocado
3. Conectar o registro alocado na Pilha
4. Atualizar variáveis de controle
Questão 6/10
Sobre registros utilizados em Listas Duplamente Encadeadas,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).
E Os registros possuem duas variáveis ponteiros do mesmo tipo do registro, para armazenar o
endereço do próprio registro e do próximo da Lista.
Questão 7/10
Para conectarmos um determinado registro entre dois outros registros de uma Lista (incluir no meio), se não
seguirmos uma ordem correta de procedimentos, podemos perder o encadeamento de nossa Lista.
Para incluir fazemos primeiramente uma pesquisa para saber onde incluir.
Se após a rotina de pesquisa para incluir, ficou definido que a variável ponteiro “aux” contem o endereço do 
registro que vai anteceder o registro que vai entrar, e a variável “ptr” contem o endereço do registro a ser 
incluído.
Considerando o conteúdo ministrado na aula 6, qual rotina em programação devemos utiliza? Assinale a 
alternativa
CORRETA.
B ptr->ante = aux;
ptr->prox = aux->prox;
ptr->prox->ante = ptr;
ptr→ante->prox = ptr;
Questão 8/10
Sobre Listas, é correto afirmar:
I – Assim como em Filas, precisamos de variáveis de controle para armazenar os endereções dos registros 
de início e final da Lista.
II – Em Listas Circulares podemos ter uma única variável de controle que aponte para pelo menos um 
endereço de memória de um registro que esteja na Lista.
III – Em Listas precisamos de uma variável ponteiro auxiliar para podermos percorrer cada registro da Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.
Questão 9/10
Com relação as informações sobre algoritmos de Pilhas e Filas Fila a seguir, responda
I – Quando trabalhamos tanto com Pilhas quanto com Filas, precisamos ter uma variável de controle para 
informar aoprograma onde estas estruturas começam e outra variável de controle para informar ao 
programa onde estas estruturas terminam.
II – Quando trabalhamos com o conceito Pilha, precisamos de uma única variável de controle para informar 
onde é oinício da Pilha. Já para o conceito de Fila, precisamos de duas variáveis de controle, uma para 
informar ao programaonde a Fila começa e outra para informar onde a Fila termina.
III – No algoritmo de Pilha, se a variável de controle estiver com o conteúdo NULL, significa que não existe 
nenhum dadoarmazenado na Pilha.
IV – Quando retiramos dados de uma Fila, temos que seguir a seguinte ordem: 1º trabalhar com o conteúdo 
do registro;
2º armazenar o endereço do registro em uma variável auxiliar; 3º atualizar a variável de controle par o 
próximo endereço da Fila; 4º liberar o espaço de memória que está na variável auxiliar. Se não seguirmos 
corretamente estes passos,podemos perder o encadeamento da Fila.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
C As questões II, III e IV estão corretas
Questão 10/10
Sobre incluir elementos em uma Lista:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista. 
Para o caso de incluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista, 
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocarespaço de memória; 
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da 
Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.
D As questões I, II e III estão corretas.
Questão 1/10 - Estrutura de Dados
Sobre incluir elementos em uma Lista:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista. 
Para o caso deincluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista, 
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocar espaço de memória; 
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da 
Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.
D As questões I, II e III estão corretas.
Questão 2/10 - Estrutura de Dados
Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).
A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber
onde termina e onde começa a Lista.
Questão 3/10 - Estrutura de Dados
A função a seguir lista na tela todos os registros de uma determinada Lista Encadeada e não Circular.
Se esta Lista fosse Circular, quis alterações deveriam ser realizadas para não corrermos o risco de ficarmos
em loop?
listar()
{ ptr = prim;
while( ptr != NULL)
{ printf(“Nome: %s \n”, ptr>
nome);
ptr = ptr>
prox;
}
}
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA.
C aux = ptr = prim;
do
{ printf(“Nome: %s \n”, ptr>
nome);
ptr = ptr>
prox;
} while( ptr != aux);
Questão 4/10 - Estrutura de Dados
Sobre Pilhas, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
E O último elemento que entrou na Pilha, obrigatoriamente deve ser o primeiro a sair
Questão 5/10 - Estrutura de Dados
Para armazenar dados em uma Pilha, os seguintes passos devem ser realizados na respectiva ordem
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
B 1. Alocar espaço de memória
2. Armazenar os dados no espaço alocado
3. Conectar o registro alocado na Pilha
4. Atualizar variáveis de controle
Questão 6/10 - Estrutura de Dados
Para conectarmos um determinado registro entre dois outros registros de uma Lista (incluir no meio), se não
seguirmos uma ordem correta de procedimentos, podemos perder o encadeamento de nossa Lista.
Para incluir fazemos primeiramente uma pesquisa para saber onde incluir.
Se após a rotina de pesquisa para incluir, ficou definido que a variável ponteiro “aux” contem o endereço do 
registro que vai anteceder o registro que vai entrar, e a variável “ptr” contem o endereço do registro a ser 
incluído.
Considerando o conteúdo ministrado na aula 6, qual rotina em programação devemos utiliza? Assinale a 
alternativa
CORRETA.
B ptr>ante = aux;
ptr>prox = aux>prox;
ptr>prox>ante = ptr;
ptr>ante>prox = ptr;
Questão 7/10 - Estrutura de Dados
Sobre a rotina do Programa a seguir:
struct Dados {
char nome[30];
struct Dados *ante, *prox;
} *prim, *ulti, *ptr;
teste()
{ while( prim != NULL)
{ ptr = prim;
prim = prim>
prox;
free(ptr);
}
ulti = NULL;
}
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).
C A linha de comando “ptr = prim;” é desnecessária, pois podemos liberar espação de memória
diretamente com a variável “prim”. Ficando deste modo o comando: “free(prim>prox);”.
Questão 8/10 - Estrutura de Dados
Sobre registros utilizados em Listas Duplamente Encadeadas,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).
E Os registros possuem duas variáveis ponteiros do mesmo tipo do registro, para armazenar o
endereço do próprio registro e do próximo da Lista.
Questão 9/10 - Estrutura de Dados
Quantos são e quais são os tipos de Listas que podemos ter?
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA.
B 4 Encadeada, Duplamente Encadeada, Encadeada Circular e Duplamente Encadeada Circular;
Questão 10/10 - Estrutura de Dados
Com relação as informações sobre Fila a seguir, responda
I – Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo 
ponteiro do mesmo tipo do registro para conter o endereço de memória do próximo registro a entrar na Fila. 
Deste modo, quando tiramos um registro da Fila, sabemos onde está o anterior a este que saiu.
II – Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo 
ponteiro do mesmo tipo do registro para conter o endereço de memória do registro que entrou antes dele na
Fila. Deste modo, quando tiramos um registro da Fila, sabemos onde está o anterior a este que saiu.
III Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo 
ponteiro do mesmo tipo do registro para conter o endereço de memória deste mesmo registro. Deste modo 
é que o programa sabe onde está cada registro da Fila na memória.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
A Somente a afirmação I está correta
Questão 1/10 - Estrutura de Dados
Sobre alocação dinâmica de memória, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA
D A principal vantagem de trabalharmos com alocação dinâmica de memória é que não precisamos
definir a quantidade de espaço a ser alocado em linha de código.
O espaço de memória é alocado de acordo com a necessidade em tempo de execução do programa
Questão 8/10 - Estrutura de Dados
Sobre Listas, é correto afirmar:
I – Assim como em Filas, precisamos de variáveis de controle para armazenar os endereções dos registros 
de início e final da Lista.
II – Em Listas Circulares podemos ter uma única variável de controle que aponte para pelo menos um 
endereço de memória de um registro que esteja na Lista.
III – Em Listas precisamos de uma variável ponteiro auxiliar para podermos percorrer cada registro da Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.
D Todas as questões estão CORRETAS.
Questão 1/5
Explique o conceito de variáveis “locais” e “globais” utilizadas em funções comuns, assim como a utilização 
de variáveis em funções recursivas.
Quando uma variável é declarada como “global”, é pode ser utilizada por todas as funções do programa. Deste modo 
se ~em alguma função seu conteúdo for alterado, isto influência todas as funções, pois por ser “global”, ela está em 
uma posição única de memória. Já uma variável “local”, ela somente existe dentro da função que foi declarada, ou seja, 
se foi criada dentro da função “A”, as demais funções não têm acesso ao seu conteúdo. No caso de funções recursivas, 
onde as variáveis possuem o mesmo nome, como em cada chamada da função é criada uma nova instância da função, 
também é criado uma nova variável em um novo espaço de memória. Deste modo, embora tenham o mesmo nome 
seus conteúdos são distintos.
Questão 2/5
Em um programa, podemos substituir a utilização da estrutura de decisão “switch” pela estrutura “if”? 
Justifique sua resposta.
Sim. Pois podemos utilizar o conceito de “ifs aninhados“ onde cada “case” do “switch” será substituído por um “if” dentro
de outro com a utilização da condição “else” do “if”.
Questão 3/5
O que são Listas Duplamente Encadeadas Circulares.
São estruturas onde cada registroda estrutura possui o endereço de memória de próximo registro e do registro anterior,
caracterizando assim lista duplamente encadeada. Sendo que o último registro possui o endereço de memória do 
primeiro registro da lista e o primeiro registro da lista possui o endereço do último registro da lista, caracterizando assim 
a lista circular.
Questão 4/5
Diferencie Estrutura Pilha de Estrutura Fila.
Tanto Pilha quanto Fila são estruturas de armazenamento temporário de dados. A diferença está na metodologia de 
trabalho de cada uma, enquanto na Pilha o último elemento que entre deve ser o primeiro a sair, na Fila o primeiro que 
entrou tem que ser o primeiro a sair.
Questão 5/5
Cite dois tipos de ordenação de vetores.
Ordenação por seleção e ordenação por inserção.

Outros materiais