Prévia do material em texto
<p>PROVA SUB - PYTHON PARA WEB - 41/2024</p><p>Período</p><p>18/03/2024 08:00 a 20/03/2024 23:59 Horário de Brasília</p><p>Status</p><p>ENCERRADO</p><p>Nota máxima</p><p>10,00</p><p>Data Final</p><p>20/03/2024 23:59 Horário de Brasília</p><p>Finalizado</p><p>Sim</p><p>Nota obtida</p><p>6,00</p><p>Data Gabarito/Feedback</p><p>21/03/2024 Horário de Brasília</p><p>21/03/2024 Horário de Brasília</p><p>Finalizado em</p><p>20/03/2024 23:12 Horário de Brasília</p><p>Data e Hora Atual</p><p>28/03/2024 19:09:29 Horário de Brasília</p><p>QUESTÃO 1ANULADA</p><p>Há uma diferença entre linguagem de programação e linguagem script. A linguagem é um código de programação estruturado e auto executável, o script sempre vai rodar sobre uma plataforma que executa os passos do código. Apesar do JavaScript ser muito poderoso, ele não pode ser chamado de linguagem, pois sempre vai depender de um navegador para rodar seus códigos.</p><p>Segundo a visão de Chicoli, o JavaScript é uma linguagem script poderosa; no entanto, é possível considerar que o JavaScript possui características de uma linguagem de programação como declarações de variáveis, estruturas, instruções etc.</p><p>Com relação ao excerto apresentado, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para falsa(s):</p><p>I. ( ) O comando VAR declara o nome de uma variável e opcionalmente inicializa a variável com um valor. A variável é visualizada pela função atual ou por outras variáveis declaradas fora da função que foi criada.</p><p>II. ( ) O uso do VAR para definir uma variável é opcional; contudo, por uma questão de estilo, é necessário apenas se tiver sido declarado como uma variável global com o mesmo nome.</p><p>III. ( ) Cada navegador suporta uma versão diferente de JavaScript. Assim, para reconhecer qualquer versão script é preciso usar a tag suportada como <script language = 'JavaScript'>.</p><p>IV. ( ) Para realizar a carga de um arquivo externo JavaScript no HTML, é necessário utilizar a cláusula SRC = "nome do arquivo.js"> e </script> após a tag HTML.</p><p>V. ( ) As tags <scripts> e </script> definem um container para armazenar comandos que devem ser executados imediatamente após o carregamento do documento html e funções definidas pelo usuário.</p><p>Essa questão foi anulada, portanto não é possível respondê-la.</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>F, F, V, F, V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>F, V, V, F, V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>V, F, F, V, V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>F, V, F, V, F</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>V, V. V, F, V</p><p>窗体底端</p><p>QUESTÃO 2</p><p>Com a linguagem JavaScript, podemos escrever a marcação html e inseri-la na marcação de um documento, sendo uma linguagem de programação usada para manipular, personalizar e automatizar as funcionalidades de um sistema existente. Em tais sistemas, as funcionalidades já se encontram disponíveis por meio de uma interface de usuário e a linguagem script provê um mecanismo para acessá-las. Assim, a linguagem JavaScript deve ser definida como uma linguagem que é interpretada e tem seu funcionamento dependente de funcionalidades hospedadas no navegador. Isso significa que a linguagem JavaScript:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>Uma linguagem compilável pelo navegador de internet.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>Uma linguagem usada para rodar do lado do cliente.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>Uma linguagem usada para rodar do lado do servidor.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>Uma linguagem script que trabalha obrigatoriamente com tags.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>Uma linguagem que se utiliza de tags seletores do CSS.</p><p>窗体底端</p><p>QUESTÃO 3</p><p>A tag <head> especifica que as linhas dentro dos pontos de início e término da tag são o prólogo para o restante do arquivo. Geralmente, apenas algumas tags entram na parte <head> da página (mais exatamente, o título da página). Nunca se deve colocar qualquer texto da página na seção de cabeçalho, ou seja, entre as tags <head> e </head> .</p><p>Com relação ao estudo da linguagem html, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para falsa(s).</p><p>I. ( ) Cada página HTML precisa de um título para indicar o que a página descreve. O título será usado pelos favoritos do seu navegador</p><p>II. ( ) O elemento <tr> </tr> cria uma célula de título, com texto centralizado e em negrito como cabeçalho da tabela.</p><p>III ( ) Os elementos <th> ... </th> são usados para as células de cabeçalho. Geralmente, os navegadores centralizam o conteúdo da célula <th> e geram em negrito qualquer texto que ela possuir.</p><p>IV. ( ) O elemento <ul>...</ul> são usados para criar listas ordenadas dentro células de dados em uma tabela.</p><p>V. ( ) Todas as células de cabeçalho da tabela quanto as de dados podem conter texto, código HTML ou ambos, inclusive links, listas, formulários e outras tabelas.</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>V, V, F, F, F</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>F, V, V, F, V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>V, F, V, F, V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>F, V, F, V, F</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>V, V. F, F, V</p><p>QUESTÃO 4</p><p>A lista urlpatterns define um mapeamento entre URLs internas à sua aplicação e os métodos/funções de suas views, de maneira que, se uma requisição for realizada para um endereço que "case" com o padrão da URL, ela será redirecionada para view apropriada, que irá tratá-la. É sua responsabilidade, como desenvolvedor, decidir qual view deverá responder a cada requisição gerada pelos cliques na interface com o usuário da aplicação. Isso é feito por meio da definição de uma configuração de URL. Como urlpatterns é uma lista do Python, adicionar um novo mapeamento é uma questão de, simplesmente, digitar um novo item na lista. Cada item é mapeado pela função path(), que recebe dois parâmetros:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>o nome da página e a referência da página</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>url do mapeamento e o identificador do recurso</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>endereço de IP da página e porta do servidor</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>endereço do servidor local e endereço dos recursos</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>endereço do projeto e endereço da aplicação</p><p>窗体底端</p><p>窗体底端</p><p>QUESTÃO 5</p><p>A linguagem de programação JavaScript tem um conjunto de estruturas de controle semelhante ao das linguagens C, Java e Python, e outras com paradigmas estruturados. As instruções de controle são entradas com if..else e switch. Laços são tratados com a construção da instrução while.</p><p>Assim, de acordo com a codificação a seguir:</p><p>Var num = 1; num++;</p><p>If (num == 1) { documente.write (não é igual a 1); num--}</p><p>else { num++; documente.write (o num não é igual a 1, sendo o valor igual a: + num);}</p><p>Diante disso, o atributo valor da variável num é dado por:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>1</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>2</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>3</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>0</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>-1</p><p>窗体底端</p><p>QUESTÃO 6</p><p>Na TAG <script>, o atributo type indica a linguagem de programação que será descrita na sequência. Quando o trecho de código é adicionado dessa forma, a TAG pode ser incluída em qualquer trecho do HTML. Entretanto, faz mais sentido tê-la dentro da TAG body, principalmente se houver saída na tela? Neste sentido o JavaScript é considerado uma linguagem versátil devido a inclusão de seu código em momentos necessários dentro do documento HTML.</p><p>Considerando o excerto apresentado, analise as afirmativas a seguir quanto a linguagem Javascript:</p><p>I. Na linguagem JavaScript, uma variável pode ter diferentes tipos de dados, não havendo a necessidade de declarar o seu tipo de dados.</p><p>II. A linguagem de programação JavaScript não faz distinção entre letras maiúsculas e minúsculas para variáveis, comandos e instruções.</p><p>III. Ao tentar executar um arquivo JavaScript (extensão .js) em um navegador, as funções e os eventos serão executados.</p><p>IV. A linguagem JavaScript</p><p>é equivalente à linguagem de programação Java, na qual é possível criar uma aplicação independente.</p><p>V. Na linguagem JavaScript, o objeto Document contém informações sobre a página ou documento html como um todo, além de uma série de funções que permitem alterar as características da página.</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>I e II</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>I, III e IV</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>I, III e V</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>II e IV</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>III, IV e V</p><p>窗体底端</p><p>QUESTÃO 7</p><p>Assim como acontece com as listas classificadas (ordenadas), as listas não classificadas (não ordenadas) podem ser padronizadas com atributos do HTML 3.2 que também aparecem no HTML 4.0. Por padrão, a maior parte dos navegadores (inclusive o Netscape e o Internet Explorer) usa marcadores para delinear as entradas em listas não-classificadas. Caso você use o atributo type da TAG <ul> ou <ol>, alguns navegadores poderão exibir outros tipos de marcadores para delinear. as entradas poderão exibir outros tipos de marcadores para delinear as entradas.</p><p>Diante disso, o atributo TYPE para uma lista que usa TAG <ol> server para:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>especifica o tipo de numeração</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>especifica o case sensitive do texto da lista</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>alterna a lista de ordenada para não ordenada</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>alterna a lista de não ordenada para ordenada</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>especifica o tipo de classificação</p><p>窗体底端</p><p>QUESTÃO 8</p><p>O código abaixo é o exemplo de uma sintaxe básica de um código CSS:</p><p>h1 { font-family: times new roman; font-size: 30px; background-color #0000FF; }</p><p>#formato_paragrafo {font-family: arial; font-size: 10px; background-color #7FFF00;}</p><p>Neste sentido o exemplo apresentado ilustra o trecho de código CSS externo dentro de uma pasta de recursos do projeto em Django, que possui uma seção única constituída de seletores, e estes de um corpo de declaração que, deve conter propriedades específicas ao elemento html. Diante disso, dentro do html os marcadores necessários para aplicar o estilo externo:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>é necessário se utilizar de marcadores de elementos html acrescidos do atributo style e o nome da classe quando necessário.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>é necessário utilizar apenas de marcadores html, quaisquer que eles sejam, desde que no código CSS forem selecionados adequadamente.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>é necessário utilizar o atributo style para cada elemento HTML e dentro das TAGs <head> e </head> na seção de cabeçalho definir as localizações das classes.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>somente é preciso definir a localização das classes nas TAGs <script> e </script> que o navegador subentende que as regras serão aplicadas para cada elemento html.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>deve-se avisar ao navegador dentro das TAGS <body> e </body> a localização do arquivo externo CSS, e para cada elemento HTML atribuir uma classe com o identificador ID.</p><p>窗体底端</p><p>QUESTÃO 9</p><p>Qualquer aplicação web possui, entre seus recursos, arquivos estáticos (imagens, folhas de estilo, scripts etc.). Estes recursos são localizados a partir de uma constante static.</p><p>No final do arquivo settings.py, você encontrará este trecho:</p><p># Static files (CSS, JavaScript, Images)</p><p># https://docs.djangoproject.com/en/2.2/howto/static-files/</p><p>STATIC_URL = /static/</p><p>Essa constante diz ao framework:</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>para conectar uma URL entre uma view e uma template sempre for realizar a chamada de funções ou métodos.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>para chamar uma linguagem de programação CSS ou Javascript e integrá-la a template.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>para chamar um recurso estático a partir de uma página HTML, através da TAG <script></script>.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>para concatenar a VIEW do servidor com o valor fornecido sempre que o endereço de um arquivo estático for solicitado.</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>para concatenar a URL do servidor com o valor fornecido sempre que o endereço de um arquivo estático for solicitado.</p><p>窗体底端</p><p>QUESTÃO 10</p><p>Dado o código de um arquivo models.py</p><p>from django.db import models</p><p>class Categoria(models.Model):</p><p>nome = models.CharField(max_length=150, db_index=True)</p><p>slug = models.SlugField(max_length=150, unique=True, db_</p><p>index=True)</p><p>data_criacao = models.DateTimeField(auto_now_add=True)</p><p>data_ultima_atualizacao = models.DateTimeField(auto_</p><p>now=True)</p><p>def __str__(self):</p><p>return self.nome</p><p>Sendo os atributos:</p><p>nome: Nome da categoria com, no máximo, 100 caracteres, conforme especificado pelo parâmetro max_length.</p><p>slug: Contém o endereço encurtado para a categoria.</p><p>data_criacao: Data em que a categoria foi criada no estoque.</p><p>data_ultima_atualizacao: Data em que os dados da categoria foram atualizados pela última vez.</p><p>Considerando o código apresentado, analise as afirmativas a seguir quanto codificação sobre a estrutura de dados do arquivo models.py:</p><p>I. O arquivo começa com a importação com o pacote: models, que contêm a classe Model, ancestral de todas as classes que podem ser persistidas.</p><p>II. A classe Categoria possui vários atributos, cada um com seu tipo de dados adequado. data_criacao = models.DateTimeField(auto_now_add=True) é um atributo que armazena uma data do tipo inteiro que é incrementado a cada novo uso. É bastante usado como chave primária; para essa finalidade, passe o parâmetro primary_key=True para o objeto.</p><p>III. A Classe Categoria, da aplicação deve ser salva em um banco de dados, declarada no models.py e herda de models.Model.</p><p>IV. Após criar o modelo de dados da aplicação no arquivo models.py, através do prompt de comandos/terminal, é necessário acessar a pasta do projeto Django e digitar o comando: manage.py makemigrations. Esse comando conecta diretamente os campos de dados de uma classe com o SGBD.</p><p>V. Em muitas empresas há sistemas antigos ainda em funcionamento, e os custos material e de tempo para migrar tais sistemas para uma arquitetura mais moderna são proibitivos. Pensando nisso, o Django também provê ferramentas para importar tabelas de um banco de dados legado para o modelo da sua aplicação.</p><p>窗体顶端</p><p>Alternativas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 1:</p><p>I e II apenas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 2:</p><p>I, III e V apenas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 3:</p><p>I, III apenas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 4:</p><p>II e IV apenas</p><p>SHAPE \* MERGEFORMAT</p><p>Alternativa 5:</p><p>III, IV e V apenas</p><p>窗体底端</p>