From f9b1476ab73dc8bae6266ed9bc9ebae68c2125fe Mon Sep 17 00:00:00 2001 From: Luan Sousa <149454020+Luanhotlinebr@users.noreply.github.com> Date: Thu, 25 Dec 2025 11:53:06 -0300 Subject: [PATCH 1/4] so --- challenge-04/README.md | 67 +++++++++++++++++++++++++++++++++++------- 1 file changed, 57 insertions(+), 10 deletions(-) diff --git a/challenge-04/README.md b/challenge-04/README.md index ad0fb2f1b2..c0e589d448 100644 --- a/challenge-04/README.md +++ b/challenge-04/README.md @@ -7,15 +7,33 @@ um único parâmetro como argumento. Essa função deve retornar `true` se o equivalente booleano para o valor passado no argumento for `true`, ou `false` para o contrário. */ -? +var isTruthy = function (value){ +return !!value ? true : false; +} + // Invoque a função criada acima, passando todos os tipos de valores `falsy`. -? +isTruthy(null) // false +isTruthy(undefined) // false +isTruthy(NaN) // false +isTruthy(-0) // false +isTruthy(0) // false +isTruthy('') // false +isTruthy("") // false /* Invoque a função criada acima passando como parâmetro 10 valores `truthy`. */ -? +isTruthy(2.5) +isTruthy('ABC') +isTruthy("ABC") +isTruthy(function name(params) { +}) +isTruthy([]) +isTruthy({}) +isTruthy(true) +isTruthy(-1) +isTruthy(1) /* Declare uma variável chamada `carro`, atribuindo à ela um objeto com as @@ -29,35 +47,54 @@ seguintes propriedades (os valores devem ser do tipo mostrado abaixo): - `assentos` - Number - cinco por padrão - `quantidadePessoas` - Number - zero por padrão */ -? +var carro = { + marca:"BMW", + modelo:"X70", + placa:"OCS-2386", + ano:2020, + cor:"Verde Limão", + quantasPortas: 4, + assentos:5, + quantidadePessoas: 0 +} /* Crie um método chamado `mudarCor` que mude a cor do carro conforme a cor passado por parâmetro. */ -? +carro.mudaCor = function (novaCor){ + carr.cor = novaCor; +} /* Crie um método chamado `obterCor`, que retorne a cor do carro. */ -? +carro.obterCor = function(){ + return carro.cor; +} /* Crie um método chamado `obterModelo` que retorne o modelo do carro. */ -? +carro.obterModelo = function (){ + return carro.modelo; +} /* Crie um método chamado `obterMarca` que retorne a marca do carro. */ -? +carro.obterMarca = function(){ + return carro.marca; +} /* Crie um método chamado `obterMarcaModelo`, que retorne: "Esse carro é um [MARCA] [MODELO]" Para retornar os valores de marca e modelo, utilize os métodos criados. */ -? +carro.obterMarcaModelo= function(){ + return "Esse carro é um "+ carro.obterMarca() + " " + carro.obterModelo(); +} /* Crie um método que irá adicionar pessoas no carro. Esse método terá as @@ -75,7 +112,17 @@ mostrar quantos assentos ainda podem ser ocupados, com a frase: - Se couber somente mais uma pessoa, mostrar a palavra "pessoa" no retorno citado acima, no lugar de "pessoas". */ -? +carro.adicionarPessoas = function(pessoas){ + if(carro.quantidadePessoas === carro.assentos){ + return "O carro já está lotado!" + } + + if(pessoas.quantidadePessoas > carro.assentos){ + return "Só cabem mais "+carro.quantidadePessoas+" pessoas!" + } + carro.quantidadePessoas += pessoas; + return "Já temos "+carro.quantidadePessoas+" pessoas no carro!" +} /* Agora vamos verificar algumas informações do carro. Para as respostas abaixo, From d4592e99d4e34d4ba0dfb626e3309afe36e32885 Mon Sep 17 00:00:00 2001 From: Luan Sousa <149454020+Luanhotlinebr@users.noreply.github.com> Date: Fri, 26 Dec 2025 10:09:10 -0300 Subject: [PATCH 2/4] Refactor adicionarPessoas method for clarity --- challenge-04/README.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/challenge-04/README.md b/challenge-04/README.md index c0e589d448..39bd77b33a 100644 --- a/challenge-04/README.md +++ b/challenge-04/README.md @@ -112,17 +112,23 @@ mostrar quantos assentos ainda podem ser ocupados, com a frase: - Se couber somente mais uma pessoa, mostrar a palavra "pessoa" no retorno citado acima, no lugar de "pessoas". */ -carro.adicionarPessoas = function(pessoas){ - if(carro.quantidadePessoas === carro.assentos){ - return "O carro já está lotado!" +carro.adicionarPessoas = function (numeroPessoas) { + var totalPessoas = carro.quantidadePessoas + numeroPessoas; + if (carro.quantidadePessoas === carro.assentos) { + return "O carro já está lotado!"; + } + if (totalPessoas > carro.assentos) { + var quantasPessoasCabem = carro.assentos - carro.quantidadePessoas; + var maisUmaPessoa = "pessoas"; + if (quantasPessoasCabem === 1) { + maisUmaPessoa = "pessoa"; } + return "Só cabem mais " + quantasPessoasCabem + " " + maisUmaPessoa + " !"; + } + carro.quantidadePessoas += numeroPessoas; + return "Já temos " + carro.quantidadePessoas + " pessoas no carro!"; +}; - if(pessoas.quantidadePessoas > carro.assentos){ - return "Só cabem mais "+carro.quantidadePessoas+" pessoas!" - } - carro.quantidadePessoas += pessoas; - return "Já temos "+carro.quantidadePessoas+" pessoas no carro!" -} /* Agora vamos verificar algumas informações do carro. Para as respostas abaixo, From ad242c822c538729fe5137ae1ba273afb5056428 Mon Sep 17 00:00:00 2001 From: Luan Sousa <149454020+Luanhotlinebr@users.noreply.github.com> Date: Fri, 26 Dec 2025 10:26:33 -0300 Subject: [PATCH 3/4] Finishing solving exercise challenge-04 --- challenge-04/README.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/challenge-04/README.md b/challenge-04/README.md index 39bd77b33a..e73cbf1a5b 100644 --- a/challenge-04/README.md +++ b/challenge-04/README.md @@ -34,6 +34,7 @@ isTruthy({}) isTruthy(true) isTruthy(-1) isTruthy(1) +isTruthy("Ciranda Cirandinha") /* Declare uma variável chamada `carro`, atribuindo à ela um objeto com as @@ -63,7 +64,7 @@ Crie um método chamado `mudarCor` que mude a cor do carro conforme a cor passado por parâmetro. */ carro.mudaCor = function (novaCor){ - carr.cor = novaCor; + carro.cor = novaCor; } /* @@ -117,6 +118,7 @@ carro.adicionarPessoas = function (numeroPessoas) { if (carro.quantidadePessoas === carro.assentos) { return "O carro já está lotado!"; } + if (totalPessoas > carro.assentos) { var quantasPessoasCabem = carro.assentos - carro.quantidadePessoas; var maisUmaPessoa = "pessoas"; @@ -125,6 +127,7 @@ carro.adicionarPessoas = function (numeroPessoas) { } return "Só cabem mais " + quantasPessoasCabem + " " + maisUmaPessoa + " !"; } + carro.quantidadePessoas += numeroPessoas; return "Já temos " + carro.quantidadePessoas + " pessoas no carro!"; }; @@ -138,38 +141,38 @@ retornar algum valor. Qual a cor atual do carro? */ -? +carro.obterCor() // "Verde Limão" // Mude a cor do carro para vermelho. -? +carro.mudaCor("Vermelho") // undefined // E agora, qual a cor do carro? -? +carro.obterCor() // 'Vermelho' // Mude a cor do carro para verde musgo. -? +carro.mudaCor("verde musgo") // undefined // E agora, qual a cor do carro? -? +carro.obterCor() // 'verde musgo' // Qual a marca e modelo do carro? -? +carro.obterMarcaModelo() // 'Esse carro é um BMW X70' // Adicione 2 pessoas no carro. -? +carro.adicionarPessoas(2) // 'Já temos 2 pessoas no carro!' // Adicione mais 4 pessoas no carro. -? +carro.adicionarPessoas(4) // 'Só cabem mais 3 pessoas !' // Faça o carro encher. -? +carro.adicionarPessoas(3) // 'Já temos 5 pessoas no carro!' // Tire 4 pessoas do carro. -? +carro.quantidadePessoas = 1 // 1 // Adicione 10 pessoas no carro. -? +carro.adicionarPessoas(10) // 'Só cabem mais 4 pessoas !' // Quantas pessoas temos no carro? -? +carro.quantidadePessoas // 1 ``` From c3e0b61aca028298cb2e6ef43db5fa245dccb438 Mon Sep 17 00:00:00 2001 From: Luan Sousa <149454020+Luanhotlinebr@users.noreply.github.com> Date: Fri, 26 Dec 2025 12:25:44 -0300 Subject: [PATCH 4/4] Refactor person count message for clarity --- challenge-04/README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/challenge-04/README.md b/challenge-04/README.md index e73cbf1a5b..7669265e9a 100644 --- a/challenge-04/README.md +++ b/challenge-04/README.md @@ -113,26 +113,29 @@ mostrar quantos assentos ainda podem ser ocupados, com a frase: - Se couber somente mais uma pessoa, mostrar a palavra "pessoa" no retorno citado acima, no lugar de "pessoas". */ + carro.adicionarPessoas = function (numeroPessoas) { var totalPessoas = carro.quantidadePessoas + numeroPessoas; - if (carro.quantidadePessoas === carro.assentos) { + var quantasPessoasCabem = carro.assentos - carro.quantidadePessoas; + var pluralOuSingular = quantasPessoasCabem === 1 ? "pessoa" : "pessoas"; + + if ( + carro.quantidadePessoas === carro.assentos && + totalPessoas >= carro.assentos + ) { return "O carro já está lotado!"; } if (totalPessoas > carro.assentos) { - var quantasPessoasCabem = carro.assentos - carro.quantidadePessoas; - var maisUmaPessoa = "pessoas"; - if (quantasPessoasCabem === 1) { - maisUmaPessoa = "pessoa"; - } - return "Só cabem mais " + quantasPessoasCabem + " " + maisUmaPessoa + " !"; + return ( + "Só cabem mais " + quantasPessoasCabem + " " + pluralOuSingular + " !" + ); } carro.quantidadePessoas += numeroPessoas; return "Já temos " + carro.quantidadePessoas + " pessoas no carro!"; }; - /* Agora vamos verificar algumas informações do carro. Para as respostas abaixo, utilize sempre o formato de invocação do método (ou chamada da propriedade), @@ -168,7 +171,7 @@ carro.adicionarPessoas(4) // 'Só cabem mais 3 pessoas !' carro.adicionarPessoas(3) // 'Já temos 5 pessoas no carro!' // Tire 4 pessoas do carro. -carro.quantidadePessoas = 1 // 1 +carro.adicionarPessoas(-4) // 'Já temos 1 pessoas no carro!' // Adicione 10 pessoas no carro. carro.adicionarPessoas(10) // 'Só cabem mais 4 pessoas !'