Baixe o app para aproveitar ainda mais
Prévia do material em texto
5431048515 A 30/05/2022 11:32 Nome: __________________________________________________________ Matrícula: ________________ Disciplina: ARA0098 / ESTRUTURA DE DADOS EM C Data: ___ /___ /______ Período: 2022.1 / AV2 Turma: 3001 Leia com atenção as questões antes de responder. É proibido o uso de equipamentos eletrônicos portáteis e consulta a materiais de qualquer natureza durante a realização da prova. Questões objetivas e discursivas que envolvam operações algébricas devem possuir a memória de cálculo. Boa prova. 1. _______ de 1,00 No desenvolvimento do código de programação, as funções e procedimentos separam a lógica de algoritmo do programa principal, permitindo com essa modularização sua posterior reutilização e execução. Identifique a principal diferença entre uma função e um procedimento na linguagem de programação C: A função necessariamente deve indicar parâmetros de entrada e os procedimentos não usam parâmetros de entrada. O procedimento possui um valor de retorno ao seu término, enquanto a função não possui valor de retorno. A função sempre retorna o tipo void enquanto o procedimento retorna vários tipos diversos. A função possui um valor de retorno ao seu término, enquanto o procedimento não possui valor de retorno. O procedimento determina os cálculos a serem devolvidos a quem os executou e as funções não realizam cálculos em seu código. 2. _______ de 1,00 Um parâmetro é o nome simbólico para dados que enviados a uma função. Existem duas maneiras de passagem de parâmetros em C: A passagem por valor e passagem por referência. Observe que a função func() do código abaixo recebe um dado por valor e outro por referência. int main() { int *a, b; b = 100; a = &b; func(a, b); printf ("%d, ", *a); printf ("%d", b); } void func (int *a, int b) { *a = *a + b; b = 150; } Analisando o código da função, indique qual das alternativas exibe o que é impresso pela função main(). 100, 100 200, 200 150, 150 100, 200 100, 150 3. _______ de 1,00 Um programa que foi passado para você implementa uma pilha, que é uma estrutura de dados linear com itens do mesmo tipo. A informação adicional é que as operações possíveis são: inserção - push(novo valor) ou remoção - pop(). Considerando as operações possíveis de uma estrutura pilha, se realizarmos a seguinte sequência de operações: push(A), push(B), push(C), pop(), pop(), push(D), pop(), pop(). Pode-se dizer que o interior da pilha se apresenta: com os dados A e B apenas com o dado D vazio apenas com o dado A com os dados A e D 4. _______ de 1,00 FIFO, uma abreviatura do inglês First-In-First-Out (primeiro a entrar, primeiro a sair), é um método para lidar com estruturas de dados onde o primeiro elemento é processado primeiro e o elemento mais novo é processado por último, também chamado de FILA. Considere uma função insere(x) que recebe como parâmetro um número inteiro e o insere em uma FILA. Considere também a função remove(), que retira um valor de uma FILA. Dada a Fila [4-6-8-11-13], cujos elementos mais a esquerda foram inseridos primeiro, executam-se os comandos na ordem: insere(5), insere(7), remove(). Após a execução desses comandos, qual será a Fila resultante? [4-6-8-11-13] [6-8-11-13-5-7] [5-4-6-8-11-13] [7-5-4-6-8-11] [4-6-8-11-13-5] 5. _______ de 1,00 Imagine que seu colega te passou uma figura que ilustra um método de ordenação. Ele te disse que quer testar este método, mas quer ter certeza de estar com um código correto do método. Considerando que a figura passada é a mostrada abaixo, qual o método de ordenação você deve pesquisar para escolher o código correto que o implementa? Bubble sort Selection sort Quick sort Insertion sort Merge sort 6. _______ de 1,00 É correto afirmar que: O buble sort é um algoritmo de ordenação instável. O Selection Sort tem complexidade computacional O(n log n) O buble sort, o insert sort e o selection sort tem a mesma complexidade computacional, porém, isto não quer dizer que todos executem ao mesmo tempo para a mesma instância. O Insert sort é um método de ordenação instável. O buble sort é um algoritmo recursivo. 7. _______ de 1,00 O algoritmo de ordenação por bolha pode ser utilizado em projetos implementados com a linguagem C para organizar os valores de um vetor em ordem crescente. Dessa forma, a partir do vetor abaixo, marque a alternativa de como ficaria os valores do vetor no processo da quarta iteração do algoritmo por bolha. 1 2 5 8 6 9 7 1 2 8 5 6 9 7 1 2 6 8 5 9 7 1 8 2 6 5 9 7 1 2 6 5 8 9 7 8. _______ de 1,00 Analisando o quadro comparativo abaixo, marque a opção que indica a melhor escolha de algoritmo de ordenação. Merge sort, selection sort, buble sort e insert sort. Buble sort, Insert sort, Merge sort e Selection sort Insert Sort, Merge Sort, Selection sort e Buble sort. Selection sort, Merge sort, buble sort e Insert sort. Merge sort, Buble sort, insert sort e Selection sort. 9. _______ de 1,00 O algoritmo Bubble Sort é popular, mesmo que ineficiente. Usando-se esse algoritmo para ordenar uma tabela, alocada sequencialmente, em ordem crescente contendo os números [5, 4, 1, 3, 2] serão feitas: 10 comparações e 10 trocas. 10 comparações e 9 trocas. 16 comparações e 10 trocas. 10 comparações e 8 trocas. 16 comparações e 9 trocas. 10. _______ de 1,00 O método de ordenação da figura abaixo precisa ser testado por você, mas é necessário que tenha certeza de estar com um código correto do método. Qual método de ordenação você deve pesquisar para escolher o código correto que o implementa? Campus: PARÁ Prova Impressa em 30/05/2022 por FERNANDO NAZARENO NASCIMENTO F Ref.: 5431048515 Prova Montada em 30/05/2022 Quick sort Bubble sort Merge sort Selection sort Insertion sort
Compartilhar