Baixe o app para aproveitar ainda mais
Prévia do material em texto
11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 1/18 AO2 Entrega 12 de dez de 2022 em 23:59 Pontos 6 Perguntas 10 Disponível 1 de dez de 2022 em 0:00 - 12 de dez de 2022 em 23:59 Limite de tempo Nenhum Instruções Este teste não está mais disponível, pois o curso foi concluído. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 6 minutos 6 de 6 Pontuação deste teste: 6 de 6 Enviado 5 de dez de 2022 em 11:35 Esta tentativa levou 6 minutos. Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,6 / 0,6 ptsPergunta 1 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ística é 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: A+ A A- https://famonline.instructure.com/courses/24281/quizzes/110042/history?version=1 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 2/18 De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back-end, analise as afirmativas a seguir: I. As variáveis $nome e $senha recebem via método POST o conteúdo digitado respectivamente 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 autenticaçã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: I e III. Correto!Correto! III e IV. II e III. I e IV. II e IV. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 3/18 A afirmativa 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 afirmativa 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 afirmativa, 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 http. A afirmativa III está correta, pois a função header() possui dentro dela o caminho para o redirecionamento. Caso a autenticaçã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 autenticação (nome de usuário ou senha inválidos) o usuário será redirecionado para a página principal index.php. A afirmativa 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 autenticação, duas variáveis como $nome e $senha já satisfazem nas nossas necessidades. 0,6 / 0,6 ptsPergunta 2 Leia o texto a seguir: No MVC (Model-View-Controller), o aplicativo é separado em três partes principais: modelo, visão e controlador. Cada um deles é criado e processado para lidar com partes específicas do aplicativo. Deste modo, o MVC tornou-se um dos estilos de desenvolvimento da Web mais avançados para atender aos padrões de desenvolvimento modernos, permitindo a expansão e facilitando o desenvolvimento. Considerando essas informações e o conteúdo estudado sobre A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 4/18 o MVC, assinale a alternativa 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. Correto!Correto! A camada Model e a camada View trabalham em conjunto. Enquanto na camada Model é projetado layout, na camada View é colocado em prática aquilo que foi projetado (modelado) na camada Model. A principal característica da camada Controller é o fato de possuir duas ferramentas essenciais em um modelo web: banco de dados e um servidor web como Apache ou Microsoft IIS. 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 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+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 5/18 Alternativa correta. 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 3 Leia o texto a seguir: No node-red, além de programarmos utilizando o conceito de nós ou blocos, também podemos utilizar código em javascript. Para que isso seja possível, podemos utilizar o nó function, o qual aceita todos os tipos de operadores nativos de javascript. Enquanto os operadores aritméticos 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 obtido deste tipo de relacionamento será sempre um valor booleano do tipo 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 afirmativas a seguir: I. No comando (A<B && B!=A) teremos uma saída do tipo verdadeiro apresentada no navegador. II. No comando (A=B || B<>A) teremos uma saída do tipo verdadeiro apresentada no navegador. III. No comando ((NOT (A<B)) AND (A>B)) a saída será do tipo falso apresentada no navegador. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 6/18 IV. No comando (A=B XOR A>B) teremos uma saída do tipo verdadeiro apresentada no navegador. Estão corretas apenas as afirmativas: II e IV. Correto!Correto! I e II. I e IV. I e III. III e IV. Alternativa correta. A afirmativa 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 afirmativa II está correta, pois a condição para uma operação lógica ou (||) ter como saída o tipo falso, é que os dois valores comparados sejam do tipo falso. Os demais casos sempre nos trarão como saída o resultado como verdadeiro. A afirmativa 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 outraexpressã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 afirmativa IV está correta, pois o comando XOR só terá saída verdadeira quando as expressões forem do tipo 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 tipo verdadeiro. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 7/18 0,6 / 0,6 ptsPergunta 4 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 aplicativos para montar rapidamente fluxos de vários serviços. Veja um exemplo de fluxo node-red. Considerando as informações apresentadas, analise as afirmativas 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ó http 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 e III, apenas. Correto!Correto! I, apenas. II, apenas. I e II, apenas. II e III, apenas. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 8/18 Alternativa correta. A afirmativa 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 respectivos valores. A afirmativa II está incorreta, pois o nó verde apresentado na imagem é um nó de saída utilizado para depurar o fluxo e a saída dos nós que a ele estão conectados. A afirmativa 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,6 / 0,6 ptsPergunta 5 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 afirmativas a seguir: A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 9/18 I. O fluxo 2 representa a view alertando o controller sobre um evento em particular. 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 afirmativas: II e III, apenas. I e II, apenas. III, apenas. II, apenas. I e III, apenas. Correto!Correto! A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 10/18 Alternativa correta. A afirmativa 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 afirmativa 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 afirmativa 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 6 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. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 11/18 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 afirmativas 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 6, o correto seria utilizarmos o operador / (divisão) ao invés do símbolo % (de porcentagem). III. O comando da linha 12 irá destruir a sessão utilizando 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"])), garantindo assim que existe valor na sessão. Está correto apenas o que se afirma em: I e II. I e IV. Correto!Correto! I e III. II e IV. II e III. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 12/18 Alternativa correta. A afirmativa 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 utilizada foi “anoatual” e o valor foi um ano qualquer, por exemplo, poderia ter sido 2024. A alternativa II está incorreta pois, o operador aritmético de % (porcentagem), na linguagem PHP e em outras, é utilizado como módulo e o objetivo é 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 alternativa 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 continuará ativa. A afirmativa IV está correta pois, a função isset é utilizada 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 7 Leia o texto a seguir: Uma arquitetura de três camadas é composta por três camadas lógicas. Este tipo de arquitetura é frequentemente usado em aplicativos do tipo cliente-servidor. A arquitetura de três camadas oferece muitos benefí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, permitindo que elas atualizem uma parte específica de um aplicativo independentemente das outras partes. De acordo com essas informações e o conhecimento adquirido durante A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 13/18 seus estudos sobre programação back-end, analise as alternativasa seguir e marque a alternativa correta referente a arquitetura de três camadas: As camadas de aplicação e de dados estão no back-end, responsáveis respectivamente pela lógica do negócio bem e do armazenamento dos dados. Correto!Correto! A camada de dados, apesar de estar no back-end, também pode ser utilizada no front-end, a essa técnica chamamos de back-end reverso. A camada de aplicação consiste na interface do usuário, ou seja, o aplicativo que o usuário utiliza e também realiza interação. 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. 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 alternativa 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 aplicativo. É 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, Microsoft SQL Server, MongoDB etc. 0,6 / 0,6 ptsPergunta 8 A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 14/18 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 afirmativas 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 multiplicação a condição será verdadeira. Está correto apenas o que se afirma em: II e IV. II e III. I e II. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 15/18 I e III. Correto!Correto! III e IV. Alternativa correta. A afirmativa 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 multiplicação por 2. Assim, será apresentado na tela o valor 8, que é o valor da variável valorx. A afirmativa 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 afirmativa 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 Microsoft IIS, por exemplo. A afirmativa IV está incorreta, pois independentemente da existência da multiplicação por 2, a saída será verdadeira e, consequentemente, toda a expressão será verdadeira. 0,6 / 0,6 ptsPergunta 9 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 é identificado através de um número exclusivo chamado identificador 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. A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 16/18 De acordo com essas informações e o conhecimento adquirido durante seus estudos sobre programação back-end e linguagem PHP, analise as alternativas a seguir e marque a alternativa correta referente a “sessão”: 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. Correto!Correto! A matriz global $_GETSESSION[] pode armazenar todos os seus dados de sessão como pares de chave-valor. 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. A sessão é destruída utilizando a função $_sessiondestroy(ID), passando como argumento o ID (identificador) da sessão que deseja destruir. 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 alternativa está correta, pois, 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 10 A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 17/18 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ó Function: Considerando as informações apresentadas, assinale a opção correta: As variáveis numA e numB poderiam ser suprimidas e, ao invés de utilizar duas variáveis, poderíamos utilizar apenas uma variável recendo estes valores. A variável auxiliar aux recebe, na linha 5, o valor contido 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. Correto!Correto! A+ A A- 11/09/2023, 12:18 AO2: Programação Back-End https://famonline.instructure.com/courses/24281/quizzes/110042 18/18 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ó. A alternativa 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. Pontuação do teste: 6 de 6 A+ A A-
Compartilhar