Buscar

AO2 Prova_ Programação Back-End (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais