Buscar

ATV2_WEB

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

Revisar envio do teste: ATIVIDADE 2 (A2) 
Teste ATIVIDADE 2 (A2) 
Status Completada 
Resultado da tentativa 9 em 10 pontos 
 
 
• Pergunta 1 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
F; V; V; V. 
Resposta Correta: 
F; V; V; V. 
Feedback 
da resposta: 
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 2 
1 em 1 pontos 
 
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 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. 
 
Resposta Selecionada: 
II; III; IV; I. 
 
Resposta Correta: 
II; III; IV; I. 
Feedback 
da resposta: 
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 3 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
As afirmativas II e III são verdadeiras. 
Resposta Correta: 
As afirmativas II e III são verdadeiras. 
Feedback da 
resposta: 
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 4 
1 em 1 pontos 
 
 
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: 
 
 
 
<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... 
 
 </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. 
 
Resposta Selecionada: 
 III; V; I; II. 
Resposta Correta: 
 III; V; I; II. 
Feedback da 
resposta: 
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 5 
1 em 1 pontos 
 
Páginas responsivas poderão ser construídas por meio da combinação de scripts JavaScript com as folhas de 
estilo CSS. Uma das formas é adicionar ou retirar regras CSS. Porém, quando se codifica páginas, sempre há 
uma preocupação frente à versão ou ao tipo de navegador que o usuário poderá usar para abrir as referidas 
páginas. Para essa questão, analise os elementos de codificação que poderão ser usados em suas páginas. 
 
I. if(obj.addRule) {obj.addRule(seletorCSS,defEstilo, índice);} 
 else {obj.insertRule(seletorCSS,defEstilo, índice);} 
II. $(document).ready(function(){ código para verificar o tipo do 
 
 ambiente para, depois, manipular CSS }); 
III. var v = document.createElement(“style”); 
 body.appendChild(v); 
IV. var v = document.createElement(“style”); 
 head.appendChild(v); 
 
Marque a opção correta. 
Resposta Selecionada: 
Pode-se usar os códigos numerados como I, II e IV. 
Resposta Correta: 
Pode-se usar os códigos numerados como I, II e IV. 
Feedback 
da resposta: 
Resposta correta. Sua resposta está correta. A afirmação I codifica a adição de 
uma regra CSS. Porém, dependendo do navegador, é implementado o método 
“addRule” ou “insertRule”. Sendo assim, há um teste para verificar se o método 
“addRule” existe.Na codificação da afirmação II, as alterações de CSS é realizada 
apenas após o teste de verificação de ambiente. Por fim, no código da afirmação 
III, existe um erro no local da inserção. Na verdade, deveria ser head.appendchild() 
 
 
• Pergunta 6 
1 em 1 pontos 
 
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étodos acelera e freia. 
II. A nova versão implementaria uma nova classe do tipo veículo , que contém os métodos acelera 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. 
 
Resposta Selecionada: 
As afirmativas I e III são verdadeiras. 
Resposta Correta: 
As afirmativas I e III são verdadeiras. 
Feedback da 
resposta: 
Resposta correta. Você assinalou a alternativa correta. O padrão strategy sempre 
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 7 
1 em 1 pontos 
 
Temos inúmeros padrões de projeto que podemos aplicar no desenvolvimento de nossas páginas, dentre os 
quais, podemos mencionar o padrão GOF e o padrão MVC. Analise as afirmações abaixo, classificando-as como 
“V”, se forem verdadeiras, ou “F”, se forem falsas. 
 
(_) O padrão GOF é mais restritiva, ou seja, analisa um aspecto em específico. 
(_) O padrão GOF contempla três grupos: criação; estrutural e comportamental. 
(_) O padrão GOF é o preferido para a implementação de páginas. 
(_) O padrão MVC é totalmente divergente em relação ao GOF. 
 
Assinale a alternativa que que apresenta a sequência correta. 
 
Resposta Selecionada: 
F; V; V; F. 
Resposta Correta: 
F; V; V; F. 
Feedback da 
resposta: 
Resposta correta. Resposta correta. Realmente o padrão MVC é o preferido para a 
implementação das páginas, pois realiza a abstração do sistema sob vários pontos 
de vista. Essa decomposição funcional e estrutural, utilizando elementos do GOF, 
permite que os vários aspectos demandados pelas páginas possam ser supridos. 
 
 
• Pergunta 8 
1 em 1 pontos 
 
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;} 
} 
 
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. 
Resposta Selecionada: 
As afirmativas I e IV são verdadeiras. 
Resposta Correta: 
As afirmativas I e IV são verdadeiras. 
Feedback da 
resposta: 
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 
1 em 1 pontos 
 
À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. 
 
(_) 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. 
 
Resposta Selecionada: 
F; V; V; V. 
Resposta Correta: 
F; V; V; V. 
Feedback 
da resposta: 
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 10 
0 em 1 pontos 
 
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ões existentes, 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: 
 
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 relacionamentoentre 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. 
Resposta 
Selecionada: 
 
III; I; IV; II. 
 
 
 
 
Resposta 
Correta: 
 
IV; I; III; II. 
Comentários da 
Resposta: 
Respostas incorretas. Sua resposta está incorreta. Para essa questão, dê 
atenção aos nomes e à própria descrição do padrão. A seguir, tente imaginar, 
no cenário da aplicação, as funcionalidades do padrão.

Continue navegando