Você é um profissional de exatas que está trabalhando em um departamento de estudos e investigações em uma empresa da área de logística. Seu gerente encaminhou para seu departamento várias funções que modelam comportamentos de demanda por entregas na cadeia produtiva de um cliente do seu departamento. As funções são:Identificar se cada função é par ou ímpar é importante para você compreender o comportamento de cada uma delas, o que permite que você tenha um entendimento mais profundo de cada situação modelada matematicamente.Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.( ) A função é um exemplo de função par.
( ) A função é um exemplo de função de par.
( ) A função é um exemplo de função ímpar. Assinale a alternativa que apresenta a sequência correta.
Um programador está utilizando o Python para criar um sistema de análise de texto.Em uma parte do sistema, ele precisa verificar se uma palavra específica está contida em uma frase, concatenar essa frase com outra e calcular o comprimento total do texto resultante.Para isso, ele escreve o seguinte trecho de código:frase1 = "Aprendendo Python é divertido"
frase2 = " e útil."
palavra = "Python"Verificar se a palavra está na frase1 contem_palavra = palavra in frase1Concatenar frase1 com frase2frase_concatenada = frase1 + frase2Calcular o comprimento da frase concatenadacomprimento_total = len(frase_concatenada)Considerando o trecho de código acima, qual das seguintes alternativas indica corretamente se a palavra "Python" está na frase1, o resultado da frase_concatenada e o comprimento_total da string resultante?
Um grupo de estudantes de ciência da computação está trabalhando em um projeto que envolve a análise de dados climáticos.Eles optaram por utilizar uma lista bidimensional em Python para armazenar a temperatura média (em graus Celsius) de cada dia em diferentes cidades.A lista é organizada de forma que cada linha representa uma cidade e cada coluna um dia da semana. Por exemplo, temperaturas[2][5] representa a temperatura média na terceira cidade no sexto dia da semana.Suponha que a lista de temperaturas seja inicializada da seguinte forma:temperaturas = [ [22, 20, 19, 21, 23, 24, 22], [17, 18, 19, 20, 18, 17, 16], [25, 26, 27, 28, 29, 30, 31]]Com base nessa informação, qual das seguintes afirmações é verdadeira sobre como acessar os dados na lista temperaturas?
Em um curso de programação Python, os alunos estão aprendendo sobre a estrutura de repetição for.O professor explicou que o laço for é uma ferramenta poderosa para iterar sobre sequências, como listas ou strings, e executar um bloco de código para cada elemento da sequência.Para identificar a compreensão dos alunos sobre o laço for, o professor propôs um exercício teórico com as seguintes afirmações:
O laço for pode ser usado para percorrer os elementos de uma lista, executando um bloco de código para cada elemento.
Quando se usa o laço for com uma string, o bloco de código é executado uma vez para cada caractere na string.
O laço for não pode ser usado com números, apenas com caracteres e strings.
O uso de um índice é obrigatório em todos os laços for em Python.
Os alunos devem identificar quais dessas afirmações são verdadeiras. Selecione a alternativa correta:
Na aula de programação Python, o professor explicou o conceito de estruturas de interação, focando no laço for, que é essencial para manipular sequências como strings e listas.Para reforçar o aprendizado, ele propôs um exercício prático: os alunos deveriam escrever um script que percorresse uma lista de frutas e imprimisse cada fruta em uma linha separada.Além disso, após listar todas as frutas, o script deveria imprimir uma mensagem final. O esboço inicial do código fornecido pelo professor era o seguinte:frutas = ['maçã', 'banana', 'cereja']for ___ in ___: print(___)print('Todas as frutas foram listadas.')Os alunos precisavam preencher as lacunas no código para que funcionasse corretamente. Quais palavras deveriam ser inseridas nas lacunas, respectivamente?
Você está desenvolvendo um programa Python para uma biblioteca, que inclui funções para calcular multas por atraso e recomendar livros com base em gêneros.Durante o desenvolvimento, você se lembra da importância da documentação e organização do código. Considere as seguintes afirmações sobre a prática de codificação em Python:I. Incluir comentários em cada linha de código é essencial para garantir a clareza do programa. II. Docstrings são úteis para fornecer informações sobre o propósito e o uso de uma função, e podem ser acessadas usando a função help(). III. A definição de funções em Python pode ser condicional, dependendo das entradas do usuário.
IV. É recomendável usar nomes de variáveis significativos e manter o código autoexplicativo, limitando o uso de comentários apenas às partes mais complicadas do código.
Quais das afirmações acima estão corretas?
Em um projeto de processamento de imagens, um desenvolvedor precisa calcular a distância euclidiana entre dois pontos no espaço.Para isso, ele decide usar a função sqrt() do módulo math. Ele também precisa determinar o tamanho máximo de uma caixa de delimitação, para o qual decide usar a função ceil().Ele possui as coordenadas dos pontos como (3, 4) e (0, 0) e calcula que o tamanho da caixa de delimitação é de 2.7 unidades.
Com base nisso, qual seria o resultado correto ao usar essas duas funções do módulo math?
Uma empresa de desenvolvimento de software está realizando um treinamento para novos programadores sobre as práticas básicas em várias linguagens de programação.Durante o treinamento, o instrutor enfatiza a importância das palavras reservadas e como elas são usadas nas linguagens de programação.Considere as seguintes afirmações sobre palavras reservadas:I. Palavras reservadas são termos que têm um significado especial em uma linguagem de programação e não podem ser usadas como nomes de variáveis. II. Em algumas linguagens, como Python e Java, palavras como 'if', 'while' e 'return' são exemplos de palavras reservadas. III. É possível criar funções ou métodos com nomes idênticos às palavras reservadas, desde que estejam em um contexto diferente.
IV. Palavras reservadas podem ser alteradas pelo programador para terem significados diferentes em diferentes partes do código.
Sendo assim, assinale a alternativa correta:
No estudo da linguagem de programação Python, um dos primeiros passos é a instalação de um Ambiente de Desenvolvimento Integrado (IDE) e a execução do primeiro código.Um IDE, como o PyCharm, Visual Studio Code ou Jupyter Notebook, fornece um ambiente onde você pode escrever, testar e depurar seu código.Após instalar o Python e um IDE de sua escolha, o próximo passo é escrever e executar um simples programa, como um script que exibe "Olá, mundo!" na tela.Este é um rito de passagem tradicional para qualquer aprendiz de programação. Considerando este processo inicial de aprendizado em Python.Qual das seguintes afirmações é verdadeira sobre a execução do primeiro código em Python?
Em uma discussão sobre a confiabilidade de software, um grupo de estudantes de ciência da computação analisa os conceitos de correção de programas e verificação de programas. Eles exploram a diferença entre testes de programa e demonstração de correção, bem como a importância das asserções e triplas de Hoare na verificação formal de programas. Com base nessa discussão e no contexto de verificação de programa, analise as seguintes afirmativas:I. Um programa está correto se ele se comporta de acordo com suas especificações, independentemente de resolver o problema pretendido.II. Testes de programa podem revelar a presença de erros, mas nunca podem garantir a ausência deles.III. As asserções são utilizadas para afirmar propriedades que devem ser verdadeiras em pontos específicos da execução de um programa.IV. Tripla de Hoare {Q}P{R} é válida sempre que, se a pré-condição Q for falsa antes da execução do programa P, a pós-condição R será verdadeira após a execução.Assinale a alternativa que contém as afirmativas verdadeiras:
Na Teoria dos Grafos, entender as diferenças entre Caminho de Euler e Circuito Hamiltoniano é crucial para solucionar problemas relacionados a otimização de rotas e redes. A diferença entre ambos os métodos reside exatamente na quantidade de nós a serem visitados por vez e as possíveis repetições dessas rotas.Neste contexto, sobre os Caminhos de Euler e Circuitos Hamiltonianos, analise as afirmativas a seguir:I. Um Caminho de Euler não precisa incluir todos os nós de um grafo, mas deve percorrer todas as arestas uma vez.
II. Um Circuito Hamiltoniano visita cada nó exatamente uma vez e retorna ao ponto de partida.
III. Um Circuito Hamiltoniano visita todos os nós sem necessariamente usar todos os arcos do grafo.
IV. Todos os grafos com um Caminho de Euler possuam também um Circuito Hamiltoniano.
V. Um Circuito Hamiltoniano pode repetir nós e arcos durante o percurso, exceto o nó inicial.Está correto o que se afirma em:
Grafos são estruturas de dados que modelam relações entre pares de objetos. Compostos por vértices (ou nós) e arestas que conectam esses vértices, grafos são ferramentas poderosas em ciência da computação, usadas para representar redes sociais, sistemas de estradas, links da internet, e muito mais. O estudo dos grafos envolve várias definições fundamentais, como o grau de um vértice (número de arestas conectadas a ele), grafos dirigidos versus não dirigidos (indicando se as relações são bidirecionais ou não), e grafos ponderados (onde as arestas têm pesos ou custos associados).Neste contexto, sobre as definições básicas de grafo, observe as afirmativas a seguir:I. Em um grafo não dirigido, as arestas têm uma direção associada, indicando o sentido do relacionamento entre os vértices.
II. O grau de um vértice é determinado pelo número total de arestas que incidem sobre ele, independentemente da direção.
III. Um grafo ponderado é aquele em que cada aresta tem um valor ou peso associado, que pode representar distância, custo ou qualquer outra métrica quantitativa.
IV. Um ciclo em um grafo é definido como um caminho fechado onde um vértice é visitado mais de uma vez.
V. Grafos completos são grafos em que cada par de vértices distintos é conectado por exatamente uma aresta.Está correto o que se afirma em:
A composição de funções é um conceito matemático poderoso que encontra aplicação direta na programação. Em matemática, a composição de duas funções e , escrita como , é a função que mapeia qualquer elemento para Na programação, este conceito se traduz na prática de usar o resultado de uma função como entrada para outra, permitindo construir operações mais complexas a partir de funções mais simples. Esta abordagem não apenas promove a reutilização de código, mas também ajuda a manter a clareza e a modularidade do código, facilitando a manutenção e o teste.Com base na importância do estudo da composição de funções matemáticas, observe as afirmativas a seguir:I. A composição de funções permite criar uma nova função a partir da aplicação sequencial de duas funções existentes.
II. Na composição de funções, a saída da primeira função aplicada torna-se a entrada para a segunda função.
III. A ordem das funções na composição é irrelevante, pois é sempre igual a .
IV. Compreender a composição de funções é essencial para resolver equações complexas onde múltiplas funções interagem.
V. A aplicação prática da composição de funções pode ser vista em disciplinas como física e economia, onde processos são modelados em etapas sequenciais.Está correto o que se afirma em:
Considere um conjunto parcialmente ordenado (S, ≼) onde S é um conjunto finito de elementos. As propriedades de reflexividade, antissimetria e transitividade são essenciais para definir a estrutura de uma ordem parcial. Dada essa estrutura, podemos analisar as relações entre os elementos do conjunto e as implicações dessas propriedades. Com base nisso, analise as seguintes afirmativas:I. Se um elemento x é minimal em S, não existe nenhum elemento y em S tal que y ≺ x.II. Se uma relação em S é reflexiva e simétrica, então ela é necessariamente transitiva.III. Em um conjunto parcialmente ordenado, o elemento mínimo é sempre único, se existir.IV. Se uma relação em S é antissimétrica, então não pode haver dois elementos distintos x e y em S tais que x ≼ y e y ≼ x.Está correto o que se afirma em:
Em matemática, as conjecturas representam proposições ainda não comprovadas, cuja validação requer o emprego de métodos de demonstração criteriosos e bem fundamentados. Entre esses métodos destacam-se a contraposição, a análise de casos múltiplos e a prova por absurdo. Cada um desses métodos é selecionado com base na natureza específica e na complexidade do problema em questão.Com isso em mente, identifique a alternativa correta que descreve uma dessas abordagens de demonstração.
Em um workshop voltado para o ensino de programação lógica, a linguagem Prolog é o foco central da apresentação, onde suas características distintas são ressaltadas, especialmente sua abordagem declarativa contrastando com linguagens procedimentais conhecidas, como C++ e Java. O palestrante realça que em Prolog, diferentemente de especificar um algoritmo passo a passo, o programador declara fatos e regras, deixando o sistema deduzir soluções possíveis com base nessas informações. Além disso, é enfatizado que a regra de resolução é a única utilizada para inferência em Prolog e que todas as regras são tratadas sob quantificação universal. Com essas informações em mente, qual das seguintes alternativas sobre Prolog é correta?
Durante uma aula avançada de lógica proposicional, concentrada em aprofundar o entendimento sobre quantificadores e predicados, um professor propôs um desafio intelectual aos seus alunos de ciência da computação. Para testar e expandir sua capacidade analítica, ele apresentou quatro afirmativas que exploram o uso e o significado dos quantificadores universais e existenciais, assim como a aplicação de predicados binários em lógica.Ele apresenta as seguintes afirmativas relacionadas a esses conceitos e pede aos alunos para identificar as corretas:I. O quantificador universal, representado por ∀, é utilizado para expressar que uma propriedade é verdadeira para todos os elementos de um determinado conjunto.II. O quantificador existencial, representado por ∃, é utilizado para expressar que uma propriedade é falsa para pelo menos um elemento de um determinado conjunto.III. Predicados binários são utilizados para expressar propriedades que envolvem a relação entre duas variáveis, como "x é maior que y". IV. O valor lógico de uma expressão que utiliza o quantificador existencial depende apenas da propriedade expressa pelo predicado, e não do domínio dos objetos.Está correto o que se afirma em:
Maria está estudando sobre caches web e seu papel na melhoria do desempenho de sites e na redução do tráfego na Internet.Ela aprendeu que um cache web, ou servidor proxy, armazena cópias de objetos recentemente requisitados e atende às requisições HTTP em nome de um servidor web de origem.Maria também descobriu que os caches web podem ser instalados por provedores de serviços de Internet (ISPs) para beneficiar uma rede inteira, como uma universidade ou uma empresa.
Com base nesse conhecimento, sobre os benefícios e implicações do uso de caches web, avalie as afirmativas a seguir:I. A instalação de um cache web pode reduzir significativamente o tempo de resposta para as requisições dos clientes, especialmente se a largura de banda entre o cliente e o servidor de origem for um gargalo.II. O uso de caches web não tem impacto no tráfego do enlace de acesso de uma instituição à Internet, pois as requisições ainda precisam ser enviadas aos servidores de origem.III. Caches web podem reduzir a necessidade de ampliação da largura de banda do enlace de acesso de uma instituição à Internet, diminuindo os custos associados.IV. A instalação de um cache web na rede institucional não afeta o tempo de resposta total para atender às requisições, pois o atraso da Internet é o fator predominante.Está correto o que se afirma em:
Leia o texto a seguir: No desenvolvimento web moderno, o uso de técnicas específicas para estruturar e estilizar páginas se tornou fundamental para a criação de websites responsivos e acessíveis.Uma prática que ganhou destaque foi a adoção de uma abordagem conhecida como [preencher 1], que se caracteriza pelo uso do elemento [preencher 2] em combinação com CSS para definir a disposição dos elementos na página, sem recorrer a tabelas.Essa técnica não apenas facilita a manutenção do código, mas também melhora a experiência do usuário ao acelerar o carregamento da página, visto que permite uma renderização progressiva do conteúdo.Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
Em uma aula de desenvolvimento web, um professor explica aos seus alunos sobre a importância da usabilidade e a navegação intuitiva em um site.Ele propõe um exercício prático onde os alunos devem criar um site de revisão de filmes. Neste site, há uma página inicial que contém uma lista de gêneros de filmes.Cada gênero é um link que direciona o usuário para uma seção da mesma página onde uma compilação dos filmes daquele gênero é apresentada.Além disso, cada título de filme possui uma imagem associada que, ao ser clicada, deve levar a uma página local com a crítica completa do filme. Por fim, cada crítica tem um link para a página do diretor no IMDb. Com base nesse cenário, identifique qual seria a implementação correta das tags HTML para a funcionalidade descrita?
A evolução da linguagem HTML é marcada por importantes marcos e decisões estratégicas pelas organizações responsáveis pelo seu desenvolvimento.Desde as primeiras versões supervisionadas pela CERN e pela IETF até a transição para a W3C, o HTML passou por várias atualizações significativas. A decisão da W3C de focar no XHTML, baseado nas regras do XML, e o posterior interesse em retomar a evolução do HTML com o surgimento do HTML5, demonstram a dinâmica do desenvolvimento da linguagem.Com base nesse contexto histórico, recorde qual das seguintes alternativas é verdadeira sobre a evolução do HTML:
As imagens são recursos visuais amplamente utilizados em páginas Web para torná-las mais atrativas.Para incluir uma imagem em uma página Web, a TAG img é utilizada, com atributos como src para determinar a localização da imagem e alt para fornecer uma descrição textual alternativa.Existem diferentes formatos de imagens, como GIF, JPEG e PNG, cada um com suas características específicas.Além disso, a localização da imagem pode ser especificada por meio de caminhos absolutos ou relativos. Com base nessas informações, sobre o uso da TAG img para a inclusão de imagens em páginas Web, observe as afirmativas a seguir:I. A TAG img possui atributos como src e alt, onde src determina a localização da imagem e alt fornece uma descrição textual alternativa.II. O formato GIF é utilizado para imagens fotográficas de alta qualidade e pode ser transparente ou animado.III. Caminhos absolutos são utilizados para localizar arquivos a partir da pasta raiz do site, enquanto caminhos relativos incluem o protocolo e o nome do domínio.IV. O formato PNG é recomendado para imagens com vários níveis de transparência ou para manter alta qualidade com tamanho reduzido.Está correto o que se afirma em:
O protocolo TCP é essencial para garantir a transferência confiável de dados na Internet.Sua estrutura de segmento inclui vários campos importantes, como números de porta para multiplexação e demultiplexação, número de sequência e reconhecimento para controle de fluxo e confiabilidade, e campos de flag para gerenciar o estabelecimento e o encerramento da conexão.O cabeçalho TCP tem um comprimento variável devido ao campo de opções, que pode ser usado para negociar o tamanho máximo do segmento (MSS) ou para outras finalidades, como aumento da escala da janela em redes de alta velocidade. Com base nessas informações, assinale a alternativa correta.
Em um cenário de rede de computadores, um usuário deseja enviar um arquivo de um dispositivo A para um dispositivo B.Ambos os dispositivos estão conectados à mesma rede local. Para que a comunicação ocorra efetivamente, diversos elementos e tecnologias entram em jogo.Considere que o dispositivo A utiliza uma placa de rede para transmitir sinais através de um meio físico até um elemento de comutação.Esse elemento, responsável pelo processamento e encaminhamento dos dados, desempenha um papel crucial na entrega do arquivo ao dispositivo B.Com base nesse contexto, assinale a alternativa que apresenta o elemento de comutação responsável por repassar os dados do emissor A para o receptor B na mesma rede local:
Durante uma palestra sobre estruturas de dados avançadas, um especialista em ciência da computação introduz o conceito de Hashing como uma técnica eficiente para a busca e armazenamento de dados em aplicações de grande escala. Ele explica que, ao contrário dos métodos tradicionais de pesquisa que dependem de comparações sequenciais ou binárias, o Hashing utiliza uma função matemática para converter chaves de pesquisa em endereços de tabela diretamente, acelerando significativamente o processo de busca. No entanto, ele também destaca que o método enfrenta desafios. Como exemplo, considere um cenário hipotético em que as chaves são de quatro dígitos decimais, podendo originar 10.000 chaves distintas. Caso a tabela for capaz de armazenar em M=97 posições, ou endereços distintos, ocorrerão colisões, ou seja, chaves distintas estarão associadas a mesma posição ou ao mesmo registro armazenado na tabela.Com base nesta descrição, qual das seguintes alternativas sobre Hashing e o tratamento de colisões é correta?
Na programação web com Python, entender como analisar e manipular o conteúdo de páginas HTML é crucial. O módulo html.parser oferece uma forma robusta de interagir com estes dados, permitindo aos desenvolvedores extrair informações específicas, como URLs de tags de âncora. Este processo, conhecido como parsing, transforma um documento HTML em uma série de tokens, facilitando a identificação e extração de elementos específicos. Será tomada como exemplo uma aplicação específica: - imagine que você está desenvolvendo uma aplicação Python para extrair todos os links de uma página web dada. Utilizando o módulo html.parser, você cria uma subclasse de HTMLParser e redefine o método handle_starttag para identificar tags de abertura ou de início do tipo âncora (<a>) e extrair o valor do atributo href. Este método torna a tarefa de capturar links numa página HTML não apenas possível, mas também relativamente simples.Dado este contexto, identifique qual das seguintes afirmações é verdadeira:I. A classe HTMLParser não deve ser usada diretamente, mas sim como uma superclasse da qual o desenvolvedor deriva analisadores com diferentes lógicas. O método handle_starttag, por exemplo, pode ser redefinido de diferentes modos dependendo da lógica a ser usada para a análise das tags de abertura.II. A classe HTMLParser automaticamente processa e extrai todos os URLs de tags de âncora sem necessidade de redefinição de métodos.III. A função urlopen do módulo urllib.request é usada para ler um conteúdo, ou seja, um recurso.IV. Para extrair dados de um documento HTML, é necessário converter o documento para um formato JSON antes de usar HTMLParser.Está correto o que se afirma em:
Em um curso de introdução à programação, um professor decide introduzir o conceito de algoritmos de ordenação através do algoritmo Bubble Sort, devido à sua simplicidade e facilidade de entendimento. Ele explica que o Bubble Sort é um método intuitivo que organiza uma sequência de elementos em ordem crescente, percorrendo o vetor várias vezes e trocando elementos adjacentes que estão na ordem incorreta. Para ilustrar o processo, o professor apresenta um vetor inicial e descreve os passos realizados pelo algoritmo para ordenar este vetor. Após a explicação, o professor propõe uma questão para verificar a compreensão dos alunos sobre o funcionamento do Bubble Sort. Considerando a descrição do processo de ordenação pelo Bubble Sort, identifique qual das seguintes alternativas descreve corretamente o comportamento do algoritmo após a primeira iteração completa de ordenação de um vetor não ordenado?
Leia o texto a seguir: Em um projeto de desenvolvimento de software para uma aplicação bancária, um dos requisitos é a implementação de um sistema de atendimento ao cliente baseado em filas, onde os clientes são atendidos seguindo a ordem de chegada. Para isso, o desenvolvedor opta por utilizar a estrutura de dados conhecida como fila, implementada por meio de uma classe em Python que simula o comportamento FIFO (First-In, First-Out). A classe Fila deve permitir a inserção de um novo cliente ao final da fila e a remoção do cliente que está na frente, garantindo que o atendimento ocorra na ordem correta. Dentro desta classe, dois métodos são essenciais: um método para adicionar clientes à fila e outro para atender (remover) o cliente da frente da fila. Considerando a necessidade de implementar esses métodos, o desenvolvedor precisa completar as linhas de código que definem as operações de inserção e remoção na classe Fila. Para adicionar um cliente ao final da fila, deve-se usar o método [preencher 1], e para atender o cliente que está na frente, removendo-o da fila, utiliza-se [preencher 2].Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
Na programação, o conceito de recursão oferece uma abordagem poderosa para solucionar problemas dividindo-os em subproblemas mais simples. Um exemplo clássico de aplicação da recursão é a função vertical que exibe os dígitos de um número verticalmente:def vertical(n): if n < 10: print(n) else: vertical(n//10) # função é chamada com resultado da divisão inteira de n por 10 print(n%10) Ao abordar esse problema, foi importante identificar [Preencher 1], que define quando a função deve parar de chamar a si mesma, e [Preencher 2], que progressivamente aproxima a função da condição de parada.Os termos [preencher 1] e [preencher 2] são corretamente substituídos por:
Após a implementação da classe Point em Python, que permite a manipulação de pontos em um plano bidimensional através de métodos para definir e obter coordenadas, bem como para mover o ponto, você decide testar a funcionalidade desta nova classe. Você inicia criando uma instância da classe Point, ajusta suas coordenadas para um ponto específico no plano, e em seguida, move este ponto para uma nova posição. Finalmente, você deseja verificar as novas coordenadas do ponto para confirmar que os métodos implementados estão funcionando conforme esperado. Baseando-se em possíveis descrições dos respectivos métodos da classe Point, qual sequência de comandos em Python faz uso correto de métodos para criar um ponto, definir suas coordenadas iniciais, mover o ponto e obter suas novas coordenadas?