Logo Passei Direto
Buscar

Aula 7 - Objetos Nativos do JavaScript

User badge image
Leonardo Lima

em

Ferramentas de estudo

Questões resolvidas

Os objetos nativos estão presentes diretamente na linguagem JS, oferecendo funções e constantes de grande utilidade para o programador.
A respeito desses objetos, assinale a alternativa verdadeira:
A. Servem de base para os demais objetos do código.
B. Não podem ser alterados.
C. Não são definidos pela implementação da linguagem.
D. Servem de base para os demais objetos do código.

Nem todos os objetos nativos apresentam construtores ou propriedades acessíveis.
Qual das alternativas a seguir representa um código válido na manipulação de objetos nativos?
A. new Math()
B. Math.sqrt()
C. new Date()
D. new Date(86400)

Um aplicativo é utilizado para calcular a quantidade de telhas necessárias para cobrir um telhado a partir dos dados de largura (L) e comprimento (C) da área a ser coberta, o grau de inclinação (I) recomendado para a telha e a quantidade de telhas por m² (T).
A quantidade de telhas pode ser determinada pela fórmula:
A. const quantidade = (Math.sqrt(Math.pow(C, 2) + Math.pow(I*C, 2))*L)/T
B. const quantidade = (C * I * L) / T
C. const quantidade = (Math.sqrt(C * I) * L) / T
D. const quantidade = (Math.pow(C, 2) + Math.pow(I, 2)) / T

Um site deve fazer a simulação de um investimento e, para tanto, precisa calcular a quantidade de dias entre as datas de aplicação e resgate.
Assinale a alternativa que permite obter, a partir de dois objetos Date, data1 e data2, a quantidade de dias entre eles.
A. (data1 - data2) / 86400000
B. (data1.getDate() - data2.getDate())
C. (data1.getTime() - data2.getTime()) / 86400000
D. (data1.getTime() - data2.getTime())

Utilizando a fórmula de juro composto: Qual dos algoritmos abaixo consegue extrair os valores necessários do texto a seguir e calcular o valor final de investimento?
"Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013 e resgatado no dia 13/10/2018"
A. let texto = 'Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013 e resgatado no dia 13/10/2018'
B. let texto = 'Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013'
C. let texto = 'R$ 1.000,00 0,14% 25/12/2013 13/10/2018'
D. let texto = 'Investimento de R$ 1.000,00 com juro de 0,14% ao dia'

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Os objetos nativos estão presentes diretamente na linguagem JS, oferecendo funções e constantes de grande utilidade para o programador.
A respeito desses objetos, assinale a alternativa verdadeira:
A. Servem de base para os demais objetos do código.
B. Não podem ser alterados.
C. Não são definidos pela implementação da linguagem.
D. Servem de base para os demais objetos do código.

Nem todos os objetos nativos apresentam construtores ou propriedades acessíveis.
Qual das alternativas a seguir representa um código válido na manipulação de objetos nativos?
A. new Math()
B. Math.sqrt()
C. new Date()
D. new Date(86400)

Um aplicativo é utilizado para calcular a quantidade de telhas necessárias para cobrir um telhado a partir dos dados de largura (L) e comprimento (C) da área a ser coberta, o grau de inclinação (I) recomendado para a telha e a quantidade de telhas por m² (T).
A quantidade de telhas pode ser determinada pela fórmula:
A. const quantidade = (Math.sqrt(Math.pow(C, 2) + Math.pow(I*C, 2))*L)/T
B. const quantidade = (C * I * L) / T
C. const quantidade = (Math.sqrt(C * I) * L) / T
D. const quantidade = (Math.pow(C, 2) + Math.pow(I, 2)) / T

Um site deve fazer a simulação de um investimento e, para tanto, precisa calcular a quantidade de dias entre as datas de aplicação e resgate.
Assinale a alternativa que permite obter, a partir de dois objetos Date, data1 e data2, a quantidade de dias entre eles.
A. (data1 - data2) / 86400000
B. (data1.getDate() - data2.getDate())
C. (data1.getTime() - data2.getTime()) / 86400000
D. (data1.getTime() - data2.getTime())

