📚 Quer aprender JavaScript do zero ou é um desenvolvedor experiente e deseja aprimorar seu conhecimentos? ❤️ JavaScript: O Guia Definitivo: amzn.to/3wlNi2M 🚀 Estruturas de Dados e Algoritmos com JavaScript: amzn.to/3vhgp5P
Muito bom esse vídeo. Sei C e Python, e agora estou aprendendo Javascript. Em C a solução é muito mais fácil e exige menos conhecimento do que em Javascript. Muito interessante comparar a forma como as linguagens trabalham.
Exatamente!! Resolvi isso transformando todos os itens em Float (mesmo sabendo que os dois primeiros valores são inteiros) : lines.shift().split(' ').map(item => parseFloat(item)); Pra mim faz mais sentido calcular dois Numbers do que duas Strings.
Isabella, a operação só foi possível pq é uma multiplicação. Se você possui um número entre parênteses (string) e realiza uma operação de multiplicação, divisão ou subtração o javascript faz uma conversão implícita, tornando a operação possível. Eu só precisaria realizar a conversão se a operação fosse um soma, aí o javascript iria realizar uma contatenação. Dá uma olhadinha aqui: developer.mozilla.org/pt-BR/docs/Glossary/Type_Conversion ;)
oi Isabella, eu considero uma boa pratica fazer os tratamentos mesmo que o JS tenha essa flexibilidade, pois em uma aplicacao real essa flexibilidade se torna problematica
Essa ideia de desestruturação é algo que tive um pouco de dificuldade de entender como funciona, mas agora com um exemplo prático de aplicação ficou mais fácil de entender. Até tentei fazer essa de outra forma, mas o retorno deu como errada, acho que talvez porque eu não inseri as todas as entradas como id, quantidade e valor, mas sim só o valor, dei um jeito de fatiar com o slice e depois converter pra float, o resultado foi o mesmo, mas depois de ver o vídeo observei que o .shift foi usado diversas vezes, só então eu entendi que é um array dentro de outro array, se eu tiver entendido errado sobre ser um array dentro de outro indiretamente, aceito correção, vlw aí pela explicação da questão😁
estou tentando fazer todos os códigos com prompt pelo vscode, mas esse eu não consegui. Fiz uma função mas não sei se esta certa e fiquei na duvida do que colocar após cada vetor. function entrada(){ prompt("código da peça "); prompt("número de peças "); parseFloat(prompt("valor da peça ")); } var [codigo1, numPecas1, valor1] = var [codigo2, numPecas2, valor2] = var soma1 = numPecas1 * valor1; var soma2 = numPecas2 * valor2; var total = soma1 + soma2; console.log("VALOR A PAGAR: " + total.toFixed(2));
Boa, muito bem explicado. Seria uma má prática colocar o toFixed no cálculo da variável valorTotalCompra? "let valorTotalCompra = (valorTotalItem1 + valorTotalItem2).toFixed(2);"
Em operações de soma que o JavaScript concatena os valores, caso um dos valores seja do tipo string. Demais operações como multiplicar, dividir, subtrair a conversão do tipo é feita de forma implícita.
Nossa, man! Eu precisei ver só o comecinho do seu vídeo e fiquei inconformado porque eu estava pensando certo mas querendo fazer de outro jeito. Na parte do split eu tentei fazer direto, assim: var lines = input.split(' ').split(' '); mas não tava dando certo. Dai, antes de ver o seu vídeo eu tava tentando repetir o split embaixo assim: var lines = input.split(' ') , var lines = lines.split(' '). Mas tbm não ia. Enfim, quando vi que vc fazendo essa parte eu fiquei até contente pq eu estava meio que pensando certo né. No fim o meu ficou assim e foi aceito: var input = require('fs').readFileSync('stdin', 'utf8'); var lines = input.split(' '); var itens1 = lines.shift().split(' '); var itens2 = lines.shift().split(' '); var codPeca1 = parseInt(itens1.shift()); var numPecas1 = parseInt(itens1.shift()); var valorUnitarioPorPeca1 = parseFloat(itens1.shift()); var codPeca2 = parseInt(itens2.shift()); var numPecas2 = parseInt(itens2.shift()); var valorUnitarioPorPeca2 = parseFloat(itens2.shift()); var valorAPagar = ((numPecas1 * valorUnitarioPorPeca1) + (numPecas2 * valorUnitarioPorPeca2)); console.log("VALOR A PAGAR: " + "R$ " + valorAPagar.toFixed(2)); Cara, eu acho que tou pegando o jeito, sei lá. To feliz de estar conseguindo. Tbm estou fritando a cabeça para entender kkk
Boa, maninho, você está no caminho certo! Há diversas possibilidades de chegar na mesma solução, você fez certo em tentar resolver com conta própria e só depois buscar uma solução.
📚 Quer aprender JavaScript do zero ou é um desenvolvedor experiente e deseja aprimorar seu conhecimentos?
❤️ JavaScript: O Guia Definitivo: amzn.to/3wlNi2M
🚀 Estruturas de Dados e Algoritmos com JavaScript: amzn.to/3vhgp5P
Muito bom esse vídeo. Sei C e Python, e agora estou aprendendo Javascript. Em C a solução é muito mais fácil e exige menos conhecimento do que em Javascript. Muito interessante comparar a forma como as linguagens trabalham.
cara que vídeo bacana , bem explicativo e logico !
O que eu achei engraçado foi que ele fez a operação, mesmo sendo uma variável do tipo string, isso é novo para mim. Obrigada
Exatamente!!
Resolvi isso transformando todos os itens em Float (mesmo sabendo que os dois primeiros valores são inteiros) :
lines.shift().split(' ').map(item => parseFloat(item));
Pra mim faz mais sentido calcular dois Numbers do que duas Strings.
Isabella, a operação só foi possível pq é uma multiplicação. Se você possui um número entre parênteses (string) e realiza uma operação de multiplicação, divisão ou subtração o javascript faz uma conversão implícita, tornando a operação possível. Eu só precisaria realizar a conversão se a operação fosse um soma, aí o javascript iria realizar uma contatenação. Dá uma olhadinha aqui: developer.mozilla.org/pt-BR/docs/Glossary/Type_Conversion ;)
oi Isabella, eu considero uma boa pratica fazer os tratamentos mesmo que o JS tenha essa flexibilidade, pois em uma aplicacao real essa flexibilidade se torna problematica
Muito obrigado estava a horas preso nesse exercício! Mt bem explicado.
Valeu, Gustavo. ;)
Como se agregan/leen los valores del stdin que tenes a la derecha en el VSC? gracias
Acompanhe a Resolução de Exercícios pela Playlist: ruclips.net/video/IG-ihXkwjjA/видео.html
Caramba, que massa essa desestruturação, man. Vou refazer meu código desse jeito que vc ensinou. Muito obrigado por compartilhar seus vídeos.
Essa ideia de desestruturação é algo que tive um pouco de dificuldade de entender como funciona, mas agora com um exemplo prático de aplicação ficou mais fácil de entender. Até tentei fazer essa de outra forma, mas o retorno deu como errada, acho que talvez porque eu não inseri as todas as entradas como id, quantidade e valor, mas sim só o valor, dei um jeito de fatiar com o slice e depois converter pra float, o resultado foi o mesmo, mas depois de ver o vídeo observei que o .shift foi usado diversas vezes, só então eu entendi que é um array dentro de outro array, se eu tiver entendido errado sobre ser um array dentro de outro indiretamente, aceito correção, vlw aí pela explicação da questão😁
thank you ❤
Galera onde eu vejo a especificação do ECMA que é usada no BEECROWD? a plataforma aceita os ultimos recursos da linguagem JS?
estou tentando fazer todos os códigos com prompt pelo vscode, mas esse eu não consegui. Fiz uma função mas não sei se esta certa e fiquei na duvida do que colocar após cada vetor.
function entrada(){
prompt("código da peça ");
prompt("número de peças ");
parseFloat(prompt("valor da peça "));
}
var [codigo1, numPecas1, valor1] =
var [codigo2, numPecas2, valor2] =
var soma1 = numPecas1 * valor1;
var soma2 = numPecas2 * valor2;
var total = soma1 + soma2;
console.log("VALOR A PAGAR: " + total.toFixed(2));
Minha solução foi baseada nos primeiros do seu vídeo:
const array = lines.map((item=>{
return item.split(' ')
}))
const [prod1, prod2] = array.map((item)=>item)
const [cod1,qtdeCod1,priceCod1] = prod1.map((item)=>parseFloat(item))
const [cod2,qtdeProdCod2,priceCod2] = prod2.map((item)=>parseFloat(item))
const result = (qtdeCod1*priceCod1) + (qtdeProdCod2*priceCod2)
console.log('VALOR A PAGAR: R$ '+result.toFixed(2))
Muito boa tua solução, eu estava procurando algo assim com menos código! Parabéns
cara pq vc parou com java?
Boa, muito bem explicado. Seria uma má prática colocar o toFixed no cálculo da variável valorTotalCompra? "let valorTotalCompra = (valorTotalItem1 + valorTotalItem2).toFixed(2);"
Cara o interessante é que você não precisou fazer casting para converter para tipo numérico. Porque?
Em operações de soma que o JavaScript concatena os valores, caso um dos valores seja do tipo string. Demais operações como multiplicar, dividir, subtrair a conversão do tipo é feita de forma implícita.
Tentei resolver o problema sozinho só que em c ficou dando erro de apresentação, copiei o seu código e continua dando erro
Nossa, man! Eu precisei ver só o comecinho do seu vídeo e fiquei inconformado porque eu estava pensando certo mas querendo fazer de outro jeito. Na parte do split eu tentei fazer direto, assim: var lines = input.split('
').split(' '); mas não tava dando certo. Dai, antes de ver o seu vídeo eu tava tentando repetir o split embaixo assim: var lines = input.split(' ') , var lines = lines.split('
'). Mas tbm não ia. Enfim, quando vi que vc fazendo essa parte eu fiquei até contente pq eu estava meio que pensando certo né.
No fim o meu ficou assim e foi aceito:
var input = require('fs').readFileSync('stdin', 'utf8');
var lines = input.split('
');
var itens1 = lines.shift().split(' ');
var itens2 = lines.shift().split(' ');
var codPeca1 = parseInt(itens1.shift());
var numPecas1 = parseInt(itens1.shift());
var valorUnitarioPorPeca1 = parseFloat(itens1.shift());
var codPeca2 = parseInt(itens2.shift());
var numPecas2 = parseInt(itens2.shift());
var valorUnitarioPorPeca2 = parseFloat(itens2.shift());
var valorAPagar = ((numPecas1 * valorUnitarioPorPeca1) + (numPecas2 * valorUnitarioPorPeca2));
console.log("VALOR A PAGAR: " + "R$ " + valorAPagar.toFixed(2));
Cara, eu acho que tou pegando o jeito, sei lá. To feliz de estar conseguindo. Tbm estou fritando a cabeça para entender kkk
Boa, maninho, você está no caminho certo! Há diversas possibilidades de chegar na mesma solução, você fez certo em tentar resolver com conta própria e só depois buscar uma solução.
assisto teus vídeos só pela intro