Buscar

DESENVOLVIMENTO DE SOFTWARE PARA WEB - ATIVIDADE 02

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 13 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 13 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 9, do total de 13 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

Prévia do material em texto

• Pergunta 1 
1 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 
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. 
 
Resposta Selecionada: 
IV; I; III; II. 
Resposta Correta: 
IV; I; III; II. 
Comentário da 
resposta: 
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. 
 
 
• Pergunta 2 
1 em 1 pontos 
 
Na implementação de páginas web , uma das linguagens mais utilizadas é 
o PHP. Na filosofia em camadas, o PHP aparece na camada intermediária, 
ou seja, entre a camada de interfaceamento com o usuário e a camada que 
compreende as bases de dados. Analise as afirmações a seguir e assinale 
com “M” o que for motivo da adoção do PHP, e com “N”, caso contrário. 
 
(_) Suporta vários gerenciadores de bancos de dados, como por exemplo: 
MySQL, PostgresSQL e Sybase. 
(_) Tem suporte a diversos protocolos, tais como: LDAP, SNMP e SSH2. 
(_) Consegue interagir de forma muito eficiente com o HTML para validar 
campos do formulário. 
(_) Boa interatividade com o servidor APACHE. 
 
Assinale a opção que apresenta a sequência correta. 
 
Resposta Selecionada: 
M; M; N; M. 
Resposta Correta: 
M; M; N; M. 
Comentário 
da resposta: 
Resposta correta. Sua resposta foi acertada. O PHP, como 
linguagem de programação para implementar a camada 
intermediária, deve possuir boa interação com os gerenciadores 
de bancos de dados e com o próprio servidor de páginas. No caso, 
ele possui esses requisitos. Como base para a implementação da 
camada intermediária e não para a camada de interfaceamento 
com o usuário, ele (o PHP) não precisa ter requisitos que permita 
uma boa interação com o HTML. 
 
 
• Pergunta 3 
1 em 1 pontos 
 
Para essa questão, suponha a necessidade de realizar uma validação de 
um campo de formulário para que ele não assuma um valor superior a 10. 
Suponha, também, a lista de elementos da codificação abaixo enumerados: 
 
I. this 
II. alert 
III. <head> 
IV. onSubmit 
V. valor 
 
Dado o código abaixo, complete os espaços em branco com os elementos 
 
da codificação enumerados acima. 
 
<html> 
 ___ 
 <script> 
 function TestaValorMaximo(f) 
 { 
 if(f.___.value>10) 
 { 
 ___("Número digitado é maior do que 10."); 
 return false; 
 } 
 else 
 { 
 ___("Valor aceito."); 
 return true; 
 } 
 } //final TestaValorMaximo 
 </script> 
 </head> 
 <body> 
 <form name="form1" ___="return TestaValorMaximo(___)"> 
 <p>Valor: <input type="text" name="valor"></p> 
 <p><label><input type="submit" name="enviar" 
 value="Enviar"></label></p> 
 </form> 
 </body> 
</hmtl> 
 
Selecione a opção que tenha a sequência correta de preenchimento. 
Resposta Selecionada: 
III; V; II; II; IV; I. 
Resposta Correta: 
III; V; II; II; IV; I. 
Comentário 
da resposta: 
Resposta correta. Resposta correta. Você codificou corretamente 
a validação do campo do formulário. O script localiza-se dentro 
da área de cabeçalho. E, para deixar a validação com fraco 
acoplamento, foi passado o formulário por meio da referência “ 
this”, assim que houver o evento onSubmit. As janelas de aviso 
são abertas chamando-se o método “ alert”. 
 
 
• 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. 
Comentário 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 
 
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çõesa 
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. 
Comentário 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 6 
1 em 1 pontos 
 
Às vezes, por uma questão de praticidade ou de comodidade, 
desenvolvemos páginas em um ambiente diferente em relação ao de 
produção. Aquele que o sistema, em sua versão final, será implantado para 
ser operado. Analise as afirmativas a seguir e assinale com “V”, o que for 
verdadeiro e com “F”, o que for falso. 
 
(_) O desenvolvedor deve prestar atenção em diferenças dos ambientes 
Linux e Windows, como, por exemplo, realizar a verificação dos atributos 
de permissão de arquivos, mais rígidos no Linux. 
(_) Deve-se optar por desenvolver em um ambiente distinto em relação à 
produção para que se possa testar a compatibilidade do código. 
(_) Caso haja necessidade de desenvolver em uma máquina Windows, 
pode-se instalar uma máquina virtual Linux para que todo o trabalho seja 
desenvolvido para tal ambiente. 
(_) Apache e MySQL foram desenvolvidos nativamente para Linux. 
 