Utilizando a fórmula de juro composto: Qual dos algoritmos abaixo consegue extrair os valores necessários do texto a seguir e calcular o valor final de investimento?
"Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013 e resgatado no dia 13/10/2018"
A. let texto = 'Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013 e resgatado no dia 13/10/2018'
B. let texto = 'Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/12/2013'
C. let texto = 'R$ 1.000,00 0,14% 25/12/2013 13/10/2018'
D. let texto = 'Investimento de R$ 1.000,00 com juro de 0,14% ao dia'

Prévia do material em texto

Aula 7 - Objetos Nativos do JavaScript 
 
1. Os objetos nativos estão presentes diretamente na linguagem JS, oferecendo 
funções e constantes de grande utilidade para o programador. A respeito desses 
objetos, assinale a alternativa verdadeira: 
 
Resposta: D. Servem de base para os demais objetos do código. 
 
Justificativa: Alguns objetos nativos não apresentam construtores, como é o caso do 
objeto global e do Math; entretanto, o RegExp e tantos outros apresentam. Apesar de 
ser arriscado alterar um objeto nativo, qualquer objeto que não esteja selado pode ser 
alterado. 
Esses objetos são definidos pela implementação da linguagem. Novos objetos podem 
ser definidos a cada nova publicação do padrão ECMAScript e servem de base aos 
demais, até porque entre os objetos fundamentais consta o próprio Object. 
 
2. Nem todos os objetos nativos apresentam construtores ou propriedades 
acessíveis. Qual das alternativas a seguir representa um código válido na 
manipulação de objetos nativos? 
 
Resposta: D. new Date(86400) 
 
Justificativa: O objeto Math não apresenta construtor. 
A propriedade é parte do objeto Math, e não de um método ou função. 
Os valores de data e hora do objeto Date não são acessíveis por meio de 
propriedades. 
Uma nova data pode ser criada utilizando-se o construtor do objeto Date e um 
parâmetro numérico indicando os milissegundos desde o dia 01/01/1970. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://ultra.content.blackboardcdn.com/ultra/uiv3900.74.0-rel.25_afc4ff2
3. Um aplicativo é utilizado para calcular a quantidade de telhas necessárias para 
cobrir um telhado a partir dos dados de largura (L) e comprimento (C) da área a 
ser coberta, o grau de inclinação (I) recomendado para a telha e a quantidade de 
telhas por m² (T). A quantidade de telhas pode ser determinada pela fórmula: 
 
 
 
Resposta:A. const quantidade = (Math.sqrt(Mat.pow(C, 2) + Math.pow(I*C, 2))*L)/T 
 
Justificativa: Todos os métodos e funções utilizam parênteses para delimitar a 
passagem de parâmetros, não sendo válidos { } nem [ ]. 
Exponenciações só são possíveis por meio da função Math.pow(x, y), cujo primeiro 
parâmetro corresponde à base, e o segundo, ao expoente. 
O "." em JavaScript serve para acessar as propriedades e os métodos de um objeto, e 
as multiplicações são feitas pelo operador "*". 
Não existe um método de divisão no objeto Math, mas um operador próprio para isso: 
"/". 
São necessários os recursos de raiz quadrada (Math.sqrt()) e 
exponenciação (Math.pow) para executar a operação, seguindo a mesma ordem em 
que aparecem: primeiro a soma das exponenciações, depois a raiz, a multiplicação e, 
por fim, a divisão. 
 
 
 
 
 
 
 
 
 
 
4. Um site deve fazer a simulação de um investimento e, para tanto, precisa calcular 
a quantidade de dias entre as datas de aplicação e resgate. Assinale a alternativa 
que permite obter, a partir de dois objetos Date, data1 e data2, a quantidade de 
dias entre eles. 
 
Resposta: E. (data1.getTime() - data2.getTime())/86400000 
 
Justificativa: Não se pode subtrair objetos, tampouco o objeto nativo Date apresenta 
um método chamado Subtract. 
getDate() retorna apenas o dia do mês e não poderá ser usada na subtração entre 
meses diferentes. 
O método getTime() retorna o tempo em milissegundos de ambas as datas, e, como 
cada dia tem 86.400.000 milissegundos, pode-se descobrir a diferença entre datas em 
milissegundos e dividir por esse valor para se obter a quantidade de dias. 
 
