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