Prévia do material em texto
Exercício - Estruturas de Dados Heterogêneas Voltar para desempenho 1 Marque (V) para verdadeiro ou (F) para falso. ( ) A alocação de memória, presente na função main, efetuada com a função malloc, resulta na mesma quantidade alocada em bytes que ptr = malloc(sizeof(struct entrada_cadastro)). ( ) A função strcpy copia a palavra Aluno para o vetor name da struct entrada_cadastro. ( ) O acesso aos campos da estrutura de dados é realizado através do ponteiro nomeado ptr de tipo struct entrada_cadastro. A sequência correta é: A V, F, F. B F, F, V. C V, V, V. Índice de questões 2 de 6 Corretas (6) Incorretas (0) Em branco (0) 1 2 3 4 5 6 Questão 2 de 6 D F, V, V. E V, V, F. Resposta correta Gabarito comentado 2 Na linguagem C, é possível realizar alocações de memória utilizando alocação dinâmica ou estática. Assinale a alternativa que representa uma alocação dinâmica de um vetor do tipo primitivo double com 10 posições na linguagem C. A malloc(10 * sizeof(double) + 1) B malloc(10 * sizeof(double)) C double[10] D double[10 * sizeof(double) + 1) E double[10 * sizeof(double) - 1) Resposta correta Gabarito comentado 3 Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome. Esses elementos podem ser variáveis simples, Índice de questões 2 de 6 Corretas (6) Incorretas (0) Em branco (0) 1 2 3 4 5 6 Questão 2 de 6 matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como: Struct empregado { string nome; float salario; }; Suponha ainda que exista um vetor desta estrutura, definido como: empregado vet [ 100]; Marque a alternativa em que é atribuída de forma correta o salario 805.7 para o décimo primeiro elemento deste vetor. A empregado.vet[10].nota=805.7; B empregado.vet[10]=805.7; C vet[10]=empregado.805.7; D vet[10].salario=805.7; E vet[10].empregado.salario=805.7 Resposta correta Gabarito comentado 4 Considere a definição da seguinte struct escrita em linguagem de programação C. struct endereço { char logradouro [50]; Índice de questões 2 de 6 Corretas (6) Incorretas (0) Em branco (0) 1 2 3 4 5 6 Questão 2 de 6 int numero; char cidade[30]; char estado[2]; } end1; A alternativa que manipula corretamente a struct acima definida é: A Para armazenar a string "RJ" na variável estado: endereco.estado= "RJ" B Para copiar o conteúdo das variáveis de end1 para end2: end1.strcpy = end2; C Para armazenar um valor inteiro na variável numero: scanf("%d",&end1.numero); D Para mostrar o conteúdo da variável logradouro: printf("%s", logradouro.end1); E Para criar um array de structs endereco: struct endereco[10]; Resposta correta Gabarito comentado 5 Sobre estruturas de dados, assinale a alternativa CORRETA. A Pilhas são tipos de dados abstratos caracterizadas pela política "primeiro a entrar, último a sair". B Filas são comumente implementadas sobre arrays ou grafos. C Árvores de busca de binárias são estruturas nas quais nós filhos possuem valores numericamente inferiores aos dos nós pais. G f ã t t d d d d ó i l j t d l õ Índice de questões 2 de 6 Corretas (6) Incorretas (0) Em branco (0) 1 2 3 4 5 6 Questão 2 de 6 D Grafos são estruturas de dados em que cada nó possui um valor e um conjunto de relações unidirecionais com os demais nós. E Listas duplamente ligadas são estruturas em que cada nó possui uma referência tanto ao nó que o antecede quanto ao nó que o sucede. Além disso, o último nó da lista também possui uma referência para o primeiro nó da lista. Resposta correta Gabarito comentado 6 Referente a alocação dinâmica de memória em C, é CORRETO afirmar: A As funções malloc e free e o operador sizeof, são essenciais para a alocação dinâmica de memória. B A função malloc usa o número de blocos de memória que serão alocados na memória. C As funções calloc e realloc são usadas para liberar arrays. D A função clear é usada para limpar o conteúdo de um ponteiro. E A função free é geralmente usada com o operador sizeof. Resposta correta Gabarito comentado Índice de questões 2 de 6 Corretas (6) Incorretas (0) Em branco (0) 1 2 3 4 5 6 Questão 2 de 6