Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Back-End Ques!onários AO2 Prova! 7 AO2 Prova Entrega 11 de dez de 2020 em 23:59 Pontos 6 Perguntas 10 Disponível 7 de dez de 2020 em 0:00 - 11 de dez de 2020 em 23:59 5 dias Limite de tempo Nenhum Instruções Este teste não está mais disponível, pois o curso foi concluído. Histórico de tenta!vas Tenta!va Tempo Pontuação MAIS RECENTE Tenta!va 1 38 minutos 2,4 de 6 " As respostas corretas estão ocultas. Pontuação deste teste: 2,4 de 6 Enviado 7 de dez de 2020 em 22:37 Esta tenta!va levou 38 minutos. Graduação Bloco 2 | 20202 Página inicial Avisos Módulos Tarefas Notas Fóruns Conferências Programa Pessoas Importante: Caso você esteja realizando a a!vidade através do aplica!vo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0 / 0,6 ptsPergunta 1IncorretaIncorreta Leia o texto a seguir: Uma sessão PHP armazena dados no servidor e não no computador do usuário. Em um ambiente baseado em sessão, cada usuário é iden!ficado através de um número exclusivo chamado iden!ficador de sessão ou SID. Esse ID de sessão exclusivo é usado para vincular cada usuário com suas próprias informações no servidor, como emails, postagens etc. De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back- end e linguagem PHP, analise as alterna!vas a seguir e marque a alterna!va correta referente a “sessão”: A sessão é destruída u!lizando a função $_sessiondestroy(ID), passando como argumento o ID (iden!ficador) da sessão que deseja destruir. A matriz global $_GETSESSION[] pode armazenar todos os seus dados de sessão como pares de chave-valor. A função session_start() deve ser invocada no início da página, ou seja, antes de qualquer saída gerada pelo seu script no navegador. Um recurso disponível no conceito de sessão são os cookies, os quais armazenam os dados por um tempo maior se comparados as sessões simples. O uso de cookies e de sessão possuem finalidades diferentes: enquanto cookies armazenam dados numéricos, a sessão armazena dados de texto. A alterna!va está incorreta, pois você pode armazenar todos os seus dados de sessão como pares de chave-valor na matriz superglobal $_SESSION[].Os dados armazenados podem ser acessados durante a vida ú!l de uma sessão. A alterna!va correta é “A função session_start() deve ser invocada no início da página, ou seja, antes de qualquer saída gerada pelo seu script no navegador.” Antes de poder armazenar qualquer informação nas variáveis da sessão, você deve primeiro iniciar a sessão. Para iniciar uma nova sessão, basta chamar a função session_start() do PHP. Ele criará uma nova sessão e gerará um ID de sessão exclusivo para o usuário. 0,6 / 0,6 ptsPergunta 2 Observe com atenção o diagrama a seguir e a relação entre os componentes View, Model e Controller. Considerando as informações apresentadas, analise as afirma!vas a seguir: I. O fluxo 2 representa a view alertando o controller sobre um evento em par!cular. Na vida real, se você é uma view e um garçom é o controller, o fluxo 2 representaria você passando o seu pedido para o garçom. II. O fluxo 2 pode ser eliminado deste diagrama, pois o mesmo possui comunicação direta com a camada model, a qual recebe as requisições da camada view (fluxo 5, que são as interações do usuário) e devolve uma resposta a view (fluxo 4). III. Quando o usuário edita os dados de um veículo em um sistema web (fluxo 1), os fluxos seguintes são: 2 (envia os dados para o controller), 3 (o controller atualiza os dados em Model) 4 (model avisa a view que os dados foram atualizados). Estão corretas as afirma!vas: I e III, apenas. III, apenas. I e II, apenas. II, apenas. II e III, apenas. Alterna!va correta. A afirma!va I está correta, pois a camada view manipula as interações do usuário e, quando necessário, avisa a camada de controller sobre estas interações. No caso de você estar em um restaurante, você é a view e o garçom o controller. O papel do garçom é só anotar o seu pedido e o enviar para o cozinheiro (que, neste caso, é o model). Logo, o fluxo 2 é você passando o pedido para o garçom. A afirma!va II está incorreta, pois o fluxo 2 representa a comunicação entre a view (interação do usuário) e a camada controller (uma interface entre a view e a camada model). Logo, este fluxo não pode ser eliminado. A afirma!va III está correta, pois ao editar os dados do veículo, o usuário interage com a view, editando os campos necessários. Ao clicar no botão salvar, os dados são enviados para a camada controller (fluxo 2). A camada controller lida com as interações do usuário, informando a camada model (fluxo 3) que houve uma mudança nos dados, porém esta camada não faz nada mais do que informar a mudança. Por sua vez, a camada model atualiza os novos dados no banco de dados e comunica a View (fluxo 4) que os dados foram alterados. 0,6 / 0,6 ptsPergunta 3 Leia o texto a seguir: Uma arquitetura de três camadas é composta por três camadas lógicas. Este !po de arquitetura é frequentemente usado em aplica!vos do !po cliente-servidor. A arquitetura de três camadas oferece muitos bene"cios para os ambientes de produção e desenvolvimento, modularizando a interface do usuário, a lógica de negócios e as camadas de armazenamento de dados. Isso proporciona maior flexibilidade às equipes de desenvolvimento, permi!ndo que elas atualizem uma parte específica de um aplica!vo independentemente das outras partes. De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back- end, analise as alterna!vas a seguir e marque a alterna!va correta referente a arquitetura de três camadas: A camada de aplicação consiste na interface do usuário, ou seja, o aplica!vo que o usuário u!liza e também realiza interação. As camadas de aplicação e de dados estão no back-end, responsáveis respec!vamente pela lógica do negócio bem e do armazenamento dos dados. As camadas de apresentação e de aplicação estão no front-end, e são responsáveis por receber os dados da camada de dados no back-end. A camada de apresentação é executada no front-end e é responsável pela conexão entre a camada de dados e a camada de aplicação. A camada de dados, apesar de estar no back-end, também pode ser u!lizada no front-end, a essa técnica chamamos de back-end reverso. A alterna!va está correta, pois a Camada de Aplicação contém a lógica funcional dos negócios, o que impulsiona as capacidades essenciais de um aplica!vo. É frequentemente escrito em Java, .NET, C #, Python, C ++ etc. De outro modo, a Camada de Dados compreende o sistema de armazenamento de dados e de acesso aos dados. Exemplos de tais sistemas são MySQL, Oracle, PostgreSQL, Microso# SQL Server, MongoDB etc. 0 / 0,6 ptsPergunta 4IncorretaIncorreta Analise com atenção o fluxo node-red a seguir e também o código fonte escrito em JavaScript, o qual está inserido em um nó Func!on: Considerando as informações apresentadas, assinale a opção correta: A variável auxiliar aux recebe, na linha 5, o valor con!do na variável numA, deste modo, ao final da execução, o valor de numA será o mesmo de numB. O nome do serviço é maiornumero e pode ser acessado como localhost:1880/maiornumero?n1=10 assim, o código processa via GET e retorna uma resposta. O algoritmo ordena os valores, se numA for maior que numB, eles trocam seus valores, e o comando da linha 5 é essencial neste processo, evitando perder o valor de numA. Nas linhas 10 e 11 estamos atribuindo novamente para msg.payload os valores que o usuário passou para o serviço web via método GET no primeiro nó. As variáveis numA e numB poderiam ser suprimidas e, ao invés de u!lizar duas variáveis, poderíamos u!lizar apenas uma variável recendo estes valores. A alterna!va está incorreta, pois a variável aux recebe o valor da variável numA temporariamente e, no final da execução, caso A seja maior do que B, o valor da variável A será o valor de B e o valor da variávelB será o valor da variável A. A alterna!va correta é” O algoritmo ordena os valores, se numA for maior que numB, eles trocam seus valores, e o comando da linha 5 é essencial neste processo, evitando perder o valor de numA.”. A alterna!va está correta, pois o algoritmo realiza a troca dos valores entre as variáveis numA e numB. Entretanto, se fizer uma troca direta, ou seja, numA receber numB e numB receber numA, perderemos o valor da variável numA. Deste modo, precisamos de um auxiliar que guarde para nós o valor de numA, então isso é feito na linha 5. 0 / 0,6 ptsPergunta 5IncorretaIncorreta Leia o texto a seguir: O node-red é uma ferramenta visual projetada para a Internet das Coisas (IoT), mas também pode ser usada para outros aplica!vos para montar rapidamente fluxos de vários serviços. Veja um exemplo de fluxo node-red. Considerando as informações apresentadas, analise as afirma!vas a seguir: I. O primeiro nó é o método GET para receber uma requisição que pode ser feita no navegador do seguinte modo: localhost:1880/meuservico?a=1&b=3. II. O nó verde (msg.payload) é responsável por gerar uma página web com os valores recebidos por meio do método GET. III. O nó h$p request mostrará na página web um arquivo JSON no formato chave-valor dos dados passados pela URL. É correto o que se afirma em: I, apenas. II e III, apenas. I e II, apenas. I e III, apenas. II, apenas. Esta alterna!va está incorreta, pois apenas as afirma!vas I e III estão corretas. A afirma!va I está correta, pois no primeiro nó chamado HTTP IN no node-red, podemos selecionar diversos métodos, inclusive o método GET. Como neste método nós passamos as variáveis pela URL, então invocamos o serviço chamado meuservico e passamos as variáveis a e b com seus respec!vos valores. A afirma!va II está incorreta, pois o nó verde apresentado na imagem é um nó de saída u!lizado para depurar o fluxo e a saída dos nós que a ele estão conectados. A afirma!va III está correta, pois o nó HTTP REQUEST envia uma requisição e retorna a resposta que, neste caso, será um arquivo JSON no formato chave-valor. 0 / 0,6 ptsPergunta 6IncorretaIncorreta Leia o texto a seguir: No node-red, além de programarmos u!lizando o conceito de nós ou blocos, também podemos u!lizar código em javascript. Para que isso seja possível, podemos u!lizar o nó func!on, o qual aceita todos os !pos de operadores na!vos de javascript. Enquanto os operadores aritmé!cos manipulam variáveis, realizando cálculos sobre elas e alterando-as, os operadores lógicos relacionam uma variável com outra, ou uma expressão com outra. O resultado ob!do deste !po de relacionamento será sempre um valor booleano do !po true ou false. Considerando as informações apresentadas, bem como um fluxo com um nó HTTP IN com o método GET recebendo dois valores A=8 e B=7, analise as afirma!vas a seguir: I. No comando (A<B && B!=A) teremos uma saída do !po verdadeiro apresentada no navegador. II. No comando (A=B || B<>A) teremos uma saída do !po verdadeiro apresentada no navegador. III. No comando ((NOT (A<B)) AND (A>B)) a saída será do !po falso apresentada no navegador. IV. No comando (A=B XOR A>B) teremos uma saída do !po verdadeiro apresentada no navegador. Estão corretas apenas as afirma!vas: I e II. I e III. III e IV. I e IV. II e IV. Esta alterna!va está incorreta, pois apenas as afirma!vas II e IV estão corretas. A afirma!va I está incorreta, pois, no comando, a primeira comparação A<B é falsa e, somente pelo fato de ser falso já nega o comando como um todo, afinal, a condição de um comando ser verdadeiro é que todas as comparações sejam verdadeiras. A afirma!va II está correta, pois a condição para uma operação lógica ou (||) ter como saída o !po falso, é que os dois valores comparados sejam do !po falso. Os demais casos sempre nos trarão como saída o resultado como verdadeiro. A afirma!va III está incorreta, pois a primeira expressão é A<B, o que nos retorna falso. Entretanto, esta expressão está sendo negada, o que a torna verdadeira. A outra expressão é A>B, o que é verdadeiro. Na operação lógica AND, a condição da saída ser verdadeira é se, somente se, as duas operações forem verdadeiras. A afirma!va IV está correta, pois o comando XOR só terá saída verdadeira quando as expressões forem do !po FALSO VERDADEIRO ou VERDADEIRO FALSO. Neste caso, é não é igual a B, o que retorna falso, e na segunda expressão, A é maior que B, logo, resultará em verdadeiro. Sendo assim, a saída será do !po verdadeiro. 0 / 0,6 ptsPergunta 7IncorretaIncorreta Leia o texto a seguir: O código a seguir realiza a validação se um dado ano é bissexto ou não. Para calcularmos se um ano é bissexto ou não, temos, necessariamente que considerar os seguintes fatores: o ano deve ser divisível por quatro e o resto da divisão do ano por 100 tem que ser maior que zero ou a divisão do ano por 400 precisa ser igual a zero. Analise o código com atenção: De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back- end, analise as afirma!vas a seguir: I. Na linha 2 é criada a sessão e nela temos pelo menos um valor que é o ano, o qual pode ter sido armazenado como $_SESSION[“anoatual”] = 2024. II. O código apresentará erro na linha 4, o correto seria u!lizarmos o operador / (divisão) ao invés do símbolo % (de porcentagem). III. O comando da linha 12 irá destruir a sessão u!lizando o comando unset caso o ano não seja bissexto. IV. É necessário colocar o bloco da linha 4 até a linha 13 dentro do comando if(isset($_SESSION["anoatual"])), garan!ndo assim que existe valor na sessão. Está correto apenas o que se afirma em: I e IV. I e II. II e III. I e III. II e IV. Esta alterna!va está incorreta, pois apenas as afirma!vas I e IV estão corretas. A afirma!va I está correta pois, é possível armazenar todos os seus dados de sessão como pares de chave-valor na matriz $_SESSION[]. Neste caso, a chave u!lizada foi “anoatual” e o valor foi um ano qualquer, por exemplo, poderia ter sido 2024. A alterna!va II está incorreta pois, o operador aritmé!co de % (porcentagem), na linguagem PHP e em outras, é u!lizado como módulo e o obje!vo é retornar o resto da divisão de um valor X qualquer por um valor Y. Neste código estamos verificando o resto da divisão do ano por 4 se é igual a zero, do ano por 100 se é maior do que zero e do ano por 400 se é igual a zero. A alterna!va III está incorreta pois, a função unset não destruíra a sessão, pelo contrário, ela apenas removerá um dado da sessão, porém, a sessão con!nuará a!va. A afirma!va IV está correta pois, a função isset é u!lizada para saber se uma variável foi definida ou não. Como estamos trabalhando com sessão, é necessário verificarmos se há sessão e se há valor armazenado nesta sessão. 0,6 / 0,6 ptsPergunta 8 Leia o texto a seguir: Uma variável possui papel fundamental em um código: guardar dados. Elas podem armazenar apenas um dado por vez, logo, se uma variável chamada $nome possui o conteúdo “João”, ao receber o valor “Maria”, a palavra “João” é perdida. Por outro lado, temos as condicionais, cuja principal caracterís!ca é modificar o fluxo de um código de acordo com uma condição. Veja um exemplo de código fonte em PHP o qual manipula uma única variável chamada $txt e possui uma condicional: De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back- end, analise as afirma!vas a seguir: I. As variáveis $nome e $senha recebem via método POST o conteúdo digitado respec!vamente em campo <input> com id=”user” e id=”pswd”. II. O método POST mostrará os valores digitados pelo usuário na URL do seguinte modo localhost?user=” Maria”&pswd=”999999”. III. O código realiza a auten!cação de usuário, logo, se o resultado da linha 4 for verdadeiro, então o usuário será redirecionado à página restrito.php. IV. O algoritmo apresentará um erro de Memory Fault, pois faltam variáveis para armazenar alguns dados na memória.Está correto apenas o que se afirma em: II e IV. III e IV. II e III. I e III. I e IV. A afirma!va I está correta, pois as variáveis $nome e $senha estão recebendo via o método POST os valores digitados nos campos <input> de um formulário. A variável superglobal $_POST recebe os valores dos ids destes inputs. A afirma!va II está incorreta, pois o método GET carrega o parâmetro de solicitação anexado na string da URL, enquanto o POST, diferente do que foi descrito na afirma!va, carrega o parâmetro de solicitação no corpo da mensagem, o que o torna uma maneira mais segura de transferência de dados do cliente para o servidor no protocolo h$p. A afirma!va III está correta, pois a função header() possui dentro dela o caminho para o redirecionamento. Caso a auten!cação seja bem sucedida, o usuário será redirecionado pela função header() para uma página chamada restrito.php, senão houver sucesso na auten!cação (nome de usuário ou senha inválidos) o usuário será redirecionado para a página principal index.php. A afirma!va IV está incorreta, pois o fato de usarmos apenas duas variáveis na memória não causará erro neste código. Para este caso que desejamos realizar a auten!cação, duas variáveis como $nome e $senha já sa!sfazem nas nossas necessidades. 0 / 0,6 ptsPergunta 9IncorretaIncorreta Leia o texto a seguir: No MVC (Model-View-Controller), o aplica!vo é separado em três partes principais: modelo, visão e controlador. Cada um deles é criado e processado para lidar com partes específicas do aplica!vo. Deste modo, o MVC tornou-se um dos es!los de desenvolvimento da Web mais avançados para atender aos padrões de desenvolvimento modernos, permi!ndo a expansão e facilitando o desenvolvimento. Considerando essas informações e o conteúdo estudado sobre o MVC, assinale a alterna!va correta: A principal caracterís!ca da camada Controller é o fato de possuir duas ferramentas essenciais em um modelo web: banco de dados e um servidor web como Apache ou Microso# IIS. A camada View armazena os dados de um objeto no banco de dados. Um objeto pessoa pode recuperar dados do banco, manipular e depois atualizar no banco estes dados alterados. A camada Model e a camada View trabalham em conjunto. Enquanto na camada Model é projetado layout, na camada View é colocado em prá!ca aquilo que foi projetado (modelado) na camada Model. A camada View é vinculada à camada Model, a qual fornece os dados que serão mostrados na View. Se quisermos editar os dados do objeto pessoa, a camada Model exibirá na camada de apresentação estes dados. A camada Controller, como o nome já diz, controla as interações do usuário. Se quisermos editar as informações da pessoa, a camada controller apresenta os campos como lista suspensa e caixa de texto. A alterna!va está incorreta, pois apesar de poder controlar as interações do usuário, esta camada não apresenta os campos de layout como entradas de texto ou lista suspensas. Quem apresenta o layout é a View. Cabe ao Controller enviar para a View os dados que serão apresentados nestes componentes de layout. A alterna!va correta é “A camada View é vinculada à camada Model, a qual fornece os dados que serão mostrados na View. Se quisermos editar os dados do objeto pessoa, a camada Model exibirá na camada de apresentação estes dados.” A View é usada para apresentar os componentes de interface do usuário, por exemplo, uma página que apresentará os dados de uma pessoa, a qual conterá componentes como caixas de texto, menus suspensos, imagens e assim por diante. Porém a View não sabe quando deve ser executada, ela apenas sabe como fazer, não quando. Por outro lado, a camada Model, vinculada à camada View, contém a parte lógica da aplicação, por exemplo, pode ser usado para transferir dados do objeto pessoa do banco para a view apresenta-los. Deste modo, a camada Model de uma pessoa importa informações do banco de dados, as envia para processamento e as usa para visualização (View). 0,6 / 0,6 ptsPergunta 10 Leia o texto a seguir: Na programação clássica, o operador && (and) retorna true - verdadeiro - se ambos os operandos são verdadeiros, caso contrário, retornará sempre false - falso. O && avalia os operandos da esquerda para direita. Para cada operando, converte-o em um booleano. Após todos os operandos serem avaliados, é retornado o resultado da operação. Analise o código a seguir: De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back- end, analise as afirma!vas a seguir: I. Na linha 6 a condição descrita resultará em Verdadeiro, deste modo, será apresentada na tela o número 8. II. A linguagem PHP bem como a linguagem JavaScript são executadas no lado do cliente, ou seja, são linguagens de front-end. III. O código apresentado em linguagem PHP, será executado no lado do servidor, especificamente em um servidor web Apache. IV. Na linha 6, a operação * 2 torna a condição falsa, logo, se removermos esta mul!plicação a condição será verdadeira. Está correto apenas o que se afirma em: II e IV. I e III. III e IV. II e III. I e II. Alterna!va correta. A afirma!va I está correta, pois na linha 6 a primeira expressão antes do && (and) é verdadeira, bem como a segunda, logo, a saída será verdadeira, independentemente da existência ou não da mul!plicação por 2. Assim, será apresentado na tela o valor 8, que é o valor da variável valorx. A afirma!va II está incorreta, pois o PHP é uma linguagem de programação que é executada do lado do servidor. Todas as requisições do cliente são enviadas para o servidor, lá são recebidas e processadas pelo PHP e devolvidas para o cliente. De outro modo, o JavaScript é uma linguagem de programação que é executada do lado do cliente. A afirma!va III está correta, pois o PHP é uma linguagem de programação que é executada do lado do servidor. Para que ela possa ser executada, é necessário que, no servidor, esteja instalado e em execução um servidor web que pode ser o APACHE ou o Microso# IIS, por exemplo. A afirma!va IV está incorreta, pois independentemente da existência da mul!plicação por 2, a saída será verdadeira e, consequentemente, toda a expressão será verdadeira. Pontuação do teste: 2,4 de 6 #Anterior Próximo$ Detalhes do envio: Tempo: 38 minutos Pontuação atual: 2,4 de 6 Pontuação man!da: 2,4 de 6 https://famonline.instructure.com/ https://famonline.instructure.com/courses/12502 https://famonline.instructure.com/courses/12502/announcements https://famonline.instructure.com/courses/12502/modules https://famonline.instructure.com/courses/12502/assignments https://famonline.instructure.com/courses/12502/grades https://famonline.instructure.com/courses/12502/discussion_topics https://famonline.instructure.com/courses/12502/conferences https://famonline.instructure.com/courses/12502/assignments/syllabus https://famonline.instructure.com/courses/12502/users
Compartilhar