Assinale a opção correta. 
 
Resposta Selecionada: 
V; F; V; V. 
Resposta Correta: 
V; F; V; V. 
 
Comentário 
da resposta: 
Resposta correta. Sua resposta está correta. O desenvolvimento 
de páginas que envolvem PHP, Apache e MySQL serão melhor 
desenvolvidos e executados em ambientes dotados de Linux. É 
interessante que os ambientes (de desenvolvimento e de 
produção) sejam iguais, para se evitar possíveis comportamentos 
indesejados de processamento. 
 
• Pergunta 7 
1 em 1 pontos 
 
É comum incorporar à página HTML, código JavaScript para, dentre outras 
coisas, realizar validação dos campos do formulário. Uma outra utilização 
do JavaScript consiste na manipulação das folhas CSS, para que seja 
possível a construção de páginas responsivas. Dentre as afirmativas 
abaixo, assinale com “V”, o que for verdadeiro e, com “F”, o que for falso. 
 
(_) o código JavaScript deve estar localizado na área de cabeçalho da 
página, ou seja, dentro da região delimitada por <head> e </head>. 
(_) o nome do script 
JavaScript deverá ser referenciado por meio do parâmetro action da tag 
<form>. 
(_) a validação do formulário pode ocorrer somente quando o botão de 
submissão for pressionado pelo usuário. 
(_) a ativação de um script pode ser realizada também por meio de eventos 
tal como o onkeypress . 
 
Marque a alternativa que contenha a sequência correta. 
 
Resposta Selecionada: 
V; F; F; V. 
Resposta Correta: 
V; F; F; V. 
Comentário 
da resposta: 
Resposta correta. Sua resposta está correta. Validação de 
campos do formulário poderá ser realizada, tanto no 
momento de submissão, quanto na ocorrência de eventos, 
tais como o onkeypress e o onmouseover . Para tanto, o 
código de tratamento escrito em JavaScript deverá estar 
dentro da região de cabeçalho. Em relação ao action , não 
se deve confundir esse parâmetro com o onsubmit . O 
action serve para referenciar o script (por exemplo, escrito 
em PHP) que enviará os dados ao servidor e, o onsubmit 
serve para referenciar o script de validação. 
 
 
• Pergunta 8 
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. 
Comentário 
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 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. 
Comentário 
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 
1 em 1 pontos 
 
A validação de um campo pode ser realizada de duas maneiras: a verificação da 
estrutura e a verificação do valor. No caso, por exemplo, do CPF, a verificação da 
estrutura poderá ser realizada com a utilização de expressões regulares e, a 
verificação do valor, com codificação JavaScript direta. Para essa questão, suponha 
o código para a validação estrutural abaixo. 
 
<html> 
 <head> 
 <script language="JavaScript"> 
 function VerificarCPF(f) 
 { 
 var exp_regCPF = ___; 
 if(exp_regCPF.test(f.___.value)) 
 
 { 
 alert("___"); 
 return true; 
 } 
 else 
 { 
 alert("___"); 
 return true; 
 } 
 } 
 </script> 
 </head> 
 <body> 
 <formname="cadastro" method=”POST” 
 _1_="return VerificarCPF(this);"> 
 <p>Número do CPF: <input type="text" name="cpf"></p> 
 <p><label><input type="submit" name="Verificar" 
 value="Verificar"></label></p> 
 </form> 
 </body> 
</html> 
 
Preencha os campos em aberto escolhendo itens da lista a seguir. 
 
I. onSubmit 
II. action 
III. /^\d{3}\.\d{3}\.\d{3}\-\d{2}$/ 
IV. /^\d{0-9}\.\d{0-9}\.\d{0-9}\-\d{0-9}$/ 
V. cpf 
VI. cadastro 
VII. CPF não válido 
VIII. CPF válido 
 
Assinale a alternativa que contém a sequência correta. 
Resposta Selecionada: 
 III; V; VIII; VII; I. 
Resposta Correta: 
 III; V; VIII; VII; I. 
Comentário 
da resposta: 
Resposta correta. Sua resposta está correta. Você acertou a 
expressão regular observando os campos que representam valores 
e aqueles que representam a quantidade de ocorrências. Além 
disso, fez uso do método test de forma apropriada e acertou 
quando usar o action e quando usar o onSubmit.

Outros materiais