Ir ao conteúdo

Posts recomendados

Postado

 

Auxilio no exercicio em java Script

 

 

 

Olá pessoal ,estou aprendendo JV atualmente, e me deparei com o seguinte exercicio :

 

 

image.png.5ab96cb5b5c0e79426e5b74c26e2db8b.png

 

Mediante  a tabela acima :

 

Usando a tabela de tamanhos acima, crie uma série de expressões lógicas que  

imprime o tamanho de uma camiseta com base nas medidas de shirtWidth, shirtLength e shirtSleeve. Valores válidos incluem S, M, L, XL, 2XL, e 3XL.

Por exemplo, se..

 

var shirtWidth = 23; // size L , var shirtLength = 30; // size L , var shirtSleeve = 8.71; // size L 

então imprima L no console.

 

 

Dica: você vai precisar comparar um série de valores quando verificar shirtWidth, shirtLength e shirtSleeve. Por exemplo, se a largura da camiseta é pelo menos 20", mas não mais que 22", então a camiseta deve ser média (M) — contanto que haja uma correspondência com os outros valores para tamanho e manga da camiseta.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

E então, a partir do que é pedido no exercício fiz o seguinte código:


 

<

var shirtWidth = 28;
var shirtLength = 34;
var sirtSleeve = 10.13;



var S;
var M;
var L;
var doisXL = ("2XL");
var tresXL = ("3XL");




  if   (shirtWidth ===18 && shirtLength ===28  &&  shirtSleeve === 8.13){
        console.log('S');
       }else if (shirtWidth ===20 && shirtLength ===29  &&  shirtSleeve === 8.38){
             console.log('M');
           }else if (shirtWidth ===22 && shirtLength ===30  &&  shirtSleeve === 8.63){
               console.log('L');
                }else if (shirtWidth ===24 && shirtLength ===31  &&  shirtSleeve === 8.88){
                     console.log('XL');
                       }else if (shirtWidth ===26 && shirtLength ===33  &&  shirtSleeve === 9.63){
                          console.log('2XL');
                             }else if (shirtWidth ===28 && shirtLength ===34  &&  shirtSleeve === 10.13){
                              console.log('3XL');
 }

>

Quando chego nesse tópico não estou conseguindo achar uma maneira de comparar os valores para que quando dentro de uma condição tiver ao menos dois valores correspondentes a um tamanho de camiseta,ele validar algum tamanho que esteja dentro do mesmo.

 

"Dica: você vai precisar comparar um série de valores quando verificar shirtWidth, shirtLength e shirtSleeve. Por exemplo, se a largura da camiseta é pelo menos 20", mas não mais que 22", então a camiseta deve ser média (M) — contanto que haja uma correspondência com os outros valores para tamanho e manga da camiseta."

 

Me ajudem por favor ! 

Obrigado !

 

PS:Estou compilando pelo nevagador por isso as variáveis estão com valores acima :

<

"

var shirtWidth = 28;
var shirtLength = 34;
var sirtSleeve = 10.13;

"

>

 

 

 

 

 

  • Curtir 1
Postado

Olá!
Veja se isso te ajuda:

    // objeto com tabela de medidas
    var tabela_de_medidas = {
        "S": {
            "width": [18, 20],
            "length": [28, 29],
            "sleeve": [8.13, 8.38]
        },
        "M": {
            "width": [20.0, 22],
            "length": [29.0, 30],
            "sleeve": [8.38, 8.63]
        },
        "L": {
            "width": [22, 24],
            "length": [30, 31],
            "sleeve": [8.63, 8.88]
        },
        "XL": {
            "width": [24, 26],
            "length": [31, 33],
            "sleeve": [8.88, 9.63]
        },
        "2XL": {
            "width": [26, 28],
            "length": [33, 34],
            "sleeve": [9.63, 10.13]
        },
        "3XL": {
            "width": [28, 30],
            "length": [34, 36],
            "sleeve": [10.13, 10.63]
        }
    };

    var medidas = {
        "width": 18.3,
        "length": 34.1,
        "sleeve": 10.13,
    };

    // inicia um objeto para verificação:
    var verificador = {};

    // para cada tamanho em tabela_de_medidas
    for (size in tabela_de_medidas) {

        // para cada unidade de medida em tabela_de_medidas[size]
        for (unidade in tabela_de_medidas[size]) {
            // guarda o intervalo de medidas na variável intervalo
            var intervalo = tabela_de_medidas[size][unidade]

            // comparar se a unidade na variável medidas está dentro do intervalo
            if (medidas[unidade] >= intervalo[0] && medidas[unidade] < intervalo[1]) {
                verificador[unidade] = size;
                //console.log(unidade + ': ' + medidas[unidade] + ', tamanho: ' + size + ': [' + intervalo + ']');
            }
        }
    }

    // se o objeto verificador não estiver vazio
    if ((Object.keys(verificador).length)) {
        // se todos os valores forem iguais
        if (verificador.width == verificador.length == verificador.sleeve) {
            console.log('As medidas informadas se encaixam no intervalo de tamanho: ' + verificador.width);
            // se algum valor for diferente
        } else {
            console.log('As medidas informadas divergem da tabela de medidas existente, chefe: ', verificador);
        }
    } else {
        console.log('As medidas passadas não se encaixam em nenhuma bitola da tabela, chefe!');
    }

 

  • Curtir 2
