Prévia do material em texto
Acelere Sua Carreira 2025.2 - Engenharia de …
Testando os Conhecimentos - 3ª Lista de Exercícios
Colaborar
(/notific
Informações Adicionais
Período: 13/10/2025 00:00 à 30/11/2025 23:59
Situação:
Tentativas: 0 / 3
Acessar atividade (/aluno/avaliacao/form/6536182201?atividadeDisciplinaId=19915721)
1)
a)
b)
c)
d)
e)
2)
A virtualização possibilita que um único computador seja capaz de hospedar várias máquinas virtuais,
sendo que cada uma delas pode operar com seu próprio sistema operacional. Essa técnica passou a ter
maior visibilidade e relevância a partir da década de 1990 e, atualmente, é amplamente aplicada na solução
de diferentes tipos de problemas.
Levando em conta os diversos fatores envolvidos no uso da virtualização, analise as afirmações a seguir:
I. Um sistema operacional que é executado em uma máquina virtual faz uso de apenas uma parte da
memória da máquina física.
II. Entre as utilidades da virtualização está a possibilidade de operar diversos sistemas operacionais para fins
de teste de software.
III. O desempenho de um sistema operacional em uma máquina virtual pode ser superior ao desempenho
obtido ao ser executado diretamente na máquina física.
Está correto o que se afirma em:
Alternativas:
I, apenas.
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 1/8
https://www.colaboraread.com.br/aluno/timeline/index/6536182201?ofertaDisciplinaId=2604650
https://www.colaboraread.com.br/aluno/timeline/index/6536182201?ofertaDisciplinaId=2604650
https://www.colaboraread.com.br/aluno/timeline/index/6536182201?ofertaDisciplinaId=2604650
https://www.colaboraread.com.br/notificacao/index
https://www.colaboraread.com.br/notificacao/index
https://www.colaboraread.com.br/notificacao/index
https://www.colaboraread.com.br/aluno/avaliacao/form/6536182201?atividadeDisciplinaId=19915721
a)
b)
c)
d)
e)
3)
No contexto computacional, a memória é o componente responsável por armazenar e recuperar dados e
instruções. De forma geral, os computadores utilizam uma técnica chamada acesso aleatório para acessar
qualquer uma das posições de memória, chamadas de células. Essas memórias são organizadas em células
de tamanho fixo, cada uma identificada por um número exclusivo chamado endereço.
O acesso à memória sempre ocorre por meio de um endereço específico, sendo necessário buscar ou
gravar o conteúdo completo da célula correspondente. Dessa forma, a célula representa a unidade mínima
de acesso na memória. Esse modelo é característico das memórias de acesso aleatório (RAM), em que um
registrador de endereços indica qual célula deve ser acessada, e um registrador de dados armazena ou
recupera o valor presente nessa célula. Sobre esse assunto, analise as afirmativas a seguir:
I. Caso o registrador de endereços da memória possua 8 bits de largura, a quantidade máxima de células
que essa memória poderá conter será igual a 256.
II. Se o registrador de dados da memória for composto por 8 bits, será preciso realizar mais de uma
operação para conseguir armazenar o valor numérico inteiro 2.024 nessa memória.
III. Tendo o registrador de dados da memória 12 bits, é viável que a largura da memória corresponda a 8
bits.
Está correto o que se afirma em:
Alternativas:
I, apenas.
I e II, apenas
I e III, apenas.
II e III, apenas.
I, II e III.
A organização e a arquitetura de computadores são áreas essenciais da computação que tratam da
estrutura interna e da forma como os componentes de um sistema computacional interagem entre si. Esses
estudos abrangem elementos como processadores, memória, barramentos, unidades de entrada e saída,
entre outros. A arquitetura está relacionada às funcionalidades visíveis ao programador, como o conjunto de
instruções e modos de endereçamento, enquanto a organização envolve os detalhes operacionais internos,
como a implementação de circuitos e estruturas de controle. Compreender esses conceitos é fundamental
para o desenvolvimento de sistemas mais eficientes e para a correta interpretação do funcionamento de
dispositivos computacionais.
Analise as afirmativas a seguir:
I. O barramento de dados é responsável por transferir informações de controle entre a CPU e os dispositivos
periféricos.
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 2/8
a)
b)
c)
d)
e)
4)
a)
b)
II. A Memória RAM é considerada uma memória volátil e armazena os dados temporariamente enquanto o
computador está ligado.
III. A Unidade Lógica e Aritmética (ULA) realiza operações matemáticas e lógicas dentro da CPU.
É correto apenas o que se afirma em:
Alternativas:
I, apenas.
II, apenas
I e III, apenas.
II e III, apenas.
I, II e III.
Estruturas de dados são fundamentais na organização e manipulação eficiente de informações dentro
de programas de computador. Elas representam formas específicas de armazenar e organizar dados para
que possam ser utilizados de maneira otimizada em diversas operações, como inserção, remoção, busca e
ordenação. Entre as estruturas mais comuns estão as listas, pilhas, filas, árvores e grafos. Cada estrutura
possui características próprias e é mais indicada para determinados tipos de problemas. Por exemplo,
algumas priorizam a ordem de chegada dos dados, enquanto outras impõem restrições ao acesso e à
remoção de elementos. Além disso, estruturas como listas podem ter implementações dinâmicas,
permitindo flexibilidade na alocação de memória, ou estáticas, em que os elementos são organizados de
forma contígua na memória.
Sobre o tema Estrutura de Dados, analise as assertivas e assinale a alternativa correta:
I. Pilhas – São estruturas de dados do tipo LIFO (Last-In, First-Out), onde o último elemento inserido é o
primeiro a ser removido. Portanto, em uma pilha, apenas o último item inserido pode ser acessado
diretamente. Para acessar o penúltimo item inserido, é necessário remover o último.
II. Filas – São estruturas de dados do tipo FIFO (First-In, First-Out), onde o primeiro elemento inserido é o
primeiro a ser retirado. Ou seja, itens são adicionados no final e removidos do início.
III. Uma lista linear é uma estrutura de dados em que elementos do mesmo tipo estão organizados de
forma sequencial. Embora os elementos não precisem estar fisicamente em sequência, deve haver uma
ordem lógica entre eles.
Agora, assinale a alternativa que apresenta a resposta CORRETA:
Alternativas:
Apenas a afirmativa I está correta;
Apenas a afirmativa II está correta;
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 3/8
c)
d)
e)
5)
a)
b)
c)
d)
e)
Apenas a afirmativa III está correta;
Apenas as afirmativas I e II estão corretas;
As afirmativas I, II e III estão corretas.
Funções recursivas são aquelas que se chamam a si mesmas durante sua execução. Essa técnica é
utilizada para resolver problemas que podem ser divididos em subproblemas menores de natureza
semelhante. A ideia central da recursão é que uma função resolva um caso base, geralmente o mais
simples, diretamente, e chame a si própria para resolver os demais casos, reduzindo progressivamente o
problema. Para funcionar corretamente, uma função recursiva precisa de uma condição de parada, ou seja,
um critério que determine quando a recursão deve terminar. Sem isso, a função entraria em um ciclo
infinito. A recursão é útil em estruturas como árvores e algoritmos de divisão e conquista, mas deve ser
usada com cuidado, pois pode consumir muita memória e ser menos eficiente que abordagens iterativas
em certos contextos.Considere a função recursiva f(), a qual foi escrita em linguagem C:
Suponha que a função f() é acionada com os seguintes parâmetros de entrada:
f({2, -4, 7, 0, -1, 4}, 6);
Nesse caso, o valor de retorno da função f() será:
Alternativas:
8
10
13
15
18
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 4/8
6)
a)
b)
c)
d)
e)
7)
a)
b)
A área de complexidade de algoritmos é responsável por estudar e medir a eficiência de algoritmos com
base na quantidade de operações realizadas até que o resultado seja obtido. Essa análise é fundamental
para avaliar o desempenho de soluções computacionais diante de diferentes tamanhos de entrada. Nesse
contexto, imagine um cenário em que se possui um arquivo de texto contendo os nomes de N cidades
pertencentes a um estado brasileiro. Cada nome de cidade está separado do próximo por um caractere
especial que indica o fim da linha, e a lista está organizada em ordem alfabética crescente. Considere agora
um programa que percorre esse arquivo, realizando a leitura sequencial de cada linha com o objetivo de
localizar um nome de cidade específico. Essa operação pode ser analisada do ponto de vista da
complexidade, já que, dependendo da posição do nome desejado no arquivo, o número de operações
realizadas poderá variar significativamente.
Com base nessa descrição, verifica-se que a complexidade desse programa é:
Alternativas:
O(1), em caso de busca sequencial.
O(N), em caso de busca sequencial.
O(log?N), em caso de busca binária.
O(N), em caso de transferência dos nomes para uma árvore binária e, então, realizar a busca.
O(log?N), em caso de transferência dos nomes para uma árvore binária e, então, realizar a busca.
Com o avanço das tecnologias e o aumento da diversidade de aplicações, surgiram diferentes
abordagens para o armazenamento e a manipulação de dados. Tradicionalmente, os bancos de dados
relacionais, baseados na linguagem SQL, dominaram o cenário, sendo amplamente utilizados em sistemas
corporativos devido à sua estrutura bem definida e à capacidade de garantir integridade dos dados por
meio de esquemas rígidos e transações ACID. Contudo, o crescimento de aplicações que exigem alta
escalabilidade, desempenho em tempo real e flexibilidade na estrutura dos dados contribuiu para o
surgimento e a popularização dos bancos de dados NoSQL. Esses bancos não seguem necessariamente o
modelo relacional e são especialmente úteis em contextos onde os dados são semiestruturados, altamente
distribuídos ou em constante mutação.
Analise as afirmativas sobre banco de dados NoSQL e SQL:
I- Tanto banco de dados SQL como bancos NoSQI são bancos de dados relacionais.
II - Serviços de streaming que precisam processar grandes volumes de dados, como preferências dos
usuários, histórico de reprodução e recomendações personalizadas são um exemplo de boa aplicabilidade
para os bancos de dados NoSQL.
III - Bancos de dados NoSQL dependem exclusivamente da linguagem SQL para manipulação de dados.
É correto apenas o que se afirma em:
Alternativas:
I, apenas.
II, apenas
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 5/8
c)
d)
e)
8)
a)
b)
c)
d)
e)
9)
I e III, apenas.
II e III, apenas.
I, II e III.
Para fins estatísticos, uma empresa precisa registrar os trajetos percorridos por seus representantes
comerciais entre os pontos de venda. É fundamental que, para cada local visitado, sejam armazenadas não
apenas as informações do próprio local, mas também o ponto de origem do representante (ou seja, o ponto
de venda anterior), o ponto de destino (ponto de venda seguinte), as distâncias percorridas e os tempos de
deslocamento. Esse processo possibilita uma análise eficiente dos trajetos, tanto no sentido do ponto de
origem ao destino quanto no sentido inverso, do destino ao ponto de origem. O analista responsável pelo
sistema que fará uso desses dados e gerará relatórios estatísticos elaborou o seguinte esboço de uma classe
para representar um ponto de venda:
I. O esboço acima representa uma lista duplamente encadeada.
II. Utilizar um nó de uma estrutura de dados do tipo árvore de busca multivias de grau 3 seria a solução
ideal para o problema porque providenciaria a economia de recursos de memória e de disco.
III. A utilização de uma árvore de pesquisa binária para a solução do problema é normal, desde que o
atributo de ordenação da árvore seja distância de origem.
É correto o que se afirma em:
Alternativas:
I, apenas.
I e II, apenas
I e III, apenas.
II e III, apenas.
I, II e III.
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 6/8
a)
b)
c)
d)
e)
10)
O encapsulamento é um dos pilares fundamentais da programação orientada a objetos. Ele consiste em
restringir o acesso direto aos membros internos de uma classe, como atributos e métodos, tratando-os
como elementos internos de uma "caixa preta". Isso significa que os detalhes de implementação ficam
ocultos do mundo exterior, permitindo que apenas operações controladas sejam realizadas sobre os dados
da classe. Para controlar esse acesso, são utilizados modificadores de visibilidade, tais como privado,
público e protegido. O modificador privado impede o acesso aos membros da classe a partir de outras
classes. Já o modificador público permite que atributos e métodos sejam acessados livremente por qualquer
parte do programa. O modificador protegido, por sua vez, permite o acesso apenas dentro da própria classe
e por suas classes derivadas.
Considerando esses comportamentos associados aos modificadores de visibilidade, analise as opções
apresentadas e assinale a alternativa correta.
Alternativas:
Um atributo privado pode ser acessado pelos métodos privados da própria classe e pelos métodos
protegidos das suas classes descendentes.
Um atributo privado pode ser acessado pelos métodos públicos da própria classe e pelos métodos
públicos das suas classes descendentes.
Um membro público é visível na classe à qual ele pertence, mas não é visível nas suas classes
descendentes.
Um método protegido não pode acessar os atributos privados e declarados na própria classe.
Um membro protegido é visível na classe à qual pertence e em suas classes descendentes.
Uma etapa fundamental na administração de bancos de dados se refere à implementação e
monitoramento de segurança. Essa atividade envolve a definição de políticas de acesso, a criação de
mecanismos de autenticação e autorização, além da adoção de práticas que garantam a integridade, a
confidencialidade e a disponibilidade das informações armazenadas. A segurança deve ser constantemente
avaliada e ajustada para prevenir falhas, ataques e acessos indevidos, assegurando que os dados estejam
protegidos em todos os momentos, inclusive durante transmissões e processos de backup.
Com relação às ameaças e desafios comuns, analise os itens a seguir.
I. Os erros humanos continuam sendo uma das mais importantes causas de todas as violações de dados
relatadas, em especial devidos a acidentes, senhas fracas, compartilhamento de senhas e outros
comportamentos de usuários imprudentes ou desinformados.
II. As vulnerabilidades do software de banco de dados tem sua exposição reduzida pela aplicação dos
patches fornecidos pelas empresas comerciais e plataformas de gerenciamento de banco de dados de
software livre.
III. São ameaças permanentes em bancos de dados os ataques de injeção SQL/NoSQL e as invasões por
estouro de buffer.
Está correto o que se afirma em:
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=26046507/8
a)
b)
c)
d)
e)
Alternativas:
I, apenas.
I e II, apenas
I e III, apenas.
II e III, apenas.
I, II e III.
11/11/2025, 21:01 Colaborar - Testando os Conhecimentos - 3ª Lista de Exercícios
https://www.colaboraread.com.br/aluno/avaliacao/index/6536182201?atividadeDisciplinaId=19915721&ofertaDisciplinaId=2604650 8/8