Estruturas de Dados (Data Structures) é o nome dado à organização de dados e algoritmos de forma coerente e racional, de modo a otimizar o seu uso. De acordo com o modo como um conjunto de dados é organizado e como as operações são efetuadas sobre esses dados, pode-se solucionar, de forma simples, problemas extremamente complexos. Existem diversos modelos de estruturas de dados, sendo que as clássicas podem ser utilizadas com sucesso na maioria dos casos. Sobre pilhas, lista e filas, analise as afirmativas a seguir:
I- As estruturas de dados pilhas, filas e listas armazenam coleções de itens. A característica que as distingue é a ordem em que podem ser retirados os itens dessas coleções em relação à ordem em que foram inseridos. II- Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma fila. Necessariamente, o primeiro elemento a ser removido dessa fila é o elemento A. III- Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma pilha. Necessariamente, o último elemento a ser removido dessa pilha é o elemento E. IV- Considere que os itens A, B, C, D, E foram inseridos nessa ordem em uma lista. Necessariamente, o primeiro elemento a ser removido dessa lista é o elemento A. A As afirmativas I, II e III estão corretas. B As afirmativas I e II estão corretas. C As afirmativas I e IV estão corretas. D As afirmativas II, III e IV estão corretas.
A Somente a afirmativa II está correta. B As afirmativas I, II, III e IV estão corretas. C Somente a afirmativa III está correta. D Somente a afirmativa I está correta.
As estruturas de dados definem a organização, os métodos de acesso e as opções de processamento e armazenamento de todos os dados utilizados por um programa de computador. Com relação às estruturas de dados estudadas, classifique V para as opções verdadeiras e F para as falsas:
( ) Variáveis, procedimentos, funções.
( ) Procedimentos, pilhas, filas, listas.
( ) Vetores, listas, funções.
( ) Vetores, pilhas e filas.
Assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - F. B V - V - F - F. C F - F - F - V. D V - F - F - F.
O algoritmo a seguir recebe um vetor v de números inteiros e rearranja esse vetor de tal forma que seus elementos, ao final, estejam ordenados de forma crescente. Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para que os elementos sejam ordenados de forma crescente, avalie as afirmativas a seguir:
I- A linha 04 deve ser corrigida da seguinte forma: for(i = 1; i < n - 1 ; i ++)
II- A linha 08 deve ser corrigida da seguinte forma: while( j >= 0 && v[j] >chave)
III- A linha 10 deve ser corrigida do seguinte modo: v [ j + 1] = v [ j];
IV- a linha 13 deve ser corrigida do seguinte modo: v [ j - 1] = chave;
Assinale a alternativa CORRETA:
A As afirmativas III e IV estão corretas. B As afirmativas I e II estão corretas. C As afirmativas I e IV estão corretas. D As afirmativas II e III estão corretas.
No desenvolvimento de software, as estruturas de dados apresentam formas distintas e específicas de armazenamento e organização no computador. Isso é necessário para que as informações sejam acessadas com eficiência. Pilhas e filas apresentam formas bem particulares de inserção, armazenamento e inclusão dos dados. Com relação ao armazenamento de dados em uma pilha, assinale a alternativa CORRETA:
A Não há saída de dados. B O primeiro dado a entrar é o último a sair. C O último dado utilizado é o primeiro a sair. D O último dado a entrar é o último a sair.
Na linguagem C, denominamos função a um conjunto de comandos que realiza uma tarefa específica em um módulo dependente de código. A função é referenciada pelo programa principal através do nome atribuído a ela. A utilização de funções visa modularizar um programa, o que é muito comum em programação estruturada. Dentre as funções que a linguagem C possui, podemos citar as funções clássicas chamada: printf(), getch(), clrscr() entre diversos outras funções. Existe uma outra função muito mais clássica ainda chamada scanf(). Assinale a alternativa CORRETA do motivo que a função scanf() leva esse nome:
A Scan File (scan de arquivos). B Scan formatted (scan formatado). C Scan Find (scan de procura). D Scan String (scan de alfanuméricos).
A ordenação por inserção funciona de modo semelhante à forma como algumas pessoas ordenam cartas de baralho. Inicia-se com a mão esquerda vazia e as cartas empilhadas na mesa. Remove-se da pilha uma carta de cada vez, inserindo-a na posição correta na mão esquerda. Para se identificar a posição correta de uma carta, deve-se compará-la com as cartas presentes na mão esquerda, no sentido da direita para a esquerda. Em todos os momentos, as cartas na mão esquerda estão ordenadas, tendo sido obtidas no topo da pilha da mesa. Um programador implementou um algoritmo de ordenação semelhante à forma de ordenação de cartas descrita no texto. Ao realizar um teste com um vetor de nove posições (vetor [ 1 .. 9] ), verificou que o algoritmo não funcionava corretamente. Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para que o algoritmo ordene corretamente um vetor de inteiros de forma crescente, analise as afirmativas a seguir:
I- A linha 04 deve ser corrigida da seguinte forma: enquanto ( ( j >= 1 ) ou ( valor < vetor [ j ] ) ) II- A linha 05 deve ser corrigida da seguinte forma: vetor [ j + 1 ] <- vetor [ j ] III- A linha 11 deve ser corrigida do seguinte modo: vetor [ j ] <- valor A As afirmativas I e II estão corretas. B As afirmativas II e III estão corretas. C Somente a afirmativa II está correta. D As afirmativas I e III estão corretas.