Prévia do material em texto
Questão 1 A linguagem C oferece flexibilidade na criação de vetores de estruturas, permitindo assim a representação coleções de dados relacionados a uma entidade ou objeto do mundo real. Dada a seguinte declaração de estrutura, assinale a alternativa correta para a criação de um vetor de 20 elementos tipado com ela: struct Livro { unsigned int id; char titulo[80]; char autor[50]; float preco; int estoque; }; a. typedef Livro biblioteca[20]; b. struct Livro biblioteca[20]; c. struct biblioteca = Livro[20]; d. Livro biblioteca[20]; e. struct livro biblioteca[20]; Feedback A resposta correta é: struct Livro biblioteca[20];. Questão 2 As estruturas unidimensionais, conhecidas como vetores, consistem em um arranjo de elementos armazenados na memória principal, sequencialmente, todos com o mesmo nome (LOPES; GARCIA, 2002). As operações de atribuição, leitura e escrita são realizadas para cada elemento do vetor, de modo que não é possível operar sobre o vetor como um todo. Assinale a alternativa correta referente à forma correta de realizar operações elemento a elemento: a. Usando uma função recursiva. b. Usando apenas uma instrução para o primeiro elemento; os demais serão automaticamente executados. c. Usando uma instrução para cada elemento do vetor. d. Usando uma estrutura de repetição. e. Usando uma estrutura de decisão múltipla. Feedback A resposta correta é: Usando uma estrutura de repetição. Questão 3 Conforme visto em nossa apostila, não existe um tipo string na linguagem C – ele nada mais é do que um vetor de caracteres. Assinale a alternativa que corresponda à finalidade do símbolo '\0', em uma string: a. Identificar uma string ainda não declarada. b. Indicar o final de uma string. c. Indicar um caractere especial dentro de uma string. d. Identificar uma string nula ou vazia. e. Indicar o início de uma string. Feedback A resposta correta é: Indicar o final de uma string. Questão 4 Existem métodos que permitem verificar a existência de um valor dentro de um vetor, isto é, procurar dentre os elementos um determinado valor. Um deles o método de busca sequencial. Seguem algumas afirmações sobre este método: I. O método consiste em percorrer o vetor a partir do último elemento, sequencialmente, até o primeiro. II. A busca termina quando o elemento foi encontrado ou todo o vetor foi analisado, mas o elemento não foi encontrado. III. A cada elemento do vetor são realizados testes lógicos, verificando se o elemento do vetor é igual ao elemento procurado. IV. O tipo do vetor a ser percorrido deve ser do mesmo tipo do elemento a ser procurado. Estão corretas: a. I, II e IV apenas. b. I, II e III apenas. c. II, III e IV apenas. d. III e IV apenas. e. I e II apenas. Feedback A resposta correta é: II, III e IV apenas. Questão 5 Existem métodos que permitem verificar a existência de um valor dentro de um vetor, isto é, procurar dentre os elementos um determinado valor. Um desses métodos é a busca sequencial, que consiste em percorrer o vetor elemento a elemento na procura do valor. Seguem algumas afirmativas sobre as formas de encerramento da busca sequencial: I. Quando o valor procurado é encontrado em algum elemento do vetor pela primeira vez. II. Quando o valor procurado é encontrado em dois ou mais elementos depois de percorrer todo o vetor. III. Quando todo o vetor é percorrido, mas o valor não é encontrado. IV. Quando um valor maior ao procurado é encontrado no vetor, compensando a falta do valor exato. Estão corretas: a. I, II e III apenas. b. II, III e IV apenas. c. I e II apenas. d. II e IV apenas. e. I e III apenas. Feedback A resposta correta é: I e III apenas. Questão 6 O mecanismo de ordenação BubbleSort, conhecido também como método da bolha, faz uso de dois laços de repetição encadeados para realizar as comparações e as trocas de posições dos valores do vetor especificado. Assinale a alternativa referente ao número correto de trocas que o método BubbleSort realizará para ordenar o vetor { 3, 2, 1, 5, 4 }: a. 10 trocas. b. 5 trocas. c. 3 trocas. d. 4 trocas. e. 12 trocas. Feedback A resposta correta é: 4 trocas. Questão 7 Ordenação é o processo de rearranjar os elementos de acordo com um critério específico com o objetivo de facilitar a localização. Dentre os vários métodos de ordenação disponíveis, o método da bolha (BubbleSort) é o mais conhecido. Seguem algumas afirmativas sobre este método: I. Ele consiste em percorrer o vetor diversas vezes, comparando os elementos atualmente em iteração. II. Ao comparar os elementos em uma iteração, eles serão trocados caso estejam fora de ordem. III. O número de repetições com que o vetor será percorrido é o seu número de elementos mais um. IV. O método é finalizado quando todas as comparações entre os elementos são feitas. Estão corretas: a. I, II e IV apenas. b. I e II apenas. c. II, III e IV apenas. d. III e IV apenas. e. I e III apenas. Feedback A resposta correta é: I, II e IV apenas. Questão 8 Os vetores são estruturas de dados que permitem armazenar dados do mesmo tipo, de forma sequencial. Seguem algumas afirmações sobre as características de um vetor na linguagem C: I. Um vetor é declarado pelo nome da variável, seguido de colchetes, contendo o número de elementos. II. A numeração dos elementos de um vetor deve obrigatoriamente iniciar em 0. III. O índice para referenciar um elemento de vetor deve ser um valor constante. IV. O acesso a um índice fora da faixa do número de elementos, definido no vetor, ocasionará um erro de compilação. Estão corretas: a. I e II apenas. b. I, II e IV apenas. c. I, II e III apenas. d. III e IV apenas. e. II, III e IV apenas. Feedback A resposta correta é: I e II apenas. Questão 9 Segundo Lopes e Garcia (2002), as estruturas de dados unidimensionais, conhecidas como vetores, consistem em um arranjo de elementos armazenados na memória principal. Seguem algumas afirmativas sobre vetores: I. Todos os elementos do vetor são do mesmo tipo. II. A posição de cada elemento no vetor é indicada por uma letra. III. Os vetores são declarados com seu número de elementos pré-determinado. IV. Os elementos do vetor são armazenados na memória em uma única variável. V. Não é possível manipular um vetor como um todo, mas cada elemento separadamente. Estão corretas: a. I, III, IV e V apenas. b. I e II apenas. c. I, II e III apenas. d. I, IV e V apenas. e. I apenas. Feedback A resposta correta é: I, III, IV e V apenas. Questão 10 Vetores são arranjos de elementos armazenados na memória principal, um após o outro, todos com o mesmo nome. Utiliza-se um laço de repetição para fazer o armazenamento ou a leitura dos elementos de um vetor. Isto posto, assinale a alternativa correta referente ao problema contido no seguinte trecho de código: float notas[] = { 6.0, 8.5, 5.5, 9.0 }, media = 0; int i; for (i = 0; i <= 4; i++) media += notas[i]; printf("Media: %.1f", media / 4); a. Haverá erro de compilação porque não foi especificado o número de elementos em notas. b. Haverá erro de execução porque o primeiro elemento deveria ser 1 e não 0. c. Não será feita a divisão no segundo parâmetro da função printf() por causa da incompatibilidade dos tipos de dados envolvidos: media é float e 4 é int. d. Em alguns compiladores, o valor final da média apresentado em printf() será incorreto porque foi somado o valor de uma posição de memória fora da faixa do vetor notas. e. Haverá erro de execução ao tentar referenciar o elemento notas[4], para qualquer compilador C usado na geração do programa executável. Feedback A resposta correta é: Em alguns compiladores, o valor final da média apresentado em printf() será incorreto porque foi somado o valor de uma posição de memória fora da faixa do vetor notas.