Prévia do material em texto
Prova final Desenvolvimento em Javascript
Acertos 9 de 10
Nota 45 pontos
Correção da prova
Questão 1
Respondida
Antes de existir dispositivos Android ou iPhone, os desktops foram alvo de batalha no
que ficou conhecido como “Guerras dos navegadores”. A batalha envolveu bilhões de
dólares investidos por várias empresas, especialmente a Microsoft e Netscape, e o
resultado dessa disputa culminou numa padronização para o desenvolvimento de
conteúdos web e melhoria na velocidade de processamento dos dados.
Com base no apresentado e nos conhecimentos adquiridos, assinale a alternativa correta:
• Com o resultado dessa disputa surgiu a HTML, que consiste em uma árvore de
elementos que deve ser acessada através da linguagem universal
• Com o resultado dessa disputa surgiu a javascript, que consiste em uma árvore
de elementos para desenvolvimentos de documentos html que deve ser acessada
através da linguagem universal
• Com o resultado dessa disputa surgiu o DOM, que consiste em uma linguagem de
marcação que deve ser acessada através da estrutura
• Com o resultado dessa disputa surgiu a javascript, que consiste em uma
linguagem de programação universal para desenvolvimento de documentos html
estruturados pelo DOM.
• Com o resultado dessa disputa surgiu a HTML, que consiste em uma linguagem
de marcação para desenvolvimento de documentos XML através das interfaces de
programação de aplicativos.
Sua resposta
Com o resultado dessa disputa surgiu a javascript, que consiste em uma linguagem de
programação universal para desenvolvimento de documentos html estruturados pelo
DOM.
Alternativa correta
Questão 2
Respondida
Observe o código a seguir:
a = 3
b = 2
console.log(a < b)
console.log(a % 2 == 1)
console.log(a < b || a % 2 == 1)
console.log(a < b && a % 2 == 1)
Este código apresenta uma série de expressões lógicas impressas na tela por meio do
comando console.log(). Uma expressão lógica pode ter duas opções de saída: true
(verdadeiro) ou false (falso).
Corresponde à saída deste código:
• false true true false
• true true true false
• false true true true
• false true false false
• false false true false
Sua resposta
false true true false
Alternativa correta: false true true false - console.log(a < b) -> falso porque a vale 3
e b vale 2 - console.log(a % 2 == 1) -> verdadeiro pois a é um número ímpar -
console.log(a < b || a % 2 == 1) -> verdadeiro pois a segunda expressão é verdadeira e
foi usado o operador OR - console.log(a < b && a % 2 == 1) -> falso pois a primeira
expressão é falsa e foi usado o operador AND
Questão 3
Respondida
Avalie a seguinte situação:
No ensino regular obrigatório, estudantes devem atender a certas faixas etárias para cursar
cada nível educacional. Na teoria, os alunos devem ter as seguintes idades para atenderem
a cada nível educacional:
- Pré-escola: de 4 a menos do que 6 anos
- Ensino fundamental: de 6 a menos do que 15 anos
- Ensino médio: de 15 a menos do que 18 anos
Qual condicional pode ser usada para representar alunos do ensino fundamental?
• if(idade >= 6 && idade < 15)
• if(idade > 6 && idade < 15)
• if(idade >= 6 && idade <= 15)
• if(idade > 6 && idade > 15)
• if(idade > 6 && idade <= 15)
Sua resposta
if(idade >= 6 && idade < 15)
Resposta correta: if(idade >= 6 && idade < 15) O texto afirma que deve ir “de 6 a
menos do que 15 anos”, logo deve-se considerar o valor 6 (ou seja, >= 6) e deve ser
menor que 15 (logo, idade < 15). INCORRETAS: - if(idade > 6 && idade < 15) ->
INCORRETA pois idade deve ser >= 6 - if(idade >= 6 && idade <= 15) ->
INCORRETA pois idade deve ser < 15 - if(idade > 6 && idade > 15) -> INCORRETA
pois idade deve ser >= 6 e < 15 - if(idade > 6 && idade <= 15) -> INCORRETA pois
idade deve ser >= 6 e < 15
Questão 4
Respondida
Em linguagens de programação, tipos de dados correspondem às especificações de
informações armazenadas em variáveis. JavaScript é considerada uma linguagem de
tipagem dinâmica, ou seja, o tipo do dado é identificado com base na informação passada
na declaração ou atribuição da variável.
Corresponde a uma variável que recebe um tipo de dado booleano:
• var x = 0
• var x = true
• var x = “False”
• var x = “Bool”
• var x = NaN
Sua resposta
var x = true
Resposta correta: var x = true O valor true (verdadeiro) indica que é uma variável
booleana. Quanto às alternativas incorretas: var x = 0 – variável numérica var x =
“False” - string var x = “Bool” - string var x = NaN - NaN (Not-A-Number) é uma
propriedade do objeto global.
Questão 5
Respondida
Os iteradores for e while podem ser usados para repetir um bloco de código por um
conjunto de itens pré-selecionados e enquanto uma condição for verdadeira,
respectivamente.
Os códigos a seguir tem a mesma função: imprimem uma lista de números de 0 a 4:
for(x = 0; x < 5; x++){
console.log(x);
}
while(x > 5){
console.log(x);
x++;
}
Entretanto, ao executar o código acima, apenas o laço for funcionou.
Qual alternativa indica o possível motivo para isso ter acontecido?
• O laço while não pode ser executado após o laço for.
• O laço while apresenta um erro que gera ao loop infinito.
• JavaScript impede que dois códigos iguais sejam executados em seguida.
• O laço for tem prioridade sobre while.
• A condição do laço while não era verdadeira.
Sua resposta
A condição do laço while não era verdadeira.
Resposta correta: A condição do laço while não era verdadeira. Isso ocorre pois o
laço “for” percorre os valores de 0 a 4 e termina com x igual a 5. Quando "while" vai
ser executado, a condição não é mais válida, pois x > 5 é falso, logo nada será
impresso. INCORRETAS: O laço while não pode ser executado após o laço for.
INCORRETO pois não há limitações para o uso de laços em sequência. O laço while
apresenta um erro que gera ao loop infinito. INCORRETO pois a variável é
incrementada dentro do laço while. JavaScript impede que dois códigos iguais sejam
executados em seguida. INCORRETO pois não existe tal limitação. O laço for tem
prioridade sobre while. INCORRETO pois não há regra definindo prioridades de laços.
Questão 6
Sem resposta
O DOM é uma interface de programação de aplicativos padronizada que atua na
estruturação de implementações WEB. Por meio da linguagem de marcação HTML,
XML ou XHTML, o DOM organiza e estrutura os elementos na página em forma de nós.
Uma aplicação web, no entanto, é muito mais que textos estruturados e ordenação. É
também interesse visual e apresentações convidativas para a interação com o usuário.
Para sanar essa necessidade, criou-se o:
• API DOM, que se trata de um conjunto de métodos e propriedades que permitem
integrar extensões gráficas da WEB.
• CSS ou Cascading Style Sheet de modo literal quer dizer folhas de estilo em
cascata. Esse nome se dá por ter surgido como um importante recurso no
desenvolvimento WEB para colaborar com a estética das aplicações.
• Python e Javascript, e sua utilização na construção de uma aplicação WEB é feita
no próprio arquivo de documento HTML ou um arquivo XML, sendo encarregado
das funções de design e layout da página.
• CSS ou Cascading Style Sheet, que recebe o nome de cascata por consistir em um
diagrama de árvore de objetos organizada em forma hierárquica de seus
elementos.
• Script, que através da tag pode-se acessar o código que irá dar a estilização no
próprio arquivo do documento.
Sua resposta
CSS ou Cascading Style Sheet de modo literal quer dizer folhas de estilo em cascata.
Esse nome se dá por ter surgido como um importante recurso no desenvolvimento WEB
para colaborar com a estética das aplicações.
Resposta correta
Questão 7
Sem resposta
Em JavaScript, comandos condicionais alteram o fluxo do código, verificandose uma
condição é válida antes de executar um bloco de código.
Analise o código a seguir:
1. x = 5
2. y = 2
3.
4. if((x < y)||(y % 2 == 1)){
5. console.log("x é maior do que y OU x é um número ímpar")
6. }
Sobre o código acima, qual alternativa melhor explica um dos motivos a mensagem da
linha 5 ser executada ou não:
• O código será executado, pois x é maior do que y.
• O código será executado, pois x é um número ímpar.
• O código não será executado, pois y não é um número ímpar.
• O código não será executado, pois y é maior do que x.
• O código será executado, pois foi usado o condicional OR.
Sua resposta
O código não será executado, pois y não é um número ímpar.
Resposta: O código não será executado, pois y não é um número ímpar. Nesse
caso, vemos uma condicional avaliando se x é menor que y (falso) ou y é ímpar (falso),
logo o código não será executado. INCORRETAS: O código será executado, pois x
é maior do que y. FALSO, pois essa condição não é avaliada. O código será executado,
pois x é um número ímpar. FALSO, condição não avaliada. O código não será
executado, pois y é maior do que x. FALSO, x é maior que y. O código será executado,
pois foi usado o condicional OR. FALSO, apesar de usar OR, as duas condições são
falsas (0 or 0 == 0).
Questão 8
Sem resposta
“O JavaScript é uma linguagem simples e despretensiosa que tem seus dedos em cada
canto de sua vida. Desligue o JavaScript em seu navegador e veja o quanto da web não
funciona mais. Não importa como ou onde você use a internet, a codificação de Brendan
Eich é o sprint mais importante da história da computação. Você não tem que gostar de
JavaScript, mas se você ganha a vida desenvolvendo para a web, você tem que aprender.”
- Doug Tidwell, programador sênior na IBM.
Com base no assunto, avalie as afirmações a seguir:
I – Antigamente, era preciso considerar qual navegador tinha compatibilidade com a
aplicação WEB que iria utilizar, até que surgiu o javascript como uma unificação de
linguagem para desenvolvimento web em documentos HTML, XML e XHTML.
II - O DOM surgiu como uma organização acessada apenas através da javascript para
representação estruturada da página web de um navegador, ou seja, para que se possa
acessar e interagir com objetos em documentos HTML, XHTML e XML.
III - Por meio da linguagem de marcação HTML, o DOM organiza e estrutura os
elementos na página, e para a construção da imagem visual das aplicações criou-se o CSS.
É correto o que se afirma:
• Apenas em II
• Apenas em I e II
• Em I, II e III
• Apenas em I e III
• Apenas em III
Sua resposta
Apenas em I e III
Alternativa correta
Questão 9
Sem resposta
JavaScript é uma linguagem de programação usada em aplicações web. Pode-se dizer que
JavaScript é utilizada em conjunto com as linguagens HTML (Linguagem de Marcação
de HiperTexto) e CSS (Folhas de Estilo em Cascata) para o desenvolvimento de websites
e outros tipos de aplicações web (FLANAGAN, 2011).
São características da linguagem JavaScript:
• É uma linguagem de scripts, interpretada, com tipagem dinâmica e fraca, mas sem
suporte a orientação a objetos.
• Sua sintaxe é baseada na linguagem de programação Java, tendo sido
desenvolvida em colaboração com a Sun Microsystems.
• Pode ser executada tanto em client-side por meio de navegadores quanto em
server-side por meio de aplicações como o Node.js.
• JavaScript foi criado pela ECMA (European Computer Manufacturers
Association), empresa privada responsável pelo navegador Firefox.
• Não possui suporte para operar usando HTML, sendo consideradas linguagens
concorrentes no desenvolvimento web.
Sua resposta
Pode ser executada tanto em client-side por meio de navegadores quanto em server-side
por meio de aplicações como o Node.js.
Resposta correta: Pode ser executada tanto em client-side por meio de
navegadores quanto em server-side por meio de aplicações como o
Node.js. Quanto às alternativas incorretas: - É uma linguagem de scripts,
interpretada, com tipagem dinâmica e fraca, mas sem suporte a orientação a objetos:
INCORRETA pois JavaScript possui suporte a orientação a objetos. - Sua sintaxe é
baseada na linguagem de programação Java, tendo sido desenvolvida em colaboração
com a Sun Microsystems: INCORRETA pois Java e JavaScript são linguagens distintas,
e a escolha do nome se deu pela popularidade do Java. - JavaScript foi criado pela
ECMA (European Computer Manufacturers Association), uma empresa privada
responsável pelo navegador Firefox: INCORRETA pois JavaScript foi criada pela
Netscape. O padrão ECMAScript foi especificado pela ECMA. - Não possui suporte
para operar usando HTML, sendo consideradas linguagens concorrentes no
desenvolvimento web: INCORRETA pois scripts podem ser incorporados por meio da
tag .
Questão 10
Sem resposta
Observe o código abaixo:
x = true
y = false
if(x&&y){
console.log(1)
}
else if(!(x)||y){
console.log(2)
}
else if(x&&!(y)){
console.log(3)
}
else if(x||y){
console.log(4)
}
else{
console.log(5)
}
A seguir, responda:
O que será impresso na tela?
• 1
• 2
• 3
• 4
• 5
Sua resposta
2
Resposta: será impresso 3. Isso ocorre, pois, a negação inverte o valor de y, e como
os dois são verdadeiros o resultado será verdadeiro. INCORRETAS: - if(x&&y){
=> falso pois y é false. - else if(!(x)||y){ => falso pois inverte o valor de x de true para
false. - else if(x||y){ => verdadeiro, mas como a condição else if anterior foi executada
primeiro, esta não será executada: - else{ => falso pois uma condição else if anterior
foi executada.