Buscar

DESENVOLVIMENTO DE SOFTWARE PARA WE

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
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.
Resposta Selecionada:	
Correta II; IV; I; V; I; V.
Resposta Correta:	
Correta II; IV; I; V; I; V.
Feedback da resposta:	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 2
0 em 1 pontos
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.
Resposta Selecionada:	
Incorreta M; V; C; C.
Resposta Correta:	
Correta V; M; C; C.
Pergunta 3
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:	
Correta As afirmativas I e IV são verdadeiras.
Resposta Correta:	
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 4
0 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:	
Incorreta M; M; N; N.
Resposta Correta:	
Correta M; M; N; M.
Pergunta 5
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 serreunidos em uma classe abstrata, que incorpora as particularidades de todos os abrangidos.
 
Assinale a alternativa que contenha a sequência correta.
Resposta Selecionada:	
Correta IV; I; III; II.
Resposta Correta:	
Correta IV; I; III; II.
Feedback 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 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:	
Correta V; F; V; V.
Resposta Correta:	
Correta V; F; V; V.
Feedback 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
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:	
Correta As afirmativas II e III são verdadeiras.
Resposta Correta:	
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 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:	
Correta F; V; V; V.
Resposta Correta:	
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 9
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:	
Correta Pode-se usar os códigos numerados como I, II e IV.
Resposta Correta:	
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 10
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:	
Correta F; V; V; V.
Resposta Correta:	
Correta F; V; V; V.

Continue navegando