Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Acerto: 1,0 / 1,0 A linguagem C permite alocar (reservar) dinamicamente (em tempo de execução) blocos de memórias utilizando ponteiros. A esse processo dá-se o nome de alocação dinâmica, que faz uso das funções malloc, calloc, realloc e free, disponíveis na biblioteca stdlib.h. Para liberar um bloco de memória previamente alocado, por meio de um único parâmetro de entrada, faz-se uso de qual função? Calloc Free Clear Malloc Realloc Respondido em 29/04/2023 10:43:09 Explicação: A resposta correta é: Free 2a Questão Acerto: 1,0 / 1,0 Leia o programa abaixo, verifique o que a função func3() faz e assinale qual das opções será impressa na saída após a execução. #include < stdio.h > typedef struct pessoa { char nome[40]; int idade; float salario; }; void func3(struct pessoa f1, struct pessoa f2, struct pessoa f3) { printf("%s %d %.2f\n",f1.nome, f2.idade, f3.salario); } main() { struct pessoa p1 = {"Maria Estrela",50,10000.00}; struct pessoa p2 = {"Alcogelson Medeiros",51,12000.00}; struct pessoa p3 = {"Paulo Lokidown",60,12500.00}; func3(p1,p2,p3); } Assinale a opção correta. Maria Estrela 51 12500,00 Alcogelson Medeiros 60 12500,00 Paulo Lokidown 51 12000,00 Maria Estrela 50 10000,00 Maria Estrela 60 12500,00 Respondido em 29/04/2023 10:45:52 Explicação: A função func3 recebe três estruturas pessoa como argumentos e imprime o nome da primeira estrutura (Maria Estrela), a idade da segunda (51) e o salário da terceira (12500.00). 3a Questão Acerto: 1,0 / 1,0 Observe o trecho de código abaixo, escrito na linguagem C. void imprimecabecalho() { ... } void calcula() { int soma; ... imprimecabecalho(); } Com base nesse código, é correto afirmar que: O escopo da variável soma se estende da função calcula() para a função imprimecabecalho(). O escopo da variável soma é contido pela função imprimecabecalho(). O tempo de vida da variável soma estende-se durante o tempo em que a função imprimecabecalho() é executada. O escopo da variável soma é dinâmico e se estende durante toda execução do programa. O escopo e o tempo de vida da variável soma são iguais e contidos pela função imprimecabecalho(). Respondido em 29/04/2023 10:58:24 Explicação: Resposta correta: o tempo de vida da variável soma estende-se durante o tempo em que a função imprimecabecalho() é executada. 4a Questão Acerto: 1,0 / 1,0 A modularização de algoritmos é importante para organizar melhor o código, facilitar a manutenção, entre outras coisas. Sobre funções e procedimentos, assinale a alternativa CORRETA sobre a modularização: A passagem de parâmetros para um subprograma pode ser somente por valor. O procedimento sempre retorna um valor ao programa. As variáveis locais são declaradas no escopo do programa inteiro. As variáveis definidas no escopo de cada função são acessíveis em todo o programa. A função retorna um valor ao programa. Respondido em 29/04/2023 10:51:00 Explicação: Resposta correta: A função retorna um valor ao programa. 5a Questão Acerto: 1,0 / 1,0 Sejam as seguintes propriedades de estruturas de dados: I- a remoção de um elemento interno obriga ao deslocamento de todos os sucessores. II- Um nó pode ser inserido no meio da estrutura com complexidade O (1). III- a inserção e a remoção podem ser feitas em ambas as extremidades. As descrições acima se referem respectivamente à: Lista em alocação sequencial, Lista em alocação sequencial e deque. Lista em alocação sequencial, Lista em alocação encadeada e deque. Lista em alocação sequencial, Lista circular e Lista em alocação encadeada. Lista em alocação encadeada, Lista em alocação sequencial e deque. Lista em alocação encadeada, Lista circular e Lista em alocação sequencial. Respondido em 29/04/2023 10:52:36 Explicação: A resposta correta é: Lista em alocação sequencial, Lista em alocação encadeada e deque. 6a Questão Acerto: 1,0 / 1,0 (IBFC/2022 - Adaptada) Assinale, das alternativas abaixo, a única que identifica respectivamente uma Estrutura de Dados do tipo FIFO (First In, First Out) e uma outra com a Estrutura de dados do tipo LIFO (Last In, First Out): matriz - vetor fila - pilha lista - vetor vetor - lista pilha - fila Respondido em 29/04/2023 10:55:26 Explicação: Filas e Pilhas são estruturas de dados lineares que permitem o armazenamento e acesso a elementos. Ambas são utilizadas para armazenar coleções de elementos, mas possuem diferenças importantes no que diz respeito ao princípio de acesso aos elementos. Uma fila é uma estrutura de dados baseada no princípio First In, First Out (FIFO), ou seja, o primeiro elemento a ser adicionado é o primeiro a ser removido. É como se fosse uma fila de pessoas, onde a primeira pessoa a chegar é a primeira a ser atendida. As operações de inserção e remoção são chamadas de enfileirar e desenfileirar, respectivamente. Já uma pilha é uma estrutura de dados baseada no princípio Last In, First Out (LIFO), ou seja, o último elemento a ser adicionado é o primeiro a ser removido. É como se fosse uma pilha de pratos, onde o último prato colocado é o primeiro a ser retirado. O LIFO é a base para as operações de empilhamento e desempilhamento, que permitem adicionar e remover elementos na pilha, respectivamente. 7a Questão Acerto: 1,0 / 1,0 Comparando o Merge Sort com o Método da bolha podemos afirmar que: O merge sort, por ser instável, sempre executará em tempo superior ao buble sort. O merge sort tem complexidade computacional inferior ao buble sort, porém o merge sort sempre executa em um tempo proporcional a n log n, enquanto o buble sort, pode executar em tempo linear em algumas instâncias (melhores casos). O buble sort sempre irá executar mais rápido que o merge sort por ter complexidade computacional inferior ao merge sort. Ambos têm complexidade comparável, assim, existem não é possível afirmar qual irá executar em melhor tempo. O merge sort sempre executará mais rápido que o buble sort uma vez que sua complexidade é O(n log n) e a do buble sort O(n22). Respondido em 29/04/2023 10:56:01 Explicação: A resposta correta é: O merge sort tem complexidade computacional inferior ao buble sort, porém o merge sort sempre executa em um tempo proporcional a n log n, enquanto o buble sort, pode executar em tempo linear em algumas instâncias (melhores casos). 8a Questão Acerto: 1,0 / 1,0 Sobre o método da bolha é correto afirmar que: O tempo de execução pode ser linear em relação ao tamanho da entrada se a instância apresentada já estiver ordenada. A complexidade computacional deste algoritmo é O (n log n). O algoritmo executa sempre no mesmo tempo para instâncias de mesmo tamanho n. O tempo de execução é definido pela complexidade computacional sempre, independentemente da instância apresentada. O tempo de execução pode ser linear em relação ao tamanho da entrada se a instância apresentada estiver ordenada em ordem reversa a desejada. Respondido em 29/04/2023 10:56:34 Explicação: A resposta correta é: O tempo de execução pode ser linear em relação ao tamanho da entrada se a instância apresentada já estiver ordenada. 9a Questão Acerto: 1,0 / 1,0 As rotações são operações fundamentais para ajuste da propriedade AVL. Analise as afirmativas abaixo. I - A inserção de uma nova chave em uma árvore AVL pode desregular diversos nós no caminho da raiz até a folha onde a nova chave foi inserida. Só é necessárioaplicar uma rotação no nó mais profundo desregulado. Porque II - A aplicação da rotação resulta em uma subárvore com a mesma altura da subárvore original, isto é, antes da inserção da nova chave. Marque a alternativa correta. A primeira afirmativa é falsa e a segunda afirmativa é verdadeira. As duas afirmativas são falsas. As duas afirmativas estão corretas e a segunda justifica a primeira. A primeira afirmativa é verdadeira e a segunda afirmativa é falsa. As duas afirmativas estão corretas e a segunda não justifica a primeira. Respondido em 29/04/2023 10:57:03 Explicação: As operações de rotação preservam a altura da árvore original, isto é, imagine que v é a raiz da subárvore Tv que ficará desregulada após a inserção. Antes da inserção Tv tem altura h, depois da inserção Tv terá altura h+1, porém v está desregulado. Ao aplicar a rotação Tv volta a ter altura h, por isso, eventuais nós ancestrais de v que estivessem desregulados voltam a estar regulados. 10a Questão Acerto: 1,0 / 1,0 As árvores binárias de busca são especializações das árvores binárias que permitem uma melhor organização dos algoritmos de busca. Sobre a inserção de uma nova chave em uma árvore binária de busca é correto afirmar que: Todas as chaves são inseridas em folhas, a posição da folha é determinada pela busca. Toda nova chave é inserida obrigatoriamente na raiz. Para determinar a posição da nova chave é necessário calcular o percurso em ordem simétrica da árvore obtida. Com este percurso, verifica-se se a sequência está ordenada em ordem crescente. Caso esteja, a posição da nova chave está correta. A complexidade da inserção é sempre O(n), independentemente da altura da árvore. O algoritmo de inserção em árvores binárias de busca é estático, isto é, é necessário recalcular toda árvore para inserir uma nova chave. Respondido em 29/04/2023 10:57:31 Explicação: Todas as chaves serão inseridas em folhas, considerando que na árvore binária de busca o objetivo é buscar pela posição correta de inserção dos dados e inserir (a esquerda ou a direita) o nó considerado, além de que em árvores binárias de busca não existem regras que mantenham o balanceamento da árvore.
Compartilhar