Prévia do material em texto
Atividade 4 Iniciado: 23 nov em 14:22 Instruções do teste Pergunta 1 0,2 pts 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. Para a criação de sistemas eficientes, a organização da estrutura de dados é fundamental. A estrutura de dados mais simples é o array ou vetor, que organiza os elementos de forma linear. Para buscar um elemento específico em um vetor, podem ser utilizadas diversas técnicas, entre as quais se destacam a busca sequencial e a busca binária. A busca sequencial verifica cada elemento do vetor sequencialmente até encontrar o elemento desejado ou até que todos os elementos tenham sido verificados, enquanto a busca binária requer que o vetor esteja previamente ordenado, dividindo o espaço de busca pela metade a cada iteração, o que pode significativamente reduzir o número de comparações necessárias para encontrar um elemento. Avalie as afirmações a seguir sobre as técnicas de busca em vetores: I. Se um vetor está ordenado, a escolha entre utilizar busca binária ou busca sequencial não impactará significativamente o tempo de busca, visto que ambas as técnicas têm eficiências equivalentes. II. A busca sequencial pode ser aplicada tanto em vetores ordenados quanto em desordenados, tornando-a uma opção versátil, apesar de não ser a mais eficiente em cenários onde o vetor está ordenado. III. A busca binária é incapaz de encontrar elementos em um vetor desordenado, dado que sua lógica de busca requer que os dados estejam organizados de forma crescente ou decrescente. É correto o que se afirma, apenas, em: III. I. A+ A A- Pergunta 2 0,2 pts Pergunta 3 0,2 pts II e III. I e II. II. Em programação, as estruturas de controle de fluxo (como as condicionais e os laços de repetição) são fundamentais para realizar diversas tarefas, inclusive a busca em vetores. Nesse sentido, uma tarefa comum é a busca linear, onde o algoritmo percorre elemento por elemento de um vetor até encontrar o valor desejado, retornando sua posição. Esse método é simples, mas pode ser ineficiente para vetores muitos grandes, principalmente se o elemento estiver nas últimas posições (ou se não estiver contido no vetor). Sobre a busca linear e sua implementação, assinale a opção correta: Ao realizar uma busca linear em um vetor, o algoritmo sempre encontra o valor desejado na primeira posição, tornando o processo altamente eficiente, independentemente do tamanho do vetor. A busca linear não pode ser implementada em linguagem C, pois essa linguagem não suporta a passagem de vetores como parâmetros para funções. A eficiência da busca linear aumenta conforme o tamanho do vetor aumenta, pois o algoritmo utiliza técnicas avançadas de predição de posição para encontrar valores rapidamente. A busca linear é incompatível com vetores que contêm elementos repetidos, uma vez que o algoritmo termina a execução após encontrar a primeira ocorrência do valor desejado, sem verificar o resto do vetor. A busca linear percorre sequencialmente um vetor até encontrar o valor desejado ou confirmar que o valor não está presente, retornando a posição do valor caso ele seja encontrado. Em um programa de computador, a estrutura de repetição é uma construção que permite executar um bloco de comandos diversas vezes. Em pseudocódigo e em linguagens como C e Portugol, as estruturas de repetição podem ser categorizadas principalmente em "para" (for), "enquanto" (while) e "faça enquanto" (do while). Cada uma delas tem suas particularidades, sendo escolhida conforme a necessidade do programa. A+ A A- Pergunta 4 0,2 pts O "para" é útil quando o número de repetições é conhecido, enquanto o "enquanto" e o "faça enquanto" são mais apropriados quando as repetições dependem de uma condição que é avaliada, respectivamente, antes ou após a execução do bloco de comandos. Com base nas informações apresentadas, avalie as afirmações a seguir: I. Na estrutura de repetição "para" (for) em linguagem C, a inicialização, a condição de continuação e o incremento são especificados na declaração da estrutura. II. A principal diferença entre as estruturas "enquanto" (while) e "faça enquanto" (do while) é que, na última, o bloco de comandos executa pelo menos uma vez, mesmo que a condição seja falsa desde o início. III. O pseudocódigo utilizando a estrutura "faça enquanto" executa o bloco de comandos depois que a condição de continuidade é avaliada como verdadeira pela primeira vez. É correto o que se afirma, apenas, em: III. I e II. I, II e III. I. II e III. 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 não possui um tipo nativo para esse tipo de dado. Para tal, devemos utilizar um vetor de caracteres, ao qual é acrescido um caractere nulo, que indica o final da string. Assinale qual alternativa indica, na linguagem C, a quantidade de bytes a se reservar em memória para um programa que declara um vetor com uma string que contenha: “Este é um exemplo de String”? Importante: Desconsidere as aspas duplas, pois elas não fazem parte da String. A+ A A- Pergunta 5 0,2 pts 22 bytes. 26 bytes 33 bytes. 28 bytes. 27 bytes. 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. 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, apenas, em: I, apenas. A+ A A- Salvo em 14:46 III, apenas. II e III, apenas. I, II e III. I e II, apenas. Enviar teste A+ A A-