No departamento de Ciência da Computação de certa Universidade, um professor está dando uma aula introdutória sobre teoria dos grafos. Ele explica que um grafo é uma estrutura composta por [preencher 1] e [preencher 2] que representam, respectivamente, os elementos e as conexões entre esses elementos.Identifique essas duas componentes fundamentais do grafo e complete as lacunas com as palavras apropriadas e assinale a alternativa correta:
Uma empresa de desenvolvimento de software, a equipe de engenheiros de software está trabalhando em um novo projeto de banco de dados. Eles estão implementando uma estrutura de árvore binária para otimizar as operações de busca e inserção. O líder do projeto, para reforçar o entendimento da equipe sobre árvores binárias, propõe uma questão para preencher lacunas sobre suas características fundamentais:"Em uma árvore binária, cada nó tem no máximo [preencher 1] filhos. Uma das principais vantagens dessa estrutura é a sua eficiência na realização de [preencher 2] de dados."Escolha as palavras que preenchem corretamente as lacunas:
As tabelas hash são estruturas de dados que utilizam uma função hash para mapear chaves a índices em uma tabela. Isso permite um acesso rápido aos dados. No entanto, um dos desafios no uso de tabelas hash é lidar com colisões, que ocorrem quando duas chaves diferentes são mapeadas para o mesmo índice.Assinale a alternativa que compreende uma vantagem do uso de tabelas hash em relação a outras estruturas de dados.
Ao explorar as diferentes formas de organização de dados em memória na programação, um tópico importante são as listas encadeadas. Estas listas oferecem uma maneira flexível de armazenar dados. Considere as afirmações a seguir sobre listas encadeadas e identifique qual delas é correta:
Em uma aula sobre estruturas de dados avançadas, um grupo de estudantes de Ciência da Computação está projetando um sistema de gerenciamento de inventário utilizando tabelas hash. Para tratar as colisões inerentes ao uso de tabelas hash, eles decidem implementar o método de encadeamento. Leia as seguintes afirmações sobre o tratamento de colisões por encadeamento em tabelas hash:I. O encadeamento resolve colisões mantendo uma lista separada para cada índice da tabela hash.
II. No encadeamento, uma colisão resulta na substituição do elemento já existente no índice hash.III. O encadeamento permite que múltiplos elementos sejam armazenados em um único índice da tabela hash.IV. Uma vantagem do encadeamento é a simplicidade de implementação, mas pode sofrer com a eficiência quando há muitas colisões.Assinale a opção correta:
No âmbito de sistemas de banco de dados, o que se observa é que, no modelo relacional formal, uma relação se define com um conjunto de tuplas, sendo que duas tuplas não podem apresentar igual combinação de valores para todos os atributos. Algumas condições adicionais se impõem, por exemplo, a necessidade de cada relação ter ao menos uma superchave-padrão.A esse respeito, analise as asserções a seguir e a relação proposta entre elas.I. Chave e superchave são conceitos distintos, ainda que associados — por exemplo, pela constatação de que uma chave satisfaz a propriedade de ser uma superchave mínima, da qual se pode remover qualquer atributo e, ainda, manter uma restrição de exclusividade.PORQUEII. Uma superchave também é uma chave, embora não se possa afirmar o mesmo da condição contrária, pois jamais uma chave poderia ser assumida como uma superchave, sob qualquer circunstância.
Avaliando as asserções, conclui-se que:
O modelo de dados orientado a objetos pode ser considerado uma extensão do paradigma orientado a objetos. Ele compartilha essencialmente os mesmos conceitos. Afinal, o paradigma orientado a objetos visa construir aplicações a partir de objetos abstraídos da realidade, com a devida associação de dados e comportamentos. Esses objetos têm atributos, entendidos como as propriedades que apresentam valores que descrevem o objeto, e métodos, que são as especificações objetivas do comportamento dos objetos. O modelo orientado a objetos também carrega outras características de suma importância, incluindo o encapsulamento, as mensagens, a herança e o polimorfismo.Sobre a temática, avalie as asserções a seguir e a relação proposta entre elas.I. Polimorfismo é a capacidade de criar uma nova classe a partir de outra.PORQUE
II. Em contrapartida herança é a capacidade de aplicar diferentes implementações para métodos com igual assinatura em diferentes classes.
A respeito das asserções, assinale a alternativa correta:
Quando é utilizado o comando select em linguagem SQL (Structured Query Language ou, em uma tradução livre, Linguagem de Consulta Estruturada), é possível fazer algumas consultas combinadas. Determinada cláusula permite que sejam combinados dados de duas ou mais tabelas em um elementar comando select. Essa cláusula possibilita a junção de dados que seguiram para entidades ou de tabelas separadas a partir da adoção do modelo relacional.Assinale a alternativa correta que contenha um texto ou palavra que esteja associado ao conceito apresentado no contexto acima:
Quando se usa o comando select em linguagem SQL (Structured Query Language ou, em uma tradução livre, Linguagem de Consulta Estruturada), determinada cláusula permite a criação de um filtro que define o conjunto de registros a serem recuperados. A condição é sempre satisfeita mediante uma operação lógica (portanto, booleana). De fato, há diversas possibilidades de condições que podem ser determinadas nessa cláusula em específico.Assinale a alternativa correta que corresponda a cláusula pertinente ao contexto apresentando acima:
No âmbito de banco de dados, denomina-se “índice” a estrutura de acesso auxiliar que é empregada para agilizar a recuperação de registros como resposta a determinadas condições de consulta. Com efeito, os índices são, indiscutivelmente, uma das ferramentas de otimização mais difundidas e de amplo uso por parte dos desenvolvedores de bancos de dados.Com base nas informações apresentadas, identifique se as afirmativas a seguir são (V) verdadeiras ou (F) falsas.Índices devem abranger campos sujeitos a pesquisas frequentes.
Índices são de especial predileção junto a colunas com valores binários.
Existem outras cláusulas além da UNIQUE para serem atribuídas ao índice.Assinale a alternativa que apresenta a sequência correta:
Lançado no mercado em 1989, esse excepcional banco de dados open source suporta SQL e se mostra multiplataforma, rodando muito bem não apenas no Windows mas em FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, OS X, Solaris e Unix. É considerado bastante robusto, sendo de especial predileção para uso em sistemas que reúnem grande quantidade de registros, tendo sido um dos primeiros open source a implementar UTF-8 (um tipo de codificação binária de comprimento variável que se transformou na codificação de caracteres mais usual da World Wide Web).
Assinale a designação correta do banco de dados em questão:
No mapeamento MER para relacional, é preciso, primeiramente, escolher uma abordagem. O que se vê, na prática, é que a mais comum delas é a da chave _______. De toda forma, é preciso saber que existem alternativas, como a abordagem da relação _______ e a abordagem da referência _______, também denominada, muitas vezes, como relação de relacionamento.Preencha as lacunas escolhendo a alternativa correta:
No campo da TI, é importante que se conheça a definição correta dos termos e das expressões técnicas que são comumente empregados, fazendo com que o profissional possa ser mais assertivo nas comunicações no dia a dia. Um desses conceitos corresponde à identificação de um nome do banco de dados. A especificação ocorre durante o projeto do banco de dados, que pode englobar várias estruturas de tabelas.Assinale a designação correta do conceito em questão:
Ao longo das décadas, as arquiteturas de computadores passaram por diversas inovações tecnológicas que impactaram significativamente sua organização e desempenho. É importante entender como essas inovações moldaram os computadores que utilizamos hoje.Analise as seguintes afirmações sobre a evolução das arquiteturas de computadores e selecione a alternativa correta que relaciona uma inovação tecnológica ao seu impacto.
No processo de tradução de linguagens de alto nível para linguagem de máquina, utiliza-se uma série de passos intermediários que envolvem compiladores, montadores e ligadores. Compreender essas etapas é essencial para entender como o código escrito em linguagens como C ou Java é transformado em instruções executáveis pela CPU.Identifique a sequência correta de tradução de um programa em linguagem C até sua execução pela CPU, considerando as etapas de compilação, montagem e ligação.
Linguagens de montagem (assembly) e linguagens de máquina são essenciais para o funcionamento dos sistemas computacionais. A linguagem de montagem usa mnemônicos e é convertida em linguagem de máquina, composta por instruções binárias executáveis pelo processador. A linguagem de montagem facilita a programação de baixo nível, permitindo acesso a recursos específicos do hardware, enquanto a linguagem de máquina está estreitamente ligada à arquitetura do computador.Neste contexto, assinale a alternativa que descreve uma vantagem da linguagem de montagem sobre a linguagem de alto nível em sistemas embarcados.
Em um programa na linguagem C, estruturas (structs) são usadas para agrupar variáveis de diferentes tipos em um único tipo de dado, enquanto typedef facilita a criação de novos nomes para esses tipos de dados complexos. Essa combinação permite a definição clara e reutilizável de dados, melhorando a organização e manutenção do código.Considere um programa que utiliza uma estrutura para representar uma pessoa com os campos nome (string de 30 caracteres) e idade (inteiro) e assinale qual das opções abaixo aplica a definição correta da estrutura e seu uso com typedef para simplificar a criação de variáveis desse tipo.
Existem dois tipos principais de arquiteturas para sistemas de computação paralela: multiprocessadores e multicomputadores. Nos [preencher 1], as CPUs compartilham um único espaço de endereço virtual mapeado para uma memória comum, permitindo um/uma [preencher 2] mais eficiente entre as CPUs. Em contraste, no/nos [preencher 3], cada CPU possui sua própria memória privada, sendo necessário um meio de comunicação para troca de informações.Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
As memórias dos computadores têm diversas características importantes que influenciam seu funcionamento e desempenho. Dentre essas características, estão a capacidade de armazenamento, o tempo de acesso e o custo. Compreender como essas características interagem pode ajudar na escolha adequada de memória para diferentes aplicações.Assinale a alternativa que identifica a principal relação entre tempo de acesso e custo nas memórias dos computadores.
Durante uma discussão sobre arquiteturas de computadores, o professor pediu aos estudantes que explicassem como o modelo de Von Neumann processa dados e instruções. Ele forneceu um exemplo onde o computador deve executar uma série de operações aritméticas e lógicas. Selecione a alternativa que explica corretamente como o modelo de Von Neumann processa dados e instruções.
A história da internet no Brasil é marcada por importantes iniciativas que contribuíram para a expansão e democratização do acesso à tecnologia. Instituições acadêmicas e não acadêmicas tiveram papéis fundamentais neste processo, interligando redes e criando serviços que permitiram o acesso a informações e a comunicação entre diferentes grupos e comunidades. Conhecer esses marcos históricos é essencial para entender como a internet se desenvolveu no país.Sobre a história inicial da internet no Brasil, avalie as afirmativas a seguir:O primeiro acesso à internet no Brasil ocorreu no Laboratório Nacional de Computação Científica (LNCC), através de uma conexão com a Universidade de Maryland em 1988.II. A Fapesp foi a segunda instituição no Brasil a conectar-se à Bitnet, estabelecendo uma conexão com o Fermilab em Chicago.III. A rede ANSP foi criada pela Fapesp para interligar diversas universidades no estado de São Paulo, como a USP e a Unicamp.IV. A Universidade Federal do Rio de Janeiro (UFRJ) foi o primeiro ponto de acesso à internet no Rio de Janeiro, conectando-se à Bitnet através da UCLA.V. O Ibase foi fundamental na promoção da democratização do acesso à internet no Brasil, especialmente por meio do serviço Alternex.Está correto o que se afirma em:
A Google Cloud Platform (GCP) oferece uma infraestrutura poderosa e distribuída globalmente para hospedar e escalar aplicações web, proporcionando velocidade, localização e capacidade de processamento de dados em larga escala. Essas características são essenciais para garantir o desempenho e a disponibilidade das aplicações em uma escala global.Neste contexto, qual das seguintes alternativas melhor descreve uma característica fundamental da infraestrutura da Google Cloud Platform?
Iniciar com o Docker envolve uma série de passos fundamentais que introduzem os usuários à criação, gerenciamento e implantação de container. A instalação do Docker, o entendimento de imagens e containers, e a execução de um container Docker básico são etapas essenciais para começar a explorar as vantagens da conteinerização em projetos de desenvolvimento.Qual das seguintes opções descreve corretamente um passo inicial ao utilizar o Docker?
Arquiteturas de software podem variar grandemente em complexidade e funcionalidade. Uma arquitetura monolítica, comumente utilizada em sistemas mais antigos, encapsula todas as operações do sistema em um único e indistinto conjunto. Este modelo suporta diversos tipos de clientes, como mobile e desktop, e pode integrar com outras aplicações usando REST ou SOAP. Embora esta abordagem ofereça um desenvolvimento inicial rápido e seja mais simples de aprender e gerenciar inicialmente, ela também tem desvantagens significativas.Considere as características e implicações do uso de uma arquitetura de software monolítica. Qual das seguintes opções é uma desvantagem dessa arquitetura?
A arquitetura de três esquemas em sistemas de gerenciamento de banco de dados (SGBDs) é fundamental para garantir a eficiência e segurança no manejo dos dados. Esta arquitetura divide a estrutura do banco de dados em três níveis distintos: o esquema interno, que lida com a armazenagem física dos dados; o esquema conceitual, que define a estrutura lógica de toda a base de dados; e o esquema externo, que proporciona várias visões personalizadas dos dados para diferentes usuários. Esta estruturação é projetada para isolar os usuários das complexidades físicas da armazenagem de dados, ao mesmo tempo em que oferece uma visão mais intuitiva e adaptada às suas necessidades específicas.Neste sentido, qual é o principal objetivo da implementação da arquitetura de três esquemas em SGBDs?
O uso de bibliotecas e frameworks no desenvolvimento frontend moderno é uma prática comum que ajuda a acelerar o processo de desenvolvimento, promover a reutilização de código e garantir a manutenção e escalabilidade das aplicações web. Essas ferramentas fornecem abstrações de código e componentes reutilizáveis, facilitando a implementação de funcionalidades complexas e o design responsivo.Neste contexto, qual das seguintes opções representa uma combinação popular de biblioteca/framework utilizado no desenvolvimento frontend de aplicações web?
No padrão de arquitetura de software MVC, a interação entre modelo, visão e controlador é crucial para o funcionamento eficaz de uma aplicação web. Cada componente tem funções bem definidas que, quando executadas em harmonia, resultam em uma experiência de usuário fluida e responsiva. Compreender como esses componentes interagem pode ajudar desenvolvedores a projetar e implementar melhores aplicações web.Neste contexto, sobre a interação entre os componentes do padrão MVC, observe as afirmativas a seguir:I. O controlador recebe e interpreta comandos do usuário, enviando comandos ao modelo para atualizar seu estado conforme necessário.II. O modelo, ao ser atualizado, notifica automaticamente a visão associada para que esta possa alterar a apresentação dos dados ao usuário.III. A visão solicita dados diretamente do controlador, ignorando o modelo para garantir que a exibição dos dados seja feita de maneira mais rápida e eficiente.IV. Após o modelo ser atualizado, ele envia uma notificação para as visões e controladores associados, que então podem reagir a essas mudanças de maneira adequada.V. A visão gera uma representação visual dos dados presentes no modelo, utilizando formatos como HTML ou XML para exibição ao usuário.Está correto o que se afirma em:
O protocolo HTTP é essencial para a comunicação na Web, pois define como as mensagens são formatadas e transmitidas, e como os servidores e navegadores devem responder a diversas requisições. Quando você digita um endereço no navegador, uma requisição HTTP é enviada ao servidor, que responde com o conteúdo solicitado, como páginas HTML, imagens ou vídeos.Qual das opções a seguir descreve corretamente o funcionamento de uma requisição HTTP do tipo GET?
Considere a implementação de um sistema de gerenciamento de biblioteca que utiliza um método genérico findBook para pesquisar livros por diferentes critérios, como título, autor ou ano de publicação.O método utiliza o parâmetro de tipo T tanto no tipo de retorno quanto nos parâmetros do método, e é restrito a objetos que implementam a interface Comparable<T> .Abaixo está uma simplificação do método:Descrição de imagem: O código consiste na declaração de um método genérico findBook, que recebe um array books e um objeto criteria como parâmetros. Ele utiliza um laço for para percorrer o array books, e uma condição if para comparar cada elemento com o criteria. Se um elemento correspondente é encontrado, o método o retorna; caso contrário, retorna null.Suponha que a classe Book implementa Comparable<Book> e que a comparação é feita com base no título do livro. Dada a chamada ao método findBook com um array de objetos Book e um critério de busca, análise qual seria o resultado esperado?
Em um projeto de desenvolvimento de aplicações de rede em Java, um programador se depara com o desafio de balancear a necessidade de confiabilidade com a demanda por transmissões de dados rápidas e em tempo real. Enquanto algumas partes da aplicação requerem uma troca de informações sem falhas, onde cada pacote é crucial, outras priorizam a velocidade e o fluxo contínuo de dados, onde o desempenho em tempo real é mais crítico que a integridade absoluta dos pacotes de dados. Diante desse cenário, o desenvolvedor opta por utilizar sockets TCP para a confiabilidade e UDP para a rapidez.Considere os seguintes fragmentos de código exemplificando a implementação de cada protocolo:TCP:ServerSocket serverSocket = new ServerSocket(portNumber);Socket clientSocket = serverSocket.accept();InputStream in = clientSocket.getInputStream();OutputStream out = clientSocket.getOutputStream();// Código para ler e escrever dados do in e out...UDP:DatagramSocket udpSocket = new DatagramSocket();byte[] sendBuffer = new byte[1024];DatagramPacket sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, address, port);udpSocket.send(sendPacket);// Código para receber pacotes...Baseando-se na análise dos fragmentos de código para os respectivos protocolos, assinale a alternativa que melhor descreve a implementação correta e as características dos sockets TCP e UDP em Java: