Buscar

Desenvolvimento Web (Atividade 2)

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

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

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
Você viu 3, do total de 8 páginas

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

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

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
Você viu 6, do total de 8 páginas

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

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

28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 1/8
Pergunta 1
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
Várias páginas oferecem a possibilidade de interação com o usuário por meio de formulários. Para um
processamento correto, as informações fornecidas devem ser validadas, para que possam ser
processadas no servidor. Considerando isso, analise as afirmações a seguir. 
 
I. Em um modelo de III camadas, a validação do formulário deve ocorrer na camada I, tanto em
relação à estrutura, quanto em relação à regra de negócio.
II. A validação de estrutura deve ocorrer na camada I e a validação em relação às regras de negócio
na camada II.
III. É comum usar, para a validação em relação à estrutura, JavaScript e, para as regras de negócio,
comumente usa-se PHP.
IV. Toda validação é realizada na camada II, aplicando-se funções escritas em PHP.
 
A partir das observações realizadas, marque a alternativa correta.
As afirmativas II e III são verdadeiras.
As afirmativas II e III são verdadeiras.
Resposta correta. Sua resposta está correta. Realmente, para uma melhor
estruturação, aproveitamento dos recursos (tanto de processamento, quanto de
comunicação), divide-se o sistema em camadas. A camada I, mais próxima ao
usuário, é responsável pela interatividade. Dessa forma, encontramos nela, os
formulários. Sendo assim, a parte da estrutura das informações fornecidas deverá
ser tratada nesta camada. Por outro lado, as regras de negócio são específicas a cada
aplicação. Desta forma, a validação e o processamento inerente às regras de negócio
fazem parte da camada II.
Pergunta 2
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
Suponha que você tenha que implementar um projeto que relaciona a classe pessoa 
(que contém o método locomover ) a três tipos de veículos: carro (métodos acelera e freia), bicicleta
(métodos pedala e freia ) e moto (métodos acelera 
e freia ). Para melhorar o projeto, pode-se, por exemplo, adotar o padrão strategy . Para essa
questão, suponha as afirmativas abaixo.
 
I. A nova versão implementaria uma interface do tipo veículo , que contém os métodosacelera e freia. 
II. A nova versão implementaria uma nova classe do tipo veículo , que contém os
métodosacelera e freia. 
III. Na nova versão, as classes carro , bicicleta e moto 
implementariam a interface veículo. 
IV. Na nova versão, as classes carro , bicicleta e moto fariam parte da composição da classe veículo .
V. Na nova versão, as classes carro , bicicleta e moto fariam um relacionamento de cardinalidade 1:1
para a interface veículo. 
 
Assinale a alternativa correta.
As afirmativas I e III são verdadeiras.
As afirmativas I e III são verdadeiras.
Resposta correta. Você assinalou a alternativa correta. O padrão strategysempre
implicará em criação de uma interface para que haja apenas um ponto de
relacionamento entre o agente e os métodos relativos às classes aglutinadas pela
interface.
Pergunta 3
Muito se fala em aplicar padrões de projeto ( design pattern ) para o desenvolvimento de sistemas
computacionais, dentre os quais encontram-se as páginas web . Para essa questão, considere as
1 em 1 pontos
1 em 1 pontos
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 2/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
afirmativas abaixo.
 
I. Possibilidade de reutilização de código, ou seja, usar componentes já utilizados em outros projetos;
II. Decomposição do sistema em camadas funcionais;
III. Separação de partes dependentes daquelas independentes do ambiente no qual o sistema será
executado.
IV. Possibilidade de uma documentação mais completa e concisa.
 
Associe as afirmativas acima com as possíveis consequências:
(_) melhor abstração do sistema, deixando-o mais legível para a codificação, depuração, correção e
manutenção;
(_) maior facilidade para a portabilidade dos sistemas para outros ambientes computacionais;
(_) facilitar o diálogo entre as equipes que atuarão no desenvolvimento do projeto;
(_) diminuição do tempo gasto para a implementação do sistema, acarretando, consequentemente,
diminuição dos gastos.
 
Assinale a opção que contenha a sequência correta de relações entre as afirmativas e as
consequências.
II; III; IV; I.
II; III; IV; I.
Resposta correta. Sua resposta está correta. Realmente a adoção de padrões de
projeto acarretam em vários benefícios, tais como: benefícios em prol da diminuição
dos custos, melhor manutenibilidade, mais praticidade para a portabilidade do
sistema para outros ambientes. Um fator que não podemos deixar de citar é a
documentação que os padrões produzem, propiciando trabalhos futuros mais
profícuos, não somente em relação ao próprio projeto, como também em projetos
futuros, que poderão ser espelhados além de que, uma boa documentação facilita a
interação entre os diversos membros e grupos que atuarão no desenvolvimento do
projeto.
Pergunta 4
Expressões regulares são extremamente úteis para a validação dos campos do formulário pois elas
atuam na verificação da estrutura da informação fornecida pelo usuário. Para essa questão, considere
o código a seguir.
 
<html>
 <head>
 < script 
language="JavaScript">
 function ExibirBandeiraCC(f)
 {
 var exp_regVISA = ___ ;
 var exp_regMASTER = ___ ;
 if(exp_regVISA. ___ (f. ___ .value))
 {
 alert("O cartão digitado é VISA");
 return true;
 }
 if(exp_regMASTER. ___ (f. ___ .value))
 { 
 alert("O cartão digitado é MASTER");
 return true;
 }
 alert("Cartão não é VISA e nem MASTER");
 return true;
 }
 </script>
 </head>
 <body>
 <form name="Num_CC" method=”POST”
 onSubmit="return ExibirBandeiraCC(this);">
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 3/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
 <p>Número do CC: <input type="text" name="cc"></p>
 <p><label><input type="submit" name="Verificar"
 value="Verificar"></label></p>
 </form>
 </body>
</html>
 
Considerando que cartões VISA sempre são iniciados pelo dígito 4 e os cartões MASTER são
iniciados com o valor 5 e o segundo dígito varia entre os valores 1 e 5
A partir destas observações, preencha os campos em aberto escolhendo itens da lista a seguir:
 
I. test
II. /^4[0-9]{12,15}$/
III. /^5[0-9]{12,15}$/
IV. /^5[1-5]{1}[0-9]{14}$/
V. cc
VI. NumCC 
 
Assinale a alternativa que contém a sequência correta.
II; IV; I; V; I; V.
II; IV; I; V; I; V.
Resposta correta. Sua resposta está correta. Realmente você percebeu bem a
formação da expressão regular, principalmente do cartão MASTER. Você selecionou
corretamente o método test, que faz a verificação com base da expressão regular.
Por fim, você associou corretamente o nome do campo do formulário.
Pergunta 5
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
O padrão MVC é um dos mais utilizados no mundo do desenvolvimento de páginas por contemplar um
nível de abstração mais amplo. Para tanto, ele contempla três camadas: a camada de modelo, a
camada de visão e a camada controladora. Dadas as funcionalidades abaixo, relacione com as
camadas atribuindo os valores “M”, “V” e “C”, respectivamente.
 
(_) Conhecida como “ client-side ”.
(_) Gerencia as demais outras camadas.
(_) Trata as regras de negócio.
(_) Determina qual modelo será aplicado e qual forma de visão será passada ao usuário.
(_) Utiliza HTML e/ou XML.
(_) Notifica as outras duas camadas na ocorrência de alterações.
 
Assinale a alternativa que contém a sequência correta.
V; C; M; C; V; M.
V; C; M; C; V; M.
Resposta correta. Sua resposta está correta. O padrão MVC apresenta a possibilidade
de tornar o sistema altamente dinâmico. A camada de controle é capaz de decidir
quais serão as regras de negócio que a camadade modelo deverá executar e qual
será a visão que o usuário deve ter em um certo momento. A ação da camada de
controle é dinâmica, para tal, ela recebe notificações sobre possíveis alterações
inerentes à camada de negócio. A camada de visão tem a função de manipular
elementos relacionados aos aspectos visuais e de interação com o usuário. Para
tanto, manipula codificação em HTML e/ou XML.
Pergunta 6
Às vezes, programar diretamente usando JavaScript, principalmente quando temos que manipular
CSS torna-se uma tarefa árdua. Sem contar pelo fato de que o JavaScript pode ter problemas de
compatibilidade entre os navegadores. Diante destes e outros motivos, surgiu a biblioteca JQuery.
Analisando as afirmativas a seguir, assinale com “V”, o que for verdadeiro e com “F”, o que for falso. 
1 em 1 pontos
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 4/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
 
(_) Pelo fato de ser inserida uma camada a mais (representada pelo JQuery), o tempo de
processamento foi aumentado em demasia – não compensando o uso de JQuery.
(_) O JQuery substituiu, com grande vantagem, as animações em Flash.
(_) O JQuery, em relação ao lado do programador, fez com que fossem economizadas várias linhas de
código.
(_) O JQuery mantém compatibilidade com diversos tipos e versões de navegadores.
 
Assinale a opção que contenha a sequência que você julgue como sendo a correta.
F; V; V; V.
F; V; V; V.
Resposta correta. Sua resposta está correta. O JQuery é uma biblioteca pequena que
não introduziu atrasos significativos e nem consumo excessivo extra de memória
para o seu processamento. Substituiu o Flash e consegue ter uma
compatibilidade cross-browser (entre navegadores).
Pergunta 7
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
Para o envio das informações fornecidas pelo usuário por meio dos campos do formulário, pode-se
contar com dois métodos: o método POST e o GET. O uso do método é especificado no argumento
“ method ” da tag <form>. Para essa questão, analise as afirmações a seguir, associando o valor “V”,
para o que for verdadeiro e, o valor “F”, para o que for falso.
 
(_) A coleta do valor deve ser realizada por meio de uma função específica, da seguinte forma: var v =
getDataForm(método, nome_campo); No caso, o método passado como argumento diferenciará entre
“POST” e “GET”.
(_) Para coletar a informação, basta acessar a variável “$_GET” ou “$_POST”, referenciando o nome
do campo do formulário da seguinte forma, por exemplo, para acessar um campo denominado
“telefone” do formulário: var v = $_POST(“telefone”).
(_) É possível passar, ao servidor, informações ocultas ao usuário por meio de campos com atributo
“ hidden ” ao parâmetro type .
(_) Pode-se usar diretamente os nomes dos campos definidos na criação do formulário, porém, para
isso, é aconselhável usar, antes, o método import_request_variables().
 
Assinale a opção que contenha a sequência correta.
F; V; V; V.
F; V; V; V.
Resposta correta. Sua resposta está correta. Realmente a coleta dos valores do
formulário poderá ser feita de duas formas: utiliza-se as variáveis super globais
“$_POST” ou “$_GET” ou, ainda, pode-se utilizar as variáveis que o desenvolvedor
atribuiu aos campos do formulário. Porém, neste último caso, deve-se sincronizar as
variáveis pelo uso do método import_request_variables() ou garantindo-se que a
diretiva do PHP “register_globals” esteja setada.
Pergunta 8
Dentro da programação, independentemente de ser a codificação de um sistema baseado em
páginas web ou não, temos sempre a preocupação de sua escalabilidade. Por exemplo, vamos supor
que temos a necessidade de criar uma página para e-commerce e que são estabelecidos descontos
diferenciados para cada tipo de forma de pagamento. Suponha que um programador fez uma primeira
versão da seguinte forma (código em PHP):
 
public function retornaDesconto($formaPG,$valor_compra)
{
 if($formaPG==”Boleto”) {return $valor_compra*0.9;}
 else if($formaPG==”Debito”) {return $valor_compra*0.95;}
 else {return $valor_compra;}
}
1 em 1 pontos
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 5/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
 
Na implementação acima, temos o inconveniente de que, quando houver a necessidade de adicionar
mais uma forma de pagamento, deveremos adicionar mais uma estrutura do tipo “else if... else”.
Diante da situação, foram apresentadas algumas soluções:
 
Solução 1: criar uma classe para cada tipo de forma de pagamento. Todas as classes teriam um
método para retornar o valor com desconto – o nome e a lista de parâmetros seriam os mesmos para
todas as classes. Por exemplo, para a classe boleto, a implementação seria:
 
 class Boleto
 {
 public function ValorComDesconto($valor_compra)
 {
 return $valor_compra*0.9;
 }
 }
 
Solução 2: criar uma interface na qual todas as classes devem implementá-la. Assim, a solução ficaria:
 
interface formaPG 
 {
 public function ValorComDesconto($valor_compra);
 }
 
class Boleto implements formaPG
 {
 public function ValorComDesconto($valor_compra)
 {
 return $valor_compra*0.9;
 }
 }
 
Diante dessas duas versões de implementação, analise as afirmações a seguir. 
 
I. Não implementaria a “solução I” pois, assim que for determinado o tipo de pagamento, para criar um
objeto relativo à classe pertinente deve-se fazer uma estrutura de “if...else if...”
II. Implementaria ambas as soluções, pois ambas apresentam as mesmas vantagens e desvantagens.
III. Não implementaria a “solução II” pois as classes ficariam não flexíveis, ou seja, todas deveriam
seguir o mesmo padrão, o que dificultaria a reutilização do código.
IV. Implementaria a “solução II”, pois a modificação do código para inserir ou retirar uma forma de
pagamento, ficaria mais ágil e fácil de ser realizada.
V. Implementaria a “solução I”, pois é mais fácil de entender.
 
Diante das afirmações acima, selecione a opção correta.
As afirmativas I e IV são verdadeiras.
As afirmativas I e IV são verdadeiras.
Resposta correta. Sua resposta está correta. A “solução 2” representa um padrão
chamado de Strategy (estratégia). É um dos padrões GOF usados para a linha
comportamental do sistema.
Pergunta 9
Em algumas páginas, após um tempo de inatividade, surgem alguns elementos como, por
exemplo, a abertura de uma janela de chat oferendo ajuda para navegar na página. Para essa
questão, suponha o código a seguir, para implementar esse recurso do chat:
 
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 6/8
<html>
  <head>
    <title>Inicia Página</title>
    <script language="JavaScript">
      function IniciaPagina()
        {
          ___(___, 1000);
        }
 
     function AbreChat()
       {
          //aqui conteria o código do chat...
       }
    </script>
  </head>
  <body ___="___()">
     Restante da página...
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 7/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
  </body>
</html>
 
Preencha os espaços com os elementos abaixo enumerados.
 
I. onload
II. IniciaPagina
III. setTimeout
IV.  setInterval
V. AbreChat
 
Assinale a opção que contenha a sequência correta.
 III; V; I; II.
 III; V; I; II.
Resposta correta. Sua resposta está correta. Para eventos que ocorram apenas uma
vez, usa-se o setTimeout. Por outro lado, para eventos periódicos e cíclicos, usa-se o
método setInterval.
Pergunta 10
Padrões de projeto tem o objetivo de auxiliar o processo de projeto e implementação de sistemas
computacionais, dentre os quais podemos relacionar as páginas web . Dentre os padrõesexistentes,
podemos citar o GOF que consiste de uma coleção de padrões classificados em padrões de criação,
padrões estruturais e padrões comportamentais. Muitos destes padrões compõem, ainda, o padrão
MVC. Para essa questão, encontramos, abaixo, uma definição sumária de quatro destes padrões:
 
1 em 1 pontos
28/09/2020 Blackboard Learn
https://fadergs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller# 8/8
Resposta Selecionada:  
Resposta Correta:  
Feedback
da
resposta:
I. Composite : permite a composição de objetos estabelecendo-se uma árvore de hierarquia e
relacionamentos entre objetos que compõem a estrutura.
II. Applicability : independentemente da estrutura do objeto, todos os objetos de uma estrutura são
tratados de forma uniforme, desprezando-se as diferenças entre eles.
III. Facade : esse padrão objetiva a construção de uma interface unificada para a integração de um
conjunto de interfaces.
IV. Data Access Object : realiza a mediação entre a aplicação propriamente dita e a base de dados.
 
Dados os exemplos de uso, numere-os de forma a estabelecer um relacionamento entre os padrões
apresentados acima e os exemplos de uso.
 
(_) Permite um baixo acoplamento e uma simplificação em relação à manutenção do sistema.
(_) Pode ser usado em ambientes que permitam uma editoração gráfica, na qual a figura consiste de
uma árvore de objetos.
(_) Criar subcamadas do sistema, permitindo uma abstração em um nível acima. 
(_) Em um editor gráfico, todos os objetos gráficos, independentemente de suas composições, podem
ser reunidos em uma classe abstrata, que incorpora as particularidades de todos os abrangidos.
 
Assinale a alternativa que contenha a sequência correta.
IV; I; III; II.
IV; I; III; II.
Resposta correta. Sua resposta está correta. Temos vários padrões envolvendo a
criação de páginas. Cada padrão cobre um aspecto específico em relação à estrutura,
comportamento e de visão.

Outros materiais