Buscar

Exércicio 08 - Estrutura de dados

Prévia do material em texto

CCT0753_EX_A8_201801153345_V1
 
 
 
 ESTRUTURA DE DADOS 8a aula
 Lupa 
Vídeo
 
PPT
 
MP3
 
 
Exercício: CCT0753_EX_A8_201801153345_V1 22/05/2019 (Finaliz.)
Aluno(a): JORGIVALDO NOGUEIRA LEAL 2019.1 EAD
Disciplina: CCT0753 - ESTRUTURA DE DADOS 201801153345
 
 1a Questão
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:
 
200 9 100
9 100 200
9 9 200
100 100 200
 100 9 200
 
 
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
 
 
 2a Questão
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;
 }
}
 
void imprimir(no *p) {
 if (p != NULL) {
 cout << pàplaca;
 p = pàlink;
 }
}
 
void imprimir(no p) {
 while (p != NULL) {
 cout << pàno;
 p = pàlink;
 }
}
 
 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;
 }
}
Gabarito
 Coment.
 
 
 3a Questão
O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação
dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na
memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a
alternativa correta que apresenta estas vantagens.
Proteção de memória, transferência de dados, estruturas simples.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
 Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Acesso, representação, compartilhamento de memória.
 
 
Explicação:
FALSO . Previsão de espaço
físico, estruturas complexas,
procedimentos menos intuitivos.
 
FALSO Acesso, representação,compartilhamento de memória.
 
FALSO Proteção de memória, transferência dedados, estruturas simples.
 
FALSO
Transferência de dados, gerenciamento
de memória e procedimentos menos
intuitivos.
 
VERDADEIRO
Compartilhamento de memória,
maleabilidade e facilidade para inserção
e remoção de componentes.
Gabarito
 Coment.
 
 
 4a Questão
Verifique as afirmativas e marque a opção correta.
 I- Na alocação estática de memória a quantidade de memória alocada é feita em tempo de compilação.
 II- Na alocação dinâmica de memória a quantidade de memória alocada é feita em tempo de execução.
 III- Na alocação estática de memória a quantidade de memória alocada é fixa durante a execução do programa.
 IV- Na alocação dinâmica de memória a quantidade de memória alocada é fixa durante a execução do programa.
 
 Apenas a IV está errada
Apenas a II está correta
Apenas a opção I está errada
Apenas as opções I e II são corretas
Apenas a I está correta
 
 
Explicação:
Analisando cada afirmativa :
I- Na alocação estática de memória a quantidade de memória alocada é feita em tempo de compilação.
Correto. Aloca-se memória antes da execução.
 
II- Na alocação dinâmica de memória a quantidade de memória alocada é feita em tempo de execução.
Correto.
 
III- Na alocação estática de memória a quantidade de memória alocada é fixa durante a execução do programa.
Correto. A memória alocada antes da execução não sofre alteração durante a execução.
 
IV- Na alocação dinâmica de memória a quantidade de memória alocada é fixa durante a execução do programa.
Falso. A quantidade de memória não é fixa.
 
Apenas a afirmativa IV é falsa ou está errada.
 
 
 5a Questão
Sobre listas simplesmente encadeadas, é INCORRETO afirmar que :
o ponteiro do último nó é NULL
os nós da lista são alocados dinamicamente.
podem implementar pilha e fila dinâmicas
são acessadas através de um ponteiro para o primeiro nó da lista
 possuem tamanho fixo
 
 
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.
 
 
 6a Questão
E C++, quando um ponteiro é declarado para uma struct, o acesso aos campos deste registro (struct) se dá pelo operador :
∙ (ponto).
 -> (seta).
& (e comercial ou eitza).
* (asterisco).
, (vírgula).
 
 
Explicação:
Por definição, o operador é o seta, pois se tem, no caso, ponteiro para struct. 
 
 
 7a Questão
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 execução e terem 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 tempo de compilação e terem
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 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 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.
 
 
 8a Questão
Em uma rotina em que se pretenda inserir o primeiro dado em uma estrutura dinâmica, é correto afirmar que:
Só deve existir estrutura de repetição se ocorrer a inclusão de mais de um dado simultaneamente
Deve existir uma estrutura de repetição somente se a estrutura for circular.
 Não deve existir uma estrutura de repetição.
Deve existir uma estrutura de repetição somente de a lista for duplamente encadeada.
Existe uma instrução de repetição para percorrer a lista.
Gabarito
 Coment.

Continue navegando