Prévia do material em texto
Exercícios Estrutura de Dados (Unidade 1) Deixe seu like 1. O tipo de dado que representa números é muito utilizado em programação; logo, é sua correta utilização durante o desenvolvimento de uma aplicação é fundamental. Suponha que você esteja analisando os tipos de dados para a implementação de uma aplicação voltada à contabilidade. Durante essa análise, você questiona qual tipo de dados uma variável deve utilizar para representar o número 10, visando à redução do custo de memória do computador. Int. 2. Os tipos de dados booleanos têm características específicas em relação aos outros tipos de variáveis. A partir dessa afirmação, identifique a alternativa que apresenta um exemplo de dados booleanos: Verdadeiro ou falso. 3. Programas de computador fazem uso de diversas variáveis e operações. Em qual momento uma variável ocupa a memória do computador? Durante a execução do programa. 4. A utilização de variáveis que consomem pouca memória é de suma importância para o desenvolvimento de aplicações com hardware limitado. Por isso, você precisa poupar memória no sistema de presença de uma universidade, na qual os computadores utilizados serão reciclados pelos alunos de anos iniciais. A partir das informações anteriores, qual tipo de variável deve ser utilizado para representar uma única letra do alfabeto visando à redução do custo de memória do computador? Char. 5. Durante o desenvolvimento de uma aplicação, faz-se uso de diferentes tipos de dados. Na definição de tipos abstratos de dados (TAD), faz-se referência ao par (v,o). Qual é o significado desse par? (variável, operação). 6. A linguagem Python possibilita a armazenagem de diferentes tipos de dados em um mesmo vetor. A partir desse contexto, um programador implementou o seguinte código: #declaração do vetor Aluno = ['A',20,60,'casa',3] print(Aluno[-1]) Qual será a saída do programa? 3. 7. A linguagem Python possibilita o acesso direto a um elemento de um vetor. O índice de acesso tem o comportamento circular. A partir dessa afirmação, no vetor abaixo, qual o índice correspondente à primeira posição 0 (zero)? vetor = ['A','B','C','D','E'] -5. 8. O vetor deverá corresponder a uma lista de elementos na qual cada nodo deverá armazenar uma informação. A partir dessa informação, qual é a posição ocupada pelo último elemento do vetor a seguir? vetor = [1,2,5,7,9] 4. 9. A lista encadeada é muito utilizada para armazenar um número indefinido de elementos. Em uma lista encadeada simples, cada nodo possui duas informações. Quais são elas? Conteúdo e índice do próximo nodo. 10. As listas encadeadas simples e os vetores têm diversas vantagens e desvantagens comparadas entre si. Qual das informações a seguir é uma vantagem das listas encadeadas simples, se comparada a vetores? Têm o seu tamanho flexível em tempo de execução. 11. A análise e o desenvolvimento de algoritmos com o uso de listas encadeadas são de suma importância no desenvolvimento de uma aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise prévia dos códigos de uma determinada aplicação para iniciar seu desenvolvimento. Analise o algoritmo a seguir e marque a alternativa que representa seu significado: def acao(self,item): atual = self.inicio status = False while atual != None and not status: if atual.dado()==item: status = True else: atual = atual.prox() return status Procura um elemento na lista. 12. A lista simplesmente encadeada é uma lista do tipo dinâmica e apresenta vantagens em relação a listas estáticas, como vetores. A partir da afirmação anterior, marque a opção que infoma uma das vantagens das listas simplesmente encadeadas. Permitem variação de seu tamanho em tempo de execução. 13. A análise e o desenvolvimento de algoritmos com o uso de listas encadeadas são de suma importância no desenvolvimento de uma aplicação. Durante essa ação, o desenvolvedor precisa realizar a análise prévia dos códigos de uma determinada aplicação para iniciar seu desenvolvimento. Analise o algoritmo a seguir e marque a alternativa que representa seu significado: 1 def acao (self,item) 2 temp = No(item) 3 temp.prox(self.ini) 4 self.ini = temp Adiciona um novo elemento no início da lista. 14. A lista simplesmente encadeada é uma lista do tipo dinâmica e apresenta vantagens em relação a listas estáticas, como vetores. A partir dessa afirmação, marque a opção que informa um tipo de lista em que é mais apropriado utilizar listas simplesmente encadeadas em detrimento de listas do tipo estáticas, como vetores. Listas grandes que realizam diversas inserções em diferentes posições. 15. As listas simplesmente encadeadas possuem características únicas em seus nodos, diferentemente das listas estáticas. Em relação a essas características únicas, leia as alternativas a seguir e selecione a correta. O nodo tem seu conteúdo definido pelo usuário e um ponteiro para o próximo elemento. 16. A análise de códigos é de suma importância para o desenvolvimento de um programador, sendo uma das tarefas mais comuns no seu dia a dia, seja na compreensão do desenvolvimento complementar, seja durante os seus estudos. Realize a análise do código a seguir e assinale a alternativa que contém o seu objetivo: def Metodo(self): atual = self.inicio self.inicio = atual.proximo Realizar a exclusão do primeiro nodo. 17. As operações de manipulação de uma lista simplesmente encadeada permitem a manipulação de seus nodos durante sua execução. Analise o código a seguir e informe qual o seu objetivo: def Metodo(self): atual = self.inicio if self.inicio == None: print("none") else: while atual != None: print(atual) atual = atual.proximo Realizar a impressão de uma lista. 18. O desenvolvimento de listas encadeadas pode ser realizado de diversas formas, com ou sem o uso de bibliotecas. O método da biblioteca de listas chamado append(Elemento) realiza qual função no código? Adiciona um elemento ao final da lista. 19. As bibliotecas utilizadas em programação auxiliam no desenvolvimento de listas simplesmente encadeadas. O método da biblioteca de listas chamado index(Elemento) realiza qual função no código? Retorna à posição da primeira ocorrência do elemento na lista. 20. Os métodos para a criação das classes nodo, lista encadeada, verificação de lista vazia, adicionar e remover posição na lista são elementos básicos no que se refere à implementação de listas encadeadas simples. Analise o código a seguir e informe qual o seu objetivo: def Metodo(Lista): if Lista.inicio == None : return True else: return False Verificar se a lista está vazia.