Buscar

ATIVIDADE II - DESENVOLVIMENTO DE SOFTWARE PARA 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 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
É 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.
V; F; V; F.
F; V; V; F.
F; F; F; V.
V; F; F; V.
V; V; F; V.
1 pontos
PERGUNTA 2
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.
(Data Access Object) Permite um baixo acoplamento e uma simplificação em relação à
manutenção do sistema.
(Composite ) Pode ser usado em ambientes que permitam uma editoração gráfica, na qual
a figura consiste de uma árvore de objetos.
(Facade) Criar subcamadas do sistema, permitindo uma abstração em um nível acima.
(Applicability) 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.
III; I; IV; II.
II; I; III; IV.
IV; I; III; II.
IV; III; I; II.
I; IV; III; II.
1 pontos
PERGUNTA 3
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.
Apenas a afirmativa V é
verdadeira.
As afirmativas I e IV são
verdadeiras.
As afirmativas III e V são
verdadeiras.
As afirmativas I e III são
verdadeiras.
Apenas a afirmativa II é
verdadeira.
1 pontos
PERGUNTA 4
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.
III; II; I; IV
I; IV; II; III.
IV; I; III; II.
II; I; IV; III.
II; III; IV; I.
1 pontos
PERGUNTA 5
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.
F; V; V; F.
F; V; F; F.
V; F; V; F.
V; F; F; V.
F; V; V; V.
1 pontos
PERGUNTA 6
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 aalternativa correta.
As afirmativas III e IV são
verdadeiras.
Apenas a afirmativa I é verdadeira.
Apenas a afirmativa IV é
verdadeira.
As afirmativas II e III são
verdadeiras.
As afirmativas I e III são
verdadeiras.
1 pontos
PERGUNTA 7
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>
<form name="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.
III; V; VII; VIII; I.
IV; V; VIII; VII; I.
III; V; VIII; VII; II.
III; V; VII; VIII; II.
III; V; VIII; VII; I.
1 pontos
PERGUNTA 8
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 camadas funcionais. 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.
J; P; P; J.
J; P; J; P.
P; P; J; P.
P; J; J; P.
P; J; P; J.
1 pontos
PERGUNTA 9
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 II e IV são verdadeiras.
As afirmativas I, II, III e IV são
verdadeiras.
As afirmativas I e V são verdadeiras.
As afirmativas II e V são verdadeiras.
As afirmativas I e III são verdadeiras.
1 pontos
PERGUNTA 10
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 os códigos numerados como II e III.
Pode-se usar os códigos numerados como I, II e IV.
Pode-se usar os códigos numerados como I e III.
Pode-se usar apenas o código numerado como III.
– local correto, quando analisamos a afirmativa IV.
Pode-se usar apenas o código numerado como I.

Continue navegando