Em um laboratório de ciência da computação, os estudantes estão aprendendo sobre manipulação de arquivos em Python. Eles estão particularmente focados em entender as etapas envolvidas no processamento de arquivos, incluindo a abertura, leitura/gravação e fechamento de arquivos, bem como as diferenças entre arquivos de texto e binários. O professor decidiu testar o conhecimento dos alunos associando ações específicas de manipulação de arquivos (Coluna A) com os métodos ou conceitos correspondentes em Python (Coluna B). Com base nisso, associe corretamente as ações da Coluna A com as opções da Coluna B para demonstrar seu entendimento sobre como trabalhar com arquivos em Python.Coluna A:A. Abrir um arquivo para leitura como um arquivo de texto.
B. Ler o restante do arquivo a partir da posição atual do cursor.
C. Fechar o arquivo e liberar os recursos do sistema de arquivos que mantêm informações sobre o arquivo aberto.
D. Ler uma linha completa do arquivo, incluindo o caractere de nova linha, quando encontrado.Coluna B:arqEntrada.readline()
arqEntrada.close()
open('example.txt', 'r')
arqEntrada.read()Assinale a alternativa que contém a associação correta:
A arquitetura atual dos computadores exige que os componentes sejam interconectados de forma eficiente e prática, pois, cada vez mais, aumenta-se a complexidade dos sistemas computacionais.Com base no uso dos barramentos para a interconexão da CPU e da memória principal de um computador, analise as asserções a seguir e as relações propostas entre elas.I. O barramento de dados é composto por diversas linhas de conexão, e cada uma delas transporta 1 bit por vez. Dessa forma, quando se quer transmitir uma palavra de 16 bits, por exemplo, são necessárias 16 linhas de conexão.PORQUEII. No barramento de controle, para a comunicação entre a CPU e a memória, a determinação do número de linhas de conexão dependerá da quantidade total de comandos de controle que serão enviados.Analisando as asserções anteriores, conclui-se que:
Cada instrução da linguagem de máquina tem um comando equivalente na linguagem assembly. Por exemplo, na linguagem assembly, o comando "MOVA,B" instrui o computador a copiar dados de um lugar para outro. A mesma instrução em linguagem de máquina poderá ser uma cadeia de 8 bits binários ou mais, dependendo do tipo de CPU (por exemplo, 0011 1101). A linguagem assembly é mais rápida e poderosa devido a sua correspondência com a linguagem de máquina; é uma linguagem muito difícil de utilizar. Às vezes, instruções em linguagem assembly são inseridas no meio de instruções de "alto nível" para executar tarefas específicas de hardware ou para acelerar a execução de algumas tarefas.
COCIAN, L. F. E. Manual da linguagem C. Canoas:Ed. ULBRA, 2004.A respeito do texto, avalie as afirmações a seguir sobre o programa em questão.I. É mais simples a programação em linguagem de montagem (com nomes simbólicos e ferramentas auxiliares) do que em linguagem de máquina pura (hexadecimal/binária).II. Macros são utilizadas na linguagem de montagem, assim como os métodos ou subrotinas são utilizadas em linguagens de mais alto nível.III. Compiladores montam um programa em linguagem de máquina a partir de sua versão em linguagem de montagem, ou linguagem “assembly”.É correto o que se afirma em:
Em um programa escrito na linguagem C, os ponteiros são utilizados para armazenar endereços de memória de outras variáveis. Eles permitem a manipulação direta dos dados em locais específicos da memória, aumentando a eficiência das operações. A manipulação de ponteiros é fundamental para operações avançadas em C, como a alocação dinâmica de memória e a otimização de funções.Com base nisso, assinale qual das opções abaixo identifica corretamente a função de um ponteiro na linguagem C.
Uma das principais características da abordagem pipeline é a divisão das instruções em estágios, para que possam ser executados de forma paralela com os estágios de outras instruções pela CPU e, assim, otimizar o tempo de processamento das tarefas.Levando em consideração a abordagem pipeline de instruções, analise as afirmativas a seguir e identifique se são verdadeiras (V) ou falsas (F).I. Se os estágios não se apresentam com a mesma duração, ocorre uma determinada espera encontrada em diversos estágios.
II. Mesmo que os estágios não tenham duração igual, os processos serão executados sem qualquer espera.
III. Uma instrução que contenha um desvio de condição pode inviabilizar várias pesquisas de instrução.
IV. Uma instrução de desvio condicional funciona como a ocorrência de uma interrupção.Assinale a alternativa que apresenta a sequência correta.
O texto a seguir apresenta uma descrição dos sistemas de computação mais antigos, desde o final da década de 1940 até meados dos anos 1950.Os sistemas antigos eram controlados a partir de um console e apresentavam dois problemas principais que afetam a eficiência do processamento - [preencher 1]: na maioria das instalações, utilizava-se uma folha de registro para agendar o uso do processador. Tipicamente, um usuário poderia reservar o processador em intervalos de meia hora ou mais. Se o usuário terminasse seu trabalho em 45 minutos de uma hora reservada, o tempo ocioso restante era desperdiçado. Alternativamente, se o usuário precisasse de mais tempo e não o tivesse reservado, era obrigado a interromper seu trabalho sem concluí-lo. [preencher 2]: um único programa, chamado de job, incluía etapas como carregar o compilador e o programa de alto nível (código fonte) na memória, salvar o código compilado (programa objeto) e, posteriormente, carregar e ligar o programa objeto com funções comuns. Cada uma dessas etapas poderia requerer montagem e desmontagem de fitas ou preparação de pacotes de cartões. Se ocorresse um erro, o usuário geralmente precisava reiniciar todo o processo de preparação.Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
Grande parte dos computadores pessoais têm uma estrutura parecida: são organizados em um gabinete de metal, com uma placa-mãe que contém o chip do processador e que possui barramentos para conexão dos dispositivos de entrada e saída.Considerando os dispositivos de entrada e saída, analise as afirmativas a seguir e identifique se são verdadeiras (V) ou falsas (F).I. O mouse e o teclado são dispositivos de entrada de dados.
II. A memória principal é um dispositivo de entrada e saída de dados.
III. O monitor de vídeo é um dispositivo de saída de dados.
IV. O disco rígido é um dispositivo de entrada e saída de dados.Assinale a alternativa que apresenta a sequência correta.
A arquitetura de Von Neumann revolucionou a computação ao introduzir o conceito de armazenar programas na memória, uma característica que distingue os computadores modernos dos seus predecessores. Essa inovação, proposta por John von Neumann em 1945, estabeleceu a base para o design dos computadores atuais e trouxe várias vantagens significativas para a computação.
Considere as seguintes afirmações sobre a arquitetura de Von Neumann e seu impacto na computação:I. O conceito de armazenar programas na memória centralizou a execução de instruções, tornando os computadores mais eficientes.II. As unidades de controle centralizadas são uma característica essencial da arquitetura de Von Neumann.III. As máquinas mecânicas de cálculo precederam a arquitetura de Von Neumann e não utilizavam armazenamento de programas.Está correto o que se afirma em:
Em um ambiente corporativo, o Business Intelligence (BI) e a ciência de dados têm diferentes objetivos e funções. O BI é focado em fornecer relatórios descritivos e análises históricas, enquanto a ciência de dados utiliza técnicas avançadas para realizar previsões e fornecer recomendações futuras.Sobre as características e funções do BI e da ciência de dados, avalie as afirmativas a seguir:O Business Intelligence se concentra na análise descritiva de dados históricos para fornecer insights sobre o desempenho passado da empresa.
A ciência de dados utiliza algoritmos de aprendizado de máquina para criar modelos preditivos que antecipam futuros cenários e orientam decisões estratégicas.
Tanto o BI quanto a ciência de dados são utilizados para transformar dados brutos em informações úteis, mas com focos diferentes: um no passado e outro no futuro.
O BI vai além da estatística descritiva e inferencial, utilizando métodos preditivos mais complexos.Está correto o que se afirma em:
Leia o texto a seguir.“O navegador exibia essas informações na tela de um computador, e o usuário digitava mensagens em seu teclado, além de seguir links clicando no mouse. Essas eram as opções disponíveis em relação a entradas e saídas.”
Fonte: MONK, S. Internet das coisas: uma introdução com o Photon. Porto Alegre: Grupo A, 2018. E-book. (Série Tekne). p. 1.Considerando esse tema, analise as asserções a seguir e as relações propostas entre elas.I. Com a chegada e a grande aplicação da tecnologia de IoT (Internet of Things, ou, em português, Internet das Coisas), alterou-se a forma por meio da qual acessamos a internet.PORQUEII. Com essa tecnologia, vivenciamos outros tipos de equipamentos que trocam informações a todo instante e geram muitos dados a serem analisados e processados.Analisando as asserções anteriores, conclui-se que:
As integrações geram uma grande oportunidade de criação de muitas novas fontes de receitas às organizações, auxiliando no relacionamento entre cliente e empresa. Para tal o pessoal envolvido diretamente no projeto deve pensar no melhor aproveitamento de códigos-fonte, evitando retrabalho e diminuindo o tempo de programação.Considerando esse tema, analise as asserções a seguir e as relações propostas entre elas.I - As empresas têm, a cada dia, necessidade de mais poder de processamento e tratamento de informações.PORQUEII - O volume de informações produzidas e que necessitam ser processadas vem aumentando diariamente.Analisando as asserções anteriores, conclui-se que:
Leia o trecho a seguir.“Alguns dos recursos de uma linguagem podem ser simulados em outra. Entretanto, é preferível usar um recurso cujo projeto tenha sido integrado em uma linguagem do que usar uma simulação – normalmente menos elegante, de manipulação mais difícil e menos segura” (SEBESTA, 2018, p. 3).
SEBESTA, R. W. Conceitos de linguagens de programação. Porto Alegre: Grupo A, 2018. Sobre o tema, analise as asserções a seguir e a relação proposta entre elas.I. O aumento da habilidade em uma linguagem poderá garantir uma maior facilidade de aprendizado de outra linguagem.PORQUEII. Com isso, é possível encontrar conceitos-chaves comuns entre as linguagens, facilitando a compreensão e um aprendizado mais “global”.A respeito das asserções anteriores, assinale a alternativa correta a seguir.
As linguagens de programação são ferramentas essenciais no desenvolvimento de software, e cada uma é projetada com características específicas que determinam sua utilização e funcionalidade. Existem várias categorias de linguagens de programação, como linguagens de baixo e alto nível, linguagens compiladas e interpretadas, e linguagens orientadas a objetos, funcionais e procedurais. A escolha da linguagem adequada depende do tipo de aplicação a ser desenvolvida, desempenho necessário e facilidade de manutenção do código, influenciando diretamente na produtividade e na eficiência dos desenvolvedores.Com relação a este contexto, analise as asserções a seguir e a relação proposta entre elas:I. As linguagens de programação de alto nível são projetadas para serem mais compreensíveis.PORQUEII. As linguagens de alto nível utilizam uma sintaxe mais próxima da linguagem humana, facilitando a escrita e a leitura do códigoA respeito dessas asserções, assinale a alternativa correta.
Em uma empresa de tecnologia, a equipe de desenvolvimento está trabalhando em um sistema de gerenciamento de dados que exige alta eficiência na busca, inserção e remoção de informações. Para atender a essas demandas, eles decidem implementar uma estrutura de dados de árvore AVL, conhecida por sua capacidade de manter os dados balanceados e garantir operações eficientes. Com base no cenário e no conhecimento sobre árvores AVL (Adelson-Velsky e Landis), avalie as seguintes afirmativas:I. Em uma árvore AVL, a diferença de altura entre as subárvores de qualquer nó não é maior do que um, assegurando um balanceamento eficiente.II. As árvores AVL requerem reequilíbrio por meio de rotações após cada inserção ou remoção, o que é essencial para a eficiência do sistema de gerenciamento de dados.III. Na implementação da árvore AVL neste sistema, a inserção de um novo nó sempre resultará em uma árvore desbalanceada, demandando ajustes complexos.IV. Para a equipe, uma árvore AVL, sendo uma forma especial de árvore binária de busca, elimina a necessidade de manter a ordenação dos nós, simplificando o processo.Assinale a opção correta:
A implementação de algoritmos de busca em grafos requer uma compreensão detalhada das estruturas de dados e dos passos envolvidos no processo. Na busca em largura (BFS), utilizamos uma fila para garantir que todos os vértices a uma determinada distância sejam visitados antes de se aprofundar mais no grafo. A correta marcação dos vértices é essencial para evitar a visitação redundante e loops infinitos.Durante a execução de uma busca em largura (BFS), é correto apontar que o principal propósito de utilizar uma fila é de:
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:
A pilha é uma das estruturas de dados mais simples que existe, ela permite o acesso aos seus elementos somente a partir do topo, ou seja, quando o elemento entra na pilha, ele passa a ser o canal para manipulação dos dados por ser o único acesso. Isso significa que a retirada de elementos acontece inversamente à forma de como foram colocados, ou seja, o primeiro a sair é o último elemento que entrou na pilha.Com relação às verificações necessárias para inserções e remoções na pilha, observe as afirmativas a seguir:A função isEmpty verifica se a pilha está vazia e retorna verdadeiro se positivo. Caso contrário, é preciso encontrar o último elemento com um ponteiro e verificar se aponta para NULL, indicando ser o último elemento.
A função lógica isFull verifica se a pilha está cheia, ou seja, confere se o tamanho do vetor menos 1 é igual ao topo. Em caso positivo, ela retorna verdadeiro e impede que um novo elemento seja inserido na pilha.
O método push adiciona elementos sempre no topo da pilha e requer a função lógica isFull que, ao retornar verdadeiro indica que não existe mais espaço para armazenar elementos na pilha.Está correto o que se afirma em:
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.