Baixe o app para aproveitar ainda mais
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.
Compartilhar