17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56061 1/10 Atividade Objetiva 4 Entrega 21 mar em 23:59 Pontos 1 Perguntas 5 Disponível 3 mar em 0:00 - 21 mar em 23:59 19 dias Limite de tempo Nenhum Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 2 minutos 1 de 1 Pontuação desta tentativa: 1 de 1 Enviado 17 mar em 11:39 Esta tentativa levou 2 minutos. Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. Fazer o teste novamente 0,2 / 0,2 ptsPergunta 1 Leia o texto a seguir: A busca de uma determinada informação em banco de dados depende de um identificador, chamada de chave. O identificador chave é um elemento de valor único que serve para identificar um conjunto de dados. Por exemplo, o código de registro do aluno, conhecido como RA, identifica um conjunto de dados de um determinado aluno. Logo, se necessitarmos acessar alguma informação de um aluno no banco de dados, basta que tenhamos seu número de RA e, com isso, faremos a busca no banco de dados para recuperar o conjunto de dados do aluno. https://famonline.instructure.com/courses/15461/quizzes/56061/history?version=1 https://famonline.instructure.com/courses/15461/quizzes/56061/take?user_id=51333 17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56061 2/10 Destacamos duas técnicas de busca em um conjunto de dados: a sequencial e a binária. A busca binária consiste em fazer sucessivas divisões do conjunto de dados ao meio e verificar em qual metade a chave procurada pode estar. Essa busca termina quando a chave é encontrada ou quando não há mais possibilidade de divisão. Considerando as informações apresentadas, avalie as afirmações a seguir: I. A utilização da técnica da pesquisa sequencial e a técnica da pesquisa binária são equivalentes, em termos de performance, pois ambas fazem a mesma quantidade de comparação no pior caso. II. O método de busca binária é muito eficiente, independentemente se estes dados estiverem ordenados ou não, pois a técnica de divisões sucessivas é o ponto mais importante. III. Utilizando-se a técnica da busca, para encontrar informações em um conjunto de dados, no caso em que estes estejam desordenados, requer que façamos uma pesquisa sequencial, começando do primeiro elemento. Por outro lado, a busca pode ficar mais eficiente, se estes dados estiverem ordenados. Podemos então utilizar a técnica da busca binária. É correto o que se afirma em: I e II, apenas. I, II e III. I, apenas. III, apenas. Correto!Correto! 17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56061 3/10 Alternativa A Alternativa está correta. A afirmativa I está incorreta, pois a técnica da pesquisa sequencial e pesquisa binária não é equivalente em termos de performance. No pior caso, para a busca em um conjunto com n elementos, a pesquisa sequencial necessita fazer n verificações, ao passo que a pesquisa binária faz somente . A afirmativa II está incorreta, pois o método de busca binária é aplicado apenas se os de conjunto de dados estiverem ordenados. A afirmativa III está correta, pois a técnica de busca, considerando-se um conjunto de dados desordenados, deve ser feita por busca sequencial; partindo-se do primeiro, deve-se verificar cada elemento na sequência. A busca termina quando o elemento for encontrado ou quando for percorrido todo o conjunto. Nesse caso, não podemos fazer com a busca binária porque se utiliza a técnica de sucessivas divisões em metades. Depois, compara-se a chave de pesquisa com o elemento central. Se a chave for maior do que o elemento central, significa que o elemento procurado somente poderá estar do lado direito do elemento central, portanto, o lado esquerdo será desprezado na busca. Essa técnica somente funciona para dados ordenados. II e III, apenas. 0,2 / 0,2 ptsPergunta 2 Leia o texto abaixo: No universo da computação, existe uma tarefa que é muito importante pela amplitude de sua utilização: a ordenação e pesquisa. Essas tarefas são amplamente utilizadas em todos os gerenciadores de banco de dados. A ordenação é o processo de arranjar um conjunto de informações semelhantes em uma ordem crescente ou decrescente. Existem três métodos de ordenação: por troca, por seleção e por inserção. A ordenação por troca envolve repetidas comparações e, se necessário, a troca de dois elementos adjacentes. A ordenação por seleção aplica a técnica de seleção do elemento de menor valor e troca-o pelo primeiro elemento. A ordenação por inserção inicialmente ordena os 17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56061 4/10 dois primeiros membros do vetor. Em seguida, o algoritmo insere o terceiro membro de sua posição ordenada com relação aos dois primeiros membros. Na implementação das técnicas de ordenação, podemos utilizar os paradigmas de laço de repetição e a linguagem de programação C oferece comando de controle de laço de repetição. (Fonte: SCHILDT, H. C Completo e Total. São Paulo: Makron Books, 2006, p. 501). Com base no texto acima, assinale a opção correta. Para ordenar uma matriz unidimensional, podemos utilizar a estrutura de decisão switch, com a qual podemos ter acesso a cada elemento da matriz com a utilização de indexadores criados para essa finalidade. Não podemos utilizar o laço de repetição for (linguagem C) na técnica de ordenação por troca porque o laço for não proporciona ponto de troca de posição dos valores quando da comparação entre os valores das posições [k - 1] e [k]. Para o ordenador de uma matriz unidimensional, a única estrutura de repetição (linguagem C) que atende à necessidade é o comando do- while. Isso ocorre porque os outros comandos (for e while) não proporcionam formas de acesso a cada posição do vetor a ser ordenado. Para ordenar uma matriz unidimensional, a estrutura de repetição for (linguagem C) é fortemente recomendada porque a estrutura do comando proporciona um controle automático do acesso a todas as posições do vetor. Outro ponto positivo é que podemos utilizar a própria variável que controla o laço for para indexar a todas as posições do vetor. Correto!Correto! 17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação https://famonline.instructure.com/courses/15461/quizzes/56061 5/10 Alternativa A Alternativa está correta, pois a estrutura de repetição for é uma boa recomendação de uso para atender aos paradigmas de ordenação de uma matriz unidimensional. Isso se justifica porque a ordenação de uma matriz unidimensional se dá ao comparar seus elementos. Para ter acesso a esses elementos, é necessário que eles sejam referenciados por indexadores. O laço for possui um contador que varia de 0 (zero) a n. Para um vetor de n posições, podemos utilizar esses contadores na indexação do vetor. Portanto, a estrutura do comando proporciona um controle automático do acesso a todas posições do vetor. É totalmente inviável a utilização do comando while (linguagem C) para ordenador de uma matriz unidimensional, pois, ao contrário da estrutura for, não podemos utilizar a variável que controla o laço de repetição while para indexar a todas as posições do vetor. 0,2 / 0,2 ptsPergunta 3 Leia o texto a seguir: Um programa de computador tem na sua essência a manipulação de dados em memória. Para tal, as linguagens de programação necessitam classificar os dados em tipos de dados, onde podemos encantar os tipos caractere, numérico e booleanos. A linguagem C provê cinco tipos: char, int, float, double e void. Para a manipulação de uma sequência de caracteres (tipo texto), é utilizado o tipo string. A linguagem C