Buscar

Algoritmos e Lógica de Programação - M20211 006 Objetiva04

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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 Cnã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.
Na linguagem C, qual é 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”?
 
17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56061 6/10
Importante: Desconsidere as aspas duplas, pois elas não fazem parte
da String.
 28 bytes. Correto!Correto!
Alternativa A
Alternativa está correta. Para contar a quantidade de caracteres,
em bytes, de uma cadeia de caracteres (string), devemos
considerar também os espaços em branco, que também ocupam
espaço em memória. Outro ponto a se considerar é o caractere
nulo colocado ao final da string. Portanto, a string ocupa 28 bytes
em memória, compostos da seguinte forma: 5 caracteres em
branco + 22 letras + 1 caractere para o valor nulo, representado
pelo 0 (zero).
 22 bytes. 
 26 bytes 
 27 bytes. 
 33 bytes. 
0,2 / 0,2 ptsPergunta 4
Leia o texto abaixo:
 
A melhor forma de resolução de problemas computacionais de
resolução complexa é dividi-lo em partes menores. Tecnicamente, na
linguagem C, isso pode ser resolvido com a utilização de função. Uma
função são as partes de um código que realizam alguma tarefa
específica e que podem ser chamadas em vários pontos do programa.
Um fator que proporciona a utilização da técnica de subdivisão de
problemas (dividir para conquistar) é o fato de as linguagens
implementarem a passagem e o recebimento de valores, para que as
funções os manipulem. Nesse sentido, a linguagem C proporciona
17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56061 7/10
uma estrutura e sintaxe para que a utilização de funções seja um
benefício para a programação. As funções na linguagem C podem
receber valores de todos os tipos de dados suportados pela
linguagem, inclusive estruturas de vetores e matrizes.
Considerando esse texto, avalie as seguintes asserções e a relação
proposta entre elas.
I. Uma função pode ser declarada sem lista de parâmetros, tendo
assim uma lista vazia. Mas na linguagem C, mesmo na situação de
lista vazia, faz-se necessário que sejam codificados a abertura e o
fechamento de parênteses.
 
PORQUE
 
II. Na linguagem C, a sintaxe da definição de uma função é:
 
 especificador_de_tipo nome_da_função(lista de parâmetros)
 {
 corpo da função
 }
 
A esse respeito, assinale a opção correta:
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa da I.
Correto!Correto!
17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56061 8/10
Alternativa A
Alternativa está correta. A asserção I é verdadeira porque, em
linguagem C, uma função pode, ou não, exigir a passagem de
parâmetros. Isso depende da finalidade da passagem e da
estratégia de arquitetura que o programador aplicou no programa.
Portanto, a forma que a linguagem C disponibiliza para essa
situação de lista de parâmetros vazia é pura e simplesmente a
codificação da abertura e do fechamento de paracenteses. A
asserção II é verdadeira e justifica a asserção I, pois, mesmo com
a lista vazia, a sintaxe da linguagem exige a codificação dos
parênteses.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não
é uma justificativa da I.
 As asserções I e II são ambas proposições falsas. 
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
0,2 / 0,2 ptsPergunta 5
Leia o texto a seguir:
 
Uma matriz unidimensional, também conhecida como vetor, é uma
coleção de variáveis do mesmo tipo. Para fazer referência a cada
elemento dessa coleção, utiliza-se o mesmo nome para todas. Em
linguagem C, as matrizes devem ser explicitamente declaradas e
deve-se informar a quantidade de elementos que compõem o conjunto.
Para esse conjunto de elementos, será reservado um espaço em
17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56061 9/10
memória, conforme o tipo de dado e a quantidade de elementos
declarados. Para fazer referência a um elemento específico da matriz,
utilizamos um índice, entre dois colchetes, que aponta a posição do
elemento dentro do conjunto.
Com base nas informações apresentadas, avalie as afirmações a
seguir:
I. Em linguagem C, ao declarar uma matriz unidimensional com 10
elementos do tipo int, o índice [1] refere-se ao segundo elemento da
matriz unidimensional.
II. Para uma matriz unidimensional com 10 elementos do tipo int,
declarada em um programa C (compilado em um computador com
processador de 32 bits), será reservado um espaço de 50 bytes.
III. Em linguagem C, uma referência a uma matriz unidimensional com
o índice [0] causará um erro de compilação.
 
É correto o que se afirma em:
 III, apenas. 
 I, apenas. Correto!Correto!
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque, em
linguagem C, o posicionamento do elemento dentro da matriz
unidimensional é referenciado por um índice. Esse
posicionamento inicia-se em 0 (zeros), logo, o elemento apontado
pelo índice [0] refere-se ao primeiro elemento da matriz
unidimensional. O elemento apontado pelo índice [1] refere-se ao
segundo elemento, e assim sucessivamente. A afirmativa II é
falsa, pois a quantidade de bytes alocados para a matriz
unidimensional com 10 elementos do tipo int, declarada em um
programa C (compilado em um computador com processador de
32 bits), serão 40 bytes, obtido do cálculo: Total em bytes = sizeof
(tipo) * tamanho do vetor.
A afirmativa III é falsa. Em C, o índice [0] refere-se à localização
do primeiro elemento da matriz unidimensional, por ser um
comando válido para o compilador. Assim, a alternativa correta é
I, apenas.
17/03/2021 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/15461/quizzes/56061 10/10
 I, II e III. 
 I e II, apenas. 
 II e III, apenas. 
Pontuação do teste: 1 de 1

Outros materiais