Postado

Boa Tarde meu amigo podemos usar o E ( && ) como você esta usando ou o OU ( | )  e no if para verificar se é igual use o == :

EX:

if (shirtWidth ==  28 || 30 && shirtLength == 34 || 36 && shirtSleeve == 10.13 || 12.13){
  console.log("S")
}

Fica assim:

 

Se shirtWidth é igual a 28 ou 30 e shirtLength é igual a 34 ou 36 e shirtSleeve for igual a 10.13 ou 12.13 então enviei S para o console

 

e outra sua variável esta assim:

var sirtSleeve = 10.13;

e deveria ser assim:

var shirtSleeve = 10.13;

espero ter ajudado :)

 

  • Curtir 1
Postado
4 horas atrás, washalbano disse:

Olá!
Veja se isso te ajuda:


    // objeto com tabela de medidas
    var tabela_de_medidas = {
        "S": {
            "width": [18, 20],
            "length": [28, 29],
            "sleeve": [8.13, 8.38]
        },
        "M": {
            "width": [20.0, 22],
            "length": [29.0, 30],
            "sleeve": [8.38, 8.63]
        },
        "L": {
            "width": [22, 24],
            "length": [30, 31],
            "sleeve": [8.63, 8.88]
        },
        "XL": {
            "width": [24, 26],
            "length": [31, 33],
            "sleeve": [8.88, 9.63]
        },
        "2XL": {
            "width": [26, 28],
            "length": [33, 34],
            "sleeve": [9.63, 10.13]
        },
        "3XL": {
            "width": [28, 30],
            "length": [34, 36],
            "sleeve": [10.13, 10.63]
        }
    };

    var medidas = {
        "width": 18.3,
        "length": 34.1,
        "sleeve": 10.13,
    };

    // inicia um objeto para verificação:
    var verificador = {};

    // para cada tamanho em tabela_de_medidas
    for (size in tabela_de_medidas) {

        // para cada unidade de medida em tabela_de_medidas[size]
        for (unidade in tabela_de_medidas[size]) {
            // guarda o intervalo de medidas na variável intervalo
            var intervalo = tabela_de_medidas[size][unidade]

            // comparar se a unidade na variável medidas está dentro do intervalo
            if (medidas[unidade] >= intervalo[0] && medidas[unidade] < intervalo[1]) {
                verificador[unidade] = size;
                //console.log(unidade + ': ' + medidas[unidade] + ', tamanho: ' + size + ': [' + intervalo + ']');
            }
        }
    }

    // se o objeto verificador não estiver vazio
    if ((Object.keys(verificador).length)) {
        // se todos os valores forem iguais
        if (verificador.width == verificador.length == verificador.sleeve) {
            console.log('As medidas informadas se encaixam no intervalo de tamanho: ' + verificador.width);
            // se algum valor for diferente
        } else {
            console.log('As medidas informadas divergem da tabela de medidas existente, chefe: ', verificador);
        }
    } else {
        console.log('As medidas passadas não se encaixam em nenhuma bitola da tabela, chefe!');
    }

 

Muito obrigado pelo código,a única coisa que não entendi foi sua variável "unidade",tem como me explicar por favor .. 

Postado
10 horas atrás, Gesiel Souza disse:

a única coisa que não entendi foi sua variável "unidade"

Claro!
Cada medida pré-definida(s, m, l, ...) possui três variáveis de medida: width, length e sleeve
Tratei cada uma dessas como "unidade" por acreditar que seriam unidades de medida
mas acredito que provavelmente, talvez eu tenha dado uma interpretação equivocada da palavra.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!