O protocolo TCP é integrante da camada de transporte do modelo TCP/IP. Há algumas notórias funções dessa camada, dentre elas, a de _______ os dados em unidades menores caso seja necessário, a passar os dados para a camada de rede e _______ que todas as unidades cheguem corretamente no destino. Não sem motivos, na prática, o TCP/IP acabou se tornando um modelo _______ globalmente.Preencha as lacunas escolhendo a alternativa correta.
É fato que os computadores fazem a troca de informações segundo uma arquitetura em camadas. Ocorre que cada uma dessas camadas acaba apresentando regras e protocolos bem-estabelecidos — por isso, são estabelecidos modelos de arquitetura em camadas. Um desses modelos é conhecido por ser um mero referencial, que não chegou a ser implementado na prática.Assinale a alternativa que descreve corretamente o modelo em questão.
É preciso compreender como um programa que é executado em um sistema final orienta a internet a encaminhar dados para outro programa cuja execução se dê em um sistema final alheio. Os sistemas finais conectados à internet disponibilizam uma interface de programação de aplicação, usualmente referida pela sigla _______, e é essa interface que se ocupa de especificar o modo como o programa que é executado no sistema final precisa _______ à infraestrutura da internet que faça o envio de dados a um programa de destino específico, _______ em um outro sistema final.Preencha as lacunas escolhendo a alternativa correta.
É fato que o sistema de camadas de protocolos apresenta tanto conveniências quanto inconveniências estruturais. No geral, prevalece o entendimento de que a divisão em camadas acaba por proporcionar uma maneira mais estruturada de que componentes de sistemas possam ser discutidos.Avalie as asserções a seguir e a relação proposta entre elas.I. Recorrer a um arranjo baseado em modularidade dificulta a atualização dos componentes de sistema.PORQUEII. Uma vantagem potencial é que uma camada pode duplicar a funcionalidade de uma camada inferior.Avaliando as asserções anteriores, conclui-se que:
O funcionamento dos processos de software incremental é uma abordagem que visa entregar funcionalidades do sistema em incrementos. Essa metodologia é especialmente útil em projetos onde os requisitos podem mudar ou evoluir ao longo do tempo, facilitando o processo de entrega.Com relação a este contexto e a gerência de projetos de software, analise as asserções a seguir e a relação proposta entre elas:I. O processo incremental de desenvolvimento de software permite uma adaptação flexível aos requisitos em evolução ao longo do tempo.PORQUEII. Ele divide o desenvolvimento em ciclos iterativos, em que cada incremento entrega partes funcionais do sistema de forma incremental.A respeito dessas asserções assinale a alternativa correta.
O modelo de processo em cascata é uma abordagem linear e sequencial ao desenvolvimento de software, caracterizada por fases bem definidas. Cada fase deve ser concluída antes do início da próxima, o que promove uma estrutura organizada e controle rigoroso. Este modelo é particularmente eficaz em projetos onde os requisitos são bem compreendidos e estáveis desde o início, minimizando a necessidade de revisões e alterações durante o desenvolvimento.Com relação a este tema e sobre as fases do modelo em cascata, observe as afirmativas a seguir:I . A fase de implementação precede a fase de design, permitindo ajustes rápidos no código durante a criação dos requisitos.II.A fase de verificação segue a fase de implementação e envolve a validação do software desenvolvido em relação aos requisitos definidos inicialmente.III. A fase de coleta de requisitos é a primeira fase do modelo, onde são identificadas e documentadas as necessidades e expectativas do cliente para o software.Está correto o que se afirma em:
Imagine uma equipe de desenvolvimento de software trabalhando em um novo aplicativo móvel. O processo de software começa com a definição clara dos requisitos do cliente e dos usuários finais. Isso envolve a coleta de informações sobre as funcionalidades desejadas, a experiência do usuário esperada e as restrições técnicas e de negócios.Em relação ao processo de desenvolvimento de software, analise as sentenças a seguir e assinale a alternativa correta.
A gerência de projeto de software envolve a aplicação de técnicas e metodologias para coordenar e supervisionar todas as atividades relacionadas ao desenvolvimento de software. Este processo abrange desde o planejamento inicial, alocação de recursos, monitoramento do progresso até o controle de qualidade e entrega final do produto.Com relação a este tema e ao envolvimento da gerência de projetos no processo de desenvolvimento de software, assinale a alternativa correta.
A ciência de dados é uma área interdisciplinar que integra diversos campos do conhecimento para tratar a grande quantidade de dados gerados pela sociedade moderna. Esse campo se relaciona com várias disciplinas e incorpora conceitos tecnológicos ao longo do tempo.Com base no texto apresentado, avalie as seguintes afirmações sobre a ciência de dados e assinale as que são corretas.I. A ciência de dados pode usar OLAP (Online Analytical Processing) para análise de dados.II. A visualização de dados é um componente crucial da ciência de dados.III. É fundamentar o uso de estatística na ciência de dados utiliza para serem realizadas análises quantitativas.IV. A ciência de dados é exclusivamente relacionada à ciência da computação.V. A ciência de dados não tem relação com a evolução tecnológica.É correto o que se afirma em:
Leia o trecho a seguir, retirado do livro Conceitos de linguagens de programação.“Um pré-processador é um programa que processa outro programa imediatamente antes de ele ser compilado. As instruções de pré-processador são embutidas em programas. O pré-processador é essencialmente um programa que expande macros. As instruções de pré-processador são comumente usadas para especificar que o código de outro arquivo deve ser incluído.” (SEBESTA, 2018, p. 28)Fonte: SEBESTA, R. Conceitos de linguagens de programação. Porto Alegre: Grupo A, 2018. E-book. (Disponível na Minha Biblioteca). p. 28.Considerando o apresentado, avalie as asserções a seguir e a relação proposta entre elas.I. O pré-processador C não faz parte do compilador, mas é uma etapa separada no processo de compilação.POISII. Um pré-processador C realiza a troca de texto, instruindo o compilador a realizar o pré-processamento necessário antes da real compilação.A respeito dessas asserções, assinale a alternativa correta.
Bibliotecas como jQuery, React, Angular e Bootstrap são amplamente utilizadas no desenvolvimento web. Com relação às linguagem de programação e ao uso de bibliotecas, observe as afirmativas a seguir:I. Linguagens de programação fornecem a sintaxe e a estrutura para escrever códigos, enquanto bibliotecas oferecem funções reutilizáveis que facilitam o desenvolvimento. II. Bibliotecas de programação são essenciais apenas para grandes projetos, pois para pequenos projetos, as linguagens de programação são suficientes por si só. III. A utilização de bibliotecas pode acelerar o desenvolvimento, pois elas contêm códigos pré-construídos que realizam tarefas comuns, evitando a necessidade de reescrever funções frequentemente usadas.Está correto o que se afirma em:
O código em PHP é interpretado no lado do servidor após a requisição de um documento HTML ao qual ele está embutido ou relacionado. Geralmente o PHP, após interpretado, produz um HTML, portanto um navegador não observa um código PHP. Outras linguagens passaram a ser amplamente utilizadas na programação web e na ciência de dados, como Python.Considerando o apresentado, avalie se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.I. ( ) Sintaticamente o PHP é semelhante a JavaScript em sua aparência, em sua natureza de cadeias e tipagem dinâmica de variáveis, além de combinações de elementos JavaScript e Perl.II. ( ) Python fornece suporte a muitos sistemas de gerenciamento de bancos de dados, sendo linguagem útil para construir programas que precisam de acesso web e a bases consistentes.III. ( ) Python é orientada a eventos, procedural, englobando capacidades de padrões Perl com a tratativa de exceções, usando coleta de lixo e removendo elementos desnecessários da memória.IV. ( ) Python também oferece suporte a programação funcional, incluindo recursos como funções lambda, map, filter e reduce.Assinale a alternativa que apresenta a sequência correta.
Considerando a genealogia das linguagens de programação de alto nível da figura abaixo (Sebesta, 2018), percebe-se que diversas delas são influenciadas por suas predecessoras, bem como buscam resolver problemáticas existentes nas linguagens anteriores.Fonte: SEBESTA (2018)Referência completa: SEBESTA, R. W. Conceitos de linguagens de programação. Porto Alegre: Bookman, 2018.A partir do que foi apresentado, analise as afirmativas a seguir:I. A linguagem COBOL originou novos conceitos, sendo alguns deles utilizados em outras linguagens posteriores. Por exemplo, foi a primeira linguagem a consentir nomes realmente conotativos, pois permitia nomes longos (até 30 caracteres) e caracteres conectores de palavras (hifens).II. A linguagem BASIC, assim como o COBOL, foi amplamente utilizada nos meios acadêmicos, mas não se tornou popular no uso para microcomputadores, pela dificuldade de aprendizado para iniciantes.III. A linguagem C++ evoluiu a partir da C, com uma série de modificações para melhorar seus recursos imperativos e adicionar construções para dar suporte à programação orientada a objetos.IV. A linguagem JAVA evoluiu a partir da C++, em que foram removidas algumas construções, outras modificadas e adicionadas. O sucesso dessa linguagem foi sem precedentes, pois os programadores gostaram do projeto e passaram a utilizá-lo em larga escala.Está correto o que se afirma em:
O Google Collaboratory corresponde a um serviço de armazenamento em nuvem, com o objetivo de criar e executar códigos em Python diretamente em um navegador (browser) de Internet. Um dos principais benefícios desse serviço é permitir o desenvolvimento de aplicações sem a necessidade da instalação de softwares na máquina, bastando ter uma conta de usuário Google para acessar o ambiente on-line.Assinale a alternativa que apresenta outras vantagens de uso do Google Colab:
Google Colab (ou Google Colaboratory) é um produto semelhante ao Jupyter Notebook da Google Research. Um desenvolvedor de programa Python pode usar esse notebook para escrever e executar códigos aleatórios de programa Python usando apenas um navegador da web.Considerando o apresentado, avalie as asserções a seguir e a relação proposta entre elas.I. Para conseguir rodar códigos no Google Collaboratory, é necessário digitar seu código na caixa cinza mais escura e pressionar a seta de execução (ícone de "play") para executar o código.POISII. No Python3, o retorno função **input('mensagem')**é uma string, a qual deve ser convertida para float() para uso em cálculos, o que não permite recarregamento ou salvamento automático de página.A respeito dessas asserções, assinale a alternativa correta.
JSBin permite aos desenvolvedores criar, editar e testar código em tempo real dentro de uma interface amigável e intuitiva.Essa capacidade é particularmente útil para testar pequenos trechos de código, protótipos ou demonstrar conceitos de programação de forma rápida e eficiente.Com relação a este tema e o uso do JSBIN, observe as afirmativas a seguir:
JSBin permite testar e depurar códigos HTML, CSS e JavaScript diretamente no navegador. 2. O JSBin fornece, a cada projeto público, um link que pode ser utilizado para compartilhar o próprio código. 3. JSBin é uma ferramenta que requer instalação local no computador para funcionar corretamente.
Na lógica de programação, operadores lógicos são fundamentais para a construção de expressões condicionais. Um desses operadores é o operador lógico de negação, conhecido como NOT.Com relação a este contexto, assinale a alternativa correta.
Python é uma linguagem de programação de alto nível, conhecida por sua sintaxe clara e legibilidade, o que a torna acessível tanto para iniciantes quanto para desenvolvedores experientes. Sua popularidade se deve também à forte comunidade de usuários e à vasta documentação disponível, que contribuem para um aprendizado contínuo e colaborativo.Em relação ao Python, assinale a alternativa correta:
A concepção das linguagens de programação foi inicialmente orientada mais para as necessidades do computador do que para as dos usuários. No entanto, nos anos 1970, surgiu o conceito de ciclo de vida do software, diminuindo a importância da codificação e destacando a manutenção como uma fase crucial, especialmente em relação aos custos envolvidos.Com relação a este contexto e sobre o conteúdo estudado, analise as asserções a seguir e a relação proposta entre elas:I. A legibilidade no uso de linguagens de programação é crucial para facilitar a compreensão e manutenção do código ao longo do tempo.PORQUEII. Quando um código é legível, fica mais fácil para outros programadores entenderem sua lógica e fazerem alterações ou correções quando necessário.A respeito dessas asserções assinale a alternativa correta.
O pensamento computacional pode ser aplicado em diversas áreas do conhecimento e da prática profissional. Na educação, ele é utilizado para ensinar lógica e resolução de problemas, preparando os alunos para enfrentar desafios complexos de forma estruturada. Na ciência de dados, auxilia na criação de algoritmos que analisam grandes volumes de informações, identificando padrões e insights valiosos. Além disso, em áreas como a engenharia e a medicina, o pensamento computacional é essencial para o desenvolvimento de simulações, modelagens e soluções tecnológicas inovadoras.Sobre as diretrizes básicas do pensamento computacional, é correto apontar que:
O pensamento computacional é uma habilidade essencial para a resolução de problemas complexos, especialmente na área de ciência da computação. Ele envolve a capacidade de compreender e formular problemas de maneira que possam ser resolvidos por meio de processos computacionais. O pensamento computacional não se restringe apenas à programação de computadores, mas abrange uma série de habilidades mentais que são aplicáveis a diversos campos.Dito isto, em relação aos pilares que sustentam o pensamento computacional, observe as sentenças a seguir:I - O pensamento computacional é baseado em Algoritmo e Decomposição.II - O pensamento computacional é baseado em Abstração e Identificação de Padrões.III - O pensamento computacional é baseado em Composição e Programação.Está correto o que se afirma em:
Operadores lógicos são usados para construir proposições complexas a partir de proposições simples. Eles incluem AND, OR, NOT, e IF-THEN, permitindo avaliar a verdade ou falsidade de uma afirmação composta com base nas partes individuais. Estes operadores são essenciais em diversas áreas, como matemática, ciência da computação e filosofia, para realizar análises e desenvolver algoritmos lógicos.Com base no texto, sobre o operador lógico AND na lógica, assinale a alternativa correta.
A evolução da computação representa uma das áreas mais dinâmicas e transformadoras da ciência e tecnologia. Desde os primórdios com o ábaco e as máquinas mecânicas de cálculo, passando pelo desenvolvimento dos primeiros computadores eletrônicos na década de 1940, até os avanços modernos em inteligência artificial e computação quântica, a computação tem revolucionado a forma como interagimos com o mundo.Com base no apresentado, onde observamos um pouco sobre a evolução da computação, analise as alternativas a seguir e assinale a correta.
A implementação de uma pilha utilizando uma lista encadeada que requer a criação de uma estrutura de nó onde é informado os próximos elementos da pilha e funções para realizar operações de inserção (push) um novo elemento na pilha e remoção (pop) de um elemento da pilha já existente.Complete o código em C++ para implementar as operações básicas (push e pop) de uma pilha utilizando uma lista encadeada. Preencha os espaços em branco indicados por /* ... */ para que o código funcione corretamente.#include <iostream>// Estrutura do nóstruct Node {int data;Node* next;};// Classe Pilha com Lista Encadeadaclass Stack {private:Node* top;public:Stack() {top = nullptr;}void push(int value) {Node* newNode = new Node();newNode->data = value;newNode->next = /* ... */;top = newNode;}void pop() {if (top == nullptr) {std::cout << "Stack Underflow" << std::endl;return;}Node* temp = top;top = /* ... */;delete temp;}}O preenchimento correto se afirma em:
Na implementação de uma fila utilizando lista encadeada, os métodos de inserção e remoção são fundamentais para o funcionamento correto da estrutura. Essa organização garante a propriedade FIFO (First In, First Out), essencial para diversas aplicações como gerenciamento de tarefas em sistemas operacionais e processamento de dados em buffers. Complete as lacunas na seguinte descrição sobre os métodos de inserção e remoção em uma fila utilizando lista encadeada.O método [preencher 1] adiciona um novo nó ao [preencher 2] da fila, atualizando o ponteiro [preencher 3] para apontar para este novo nó.Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
Uma pilha é uma estrutura de dados onde a inserção e a remoção de elementos ocorrem sempre no topo. Ao criar um algoritmo que implementa esta estrutura de dados em uma listas encadeadas, algumas operações básicas são utilizadas para manipular seus elementos na estrutura a ser desenvolvida.Complete as lacunas abaixo com as palavras corretas que representam as operações básicas de uma pilha.A operação de inserção de um novo elemento no topo da pilha é chamada de [preencher 1], enquanto a operação de remoção do elemento no topo é chamada de [preencher 2]. A operação que permite visualizar o elemento no topo da pilha sem removê-lo é chamada de [preencher 3] .Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
Imagine que você está organizando uma pilha de pratos em uma cozinha. Sempre que um novo prato é lavado, ele é colocado no topo da pilha. Da mesma forma, quando alguém precisa de um prato, ele é retirado do topo da pilha. Isso garante que o prato mais recentemente lavado seja o primeiro a ser utilizado, enquanto os pratos lavados anteriormente permanecem embaixo. Essa organização é eficiente e permite fácil acesso ao prato mais limpo.Qual das seguintes afirmações interpreta corretamente a operação de inserção (push) em uma pilha implementada com listas encadeadas, considerando as particularidades de gerenciamento de memória e desempenho?
As listas encadeadas são estruturas de dados fundamentais que oferecem uma maneira flexível de armazenar e organizar dados na memória. Diferente das listas sequenciais, as listas encadeadas permitem a inserção e remoção de elementos de forma mais eficiente em termos de alocação de memória.Considerando a definição e as características de uma lista encadeada, qual das opções abaixo identifica corretamente uma vantagem de usar listas encadeadas em vez de listas sequenciais?
Listas circularmente encadeadas são uma variação das listas encadeadas em que o último nó aponta para o primeiro nó, formando um ciclo. Essa estrutura possui algumas vantagens sobre as demais listas quando estamos falando de acesso rápido ao final da lista e para percorrer a uma lista de modo inverso (de trás para frente) se for necessário.Com relação a este contexto e sobre o conteúdo estudado, avalie as asserções a seguir e a relação proposta entre elas:I. Listas circularmente encadeadas são úteis para implementar estruturas que requerem iteração contínua sobre os elementos.PORQUEII. Em uma lista circularmente encadeada, o último nó aponta para o primeiro nó, permitindo um acesso contínuo aos elementos sem a necessidade de redefinir o ponto inicial após atingir o final da lista.A respeito dessas asserções assinale a alternativa correta:
Uma lista encadeada é uma estrutura de dados composta por nós, onde cada nó contém informações sobre a sequência de nós a ser percorrida. Ao contrário de arrays, listas encadeadas não armazenam elementos em posições contíguas na memória, mas sim as posições de apontamentos para os demais nós.Com base no contexto apresentado e nos materiais de estudos, identifique a alternativa correta que define a principal característica das listas encadeadas.