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 9 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 9 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 9 páginas

Prévia do material em texto

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. 
• Pode-se usar apenas o código numerado como I. 
• Pode-se usar os códigos numerados como II e III. 
• Pode-se usar os códigos numerados como I, II e IV. 
• Pode-se usar apenas o código numerado como III. 
• 
– local correto, quando analisamos a afirmativa IV. 
• Pode-se usar os códigos numerados como I e III. 
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() 
 
 
 
 
 
 
 
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);"> 
 <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; III; I; V; I; VI. 
• II; IV; III; V; III; V. 
• II; III; I; V; I; V. 
• II; IV; I; V; I; VI. 
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. 
 
 
 
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. 
 
• IV; II; I; V. 
• III; II; I; V. 
• IV; V; I; II. 
• I; V; III; 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. 
 
 
À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. 
 
• V; V; V; F. 
• F; V; V; V. 
• V; V; F; V. 
• F; V; V; F. 
• F; F; 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). 
 
 
 
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. 
 
• V; F; V; F. 
• V; F; V; V. 
• F; V; V; V. 
• F; V; V; F. 
• V; F; F; F. 
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. 
 
 
Sabe-se que para a codificação de uma página, pode-se utilizar, além do HTML, 
linguagens de programação, tais como JavaScript e o PHP. Sabe-se, também, que o 
desenvolvimento da página pode ser estruturado em camadasfuncionais. Para essa 
questão, dadas as afirmativas a seguir, assinale com “J”, a afirmativa que se relaciona 
com o JavaScript, e com “P”, a que se relaciona com o PHP. 
 
(_) Está mais associada com a parte de regras de negócio, interfaceando a camada de 
interação com o usuário, com a camada de armazenamento persistente (bancos de 
dados). 
(_) Relaciona-se mais com a camada de interface com o usuário pois, com ela, pode-
se fazer, por exemplo, validação de formulário de forma mais fácil. 
(_) Em um formulário, o seu código é referenciado no parâmetro “onSubmit”. 
(_) Em um formulário, o seu código é referenciado no parâmetro “action”. 
 
Assinale a opção que contenha a sequência correta. 
 
• P; J; P; J. 
• J; P; P; J. 
• J; P; J; P. 
• P; J; J; P. 
• P; P; J; P. 
Resposta correta. Você acertou. Realmente a JavaScript é mais associada com a 
parte da interface com o usuário, permitindo, por exemplo, a validação dos campos 
do formulário e a criação de páginas responsivas. Por outro lado, o PHP está 
relacionado mais na camada de processamento propriamente dito, ou seja, manipula 
as regras de negócio. 
 
 
 
Padrões de projeto auxiliam a implementação de páginas web, pois permitem vários 
níveis de abstrações em suas diversas funcionalidades e demandas. Dentre os vários 
padrões existentes atualmente, destaca-se o GOF que, na verdade, é constituído por 
diversos padrões classificados em três classes: padrões de criação, padrões 
estruturais e padrões comportamentais. Além do GOF, existe o MVC - padrão 
preferido para a implementação de páginas. Em sua estruturação, o MVC é constituído 
por três camadas: camada de visão, camada de modelo e camada de controle. Tais 
camadas incorporam diversos padrões GOF. Dados os padrões a seguir, classifique-
os identificando com “M”, se ele integrar a camada de modelo; com “V”, caso ele seja 
implementado na camada de visão e; com “C”, se ele estiver presente na camada de 
controle. 
 
(_) composite 
(_) observer 
(_) strategy 
(_) factory 
 
Assinale a alternativa que corresponda à sequência correta. 
 
• C; M; C; V. 
• V; M; C; C. 
• M; C; V; C. 
• V; C; M; V. 
• M; V; C; C. 
Resposta correta. Sua resposta está correta. O “ composite” oferece recursos para a 
“composição visual”. A camada de modelo, uma vez que deve informar às demais as 
modificações, deve implementar a estratégia “ observer”. Por fim, a camada de 
controle deve ter regras para controlar as outras duas camadas. Como exemplo de 
tais regras, temos o “ strategy” e o “ factory”. 
 
 
 
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. 
• As afirmativas I e III são verdadeiras. 
• As afirmativas I, II, III e IV são verdadeiras. 
• As afirmativas II e V são verdadeiras. 
• As afirmativas II e IV são verdadeiras. 
• As afirmativas I e V são verdadeiras. 
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. 
 
À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. 
 
• F; F; V; F. 
• V; F; V; F. 
• F; F; V; V. 
• V; F; V; V. 
• V; F; F; V. 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
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. 
 
• V; F; V; F. 
• F; V; V; V. 
• F; V; V; F. 
• V; F; F; V. 
• F; V; F; F. 
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.

Continue navegando