Buscar

Atividade Objetiva 4_ Algoritmos e Lógica de Programação

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

A�vidade Obje�va 4
Entrega 21 set em 23:59 Pontos 1 Perguntas 5 Disponível depois 3 set em 0:00 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Histórico de tenta�vas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 4 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 23 set em 14:33
Esta tentativa levou 4 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 abaixo:
https://famonline.instructure.com/courses/9689/quizzes/29005/history?version=1
https://famonline.instructure.com/courses/9689/quizzes/29005/take?user_id=56167
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 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, 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!
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.
 
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 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.
 
É 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.
 
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.
0,2 / 0,2 ptsPergunta 2
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 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:
 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. 
 As asserções I e II são ambas proposições falsas. 
 A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. 
 As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa da I. Correto!Correto!
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. 
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 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.
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”?
 
Importante: Desconsidere as aspas duplas, pois elas não fazem parte da String.
 26 bytes 
 22 bytes. 
 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).
 27 bytes. 
 33 bytes. 
0,2 / 0,2 ptsPergunta 4
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, conhecidocomo 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 em:
 I e II, apenas. 
 I, II e III. 
 III, apenas. Correto!Correto!
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.
 I, apenas. 
 II e III, apenas. 
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 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:
 II e 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.
 I e II, apenas. 
 III, apenas. 
 I, II e III. 
Pontuação do teste: 1 de 1

Outros materiais