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 11 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 11 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 11 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

31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 1/11
Atividade Objetiva 4
Entrega 22 de mar de 2022 em 23:59 Pontos 1 Perguntas 5
Disponível 3 de mar de 2022 em 0:00 - 22 de mar de 2022 em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste não está mais disponível, pois o curso foi concluído.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 3 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 21 de mar de 2022 em 16:01
Esta tentativa levou 3 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.
0,2 / 0,2 ptsPergunta 1
A+
A
A-
https://famonline.instructure.com/courses/22779/quizzes/99507/history?version=1
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 2/11
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.
 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. 
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 3/11
 26 bytes 
 27 bytes. 
 33 bytes. 
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.
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 4/11
 
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, mas a asserção II não é uma justificativa da I. 
 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. 
 As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa da I. Correto!Correto!
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 5/11
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 ambas proposições falsas. 
0,2 / 0,2 ptsPergunta 3
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 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.
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 6/11
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.
 
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çõesdo
vetor.
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 7/11
 
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.
 
É 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.
 
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].
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, 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. 
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 8/11
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, apenas. 
 I, II e III. 
 I e II, apenas. 
 III, apenas. Correto!Correto!
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 9/11
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 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
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 10/11
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 e II, apenas. 
 I, apenas. Correto!Correto!
A+
A
A-
31/08/2023, 08:41 Atividade Objetiva 4: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99507?module_item_id=518353 11/11
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.
 III, apenas. 
 I, II e III. 
Pontuação do teste: 1 de 1
A+
A
A-

Outros materiais