5. Utilizando a fórmula de juro composto: 
Qual dos algoritmos abaixo consegue extrair os valores necessários do texto a 
seguir e calcular o valor final de investimento? 
"Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 
25/12/2013 e resgatado no dia 13/10/2018" 
 
Resposta: A. 
let texto = 'Valor inicial de R$ 1.000,00 aplicado a 0,14% de juro ao dia no dia 25/1
2/2013 e resgatado no dia 13/10/2018' 
 
const regex_Valor = /R$[\s]+?((\d{1,3}|(\d{1,3}([.]\d{3})+)),\d\d)/gm 
const regex_Taxa = /[\s]+?((\d{1,3}|(\d{1,3}([.]\d{3})+)),\d\d)\%/gm 
const regex_Data = /[\s]+?(\d\d)\/(\d\d)\/(\d\d\d\d)/gm 
 
let ValorInicial = Number.parseFloat((regex_Valor.exec(texto)[1]) 
 .replace('.', '').replace(',', '.')) 
let Taxa = Number.parseFloat((regex_Taxa.exec(texto)[1]) 
 .replace('.', '').replace(',', '.')) 
 
let res_data1 = regex_Data.exec(texto) 
let res_data2 = regex_Data.exec(texto) 
 
let data1 = new Date(res_data1[3], res_data1[2], res_data1[1]) 
let data2 = new Date(res_data2[3], res_data2[2], res_data2[1]) 
 
let dias = (Math.abs(Math.floor((data2.getTime() - data1.getTime())/86400000))) 
 
let ValorFinal = ValorInicial*Math.pow((1 + Taxa/100), dias) 
 
console.log(`${ValorFinal.toFixed(2)}`) 
 
 
Justificativa: 
Os valores de Inicial e Taxa devem ser convertidos para números de ponto flutuante e, 
para tanto, devem ter os caracteres "." eliminados e "," substituídos por ".". 
Os grupos especificados em RegExp aparecem a partir do segundo elemento 
do Array, sendo o primeiro reservado para o padrão completo. 
O método que retorna o Array de uma varredura com expressão regular é o exec(), e 
não o método test(), que retorna true ou false. 
 
Os valores podem ser encontrados de diversas maneiras, criando-se expressões 
regulares separadas para cada valor buscado ou agrupando-se todas as expressões 
em uma única. No primeiro caso, a expressão criada para identificar datas deve ser 
global e ser executada duas vezes, uma para cada data; no segundo caso, a 
expressão deverá conter o padrão para as datas duas vezes, conforme a sequência. 
Os valores encontrados devem ser preparados substituindo-se caracteres "." e "," 
conforme o padrão aceito pelo método Number.parseFloat() para convertê-los para 
ponto flutuante, que pode ser executado de forma explícita ou pelo interpretador ao 
tentar efetuar uma operação matemática com uma string. 
Deve-se tomar o cuidado para referenciar os índices que dizem respeito ao grupo que 
não inclui os caracteres "R$" ou "%", pois, nesse caso, o resultado será NaN. 
As datas são inicializadas usando-se os grupos definidos do RegExp para dia, mês e 
ano, subtraídos os valores em milissegundos por meio do método getTime(), e 
convertidas para dias ao se dividir pelo valor em milissegundos de um dia. Vale lembrar 
que um dia é um valor inteiro; logo, deve-se arredondar para baixo (Math.floor), e o 
resultado deverá ser positivo independentemente de qual data foi obtida primeiro 
(Math.abs()). O cálculo efetuado manualmente não atinge o mesmo resultado por 
desconsiderar principalmente as variações em anos bissextos e a precisão dos dias de 
cada mês, sendo mais prático utilizar a solução de obtenção dos milissegundos 
disponível no objeto Date. 
Por fim, o método Math.pow() faz a exponenciação do cálculo conforme a fórmula 
dada.

Mais conteúdos dessa disciplina