Baixe o app para aproveitar ainda mais
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.
Compartilhar