diff --git a/challenge-03/README.md b/challenge-03/README.md index f7cd9a74e0..e735a1ba0d 100644 --- a/challenge-03/README.md +++ b/challenge-03/README.md @@ -2,7 +2,7 @@ ```js // Declarar uma variável qualquer, que receba um objeto vazio. -? +var objeto = {}; /* Declarar uma variável `pessoa`, que receba suas informações pessoais. @@ -16,14 +16,25 @@ As propriedades e tipos de valores para cada propriedade desse objeto devem ser: - `andando` - Boolean - recebe "falso" por padrão - `caminhouQuantosMetros` - Number - recebe "zero" por padrão */ -? +var pessoa = { + nome:"Luan", + sobrenome:"Sousa", + sexo:"masculino", + idade:24, + altura:1.85, + peso:96, + andando:false, + caminhouQuantosMetros: 0 +}; /* Adicione um método ao objeto `pessoa` chamado `fazerAniversario`. O método deve alterar o valor da propriedade `idade` dessa pessoa, somando `1` a cada vez que for chamado. */ -? +pessoa.fazerAniversario = function(){ + pessoa.idade++; +} /* Adicione um método ao objeto `pessoa` chamado `andar`, que terá as seguintes @@ -35,25 +46,34 @@ valor dessa propriedade a quantidade passada por parâmetro; - Ele deverá modificar o valor da propriedade `andando` para o valor booleano que representa "verdadeiro"; */ -? +pessoa.andar = function(x){ + pessoa.caminhouQuantosMetros += x; + pessoa.andando = true; +} /* Adicione um método ao objeto `pessoa` chamado `parar`, que irá modificar o valor da propriedade `andando` para o valor booleano que representa "falso". */ -? +pessoa.parar = function(){ + pessoa.andando = false; +} /* Crie um método chamado `nomeCompleto`, que retorne a frase: - "Olá! Meu nome é [NOME] [SOBRENOME]!" */ -? +pessoa.nomeCompleto = function (){ + return "Olá! Meu nome é " + pessoa.nome + " " + pessoa.sobrenome; +} /* Crie um método chamado `mostrarIdade`, que retorne a frase: - "Olá, eu tenho [IDADE] anos!" */ -? +pessoa.mostrarIdade = function (){ + return "Olá, eu tenho "+ pessoa.idade + " anos!" +} /* Crie um método chamado `mostrarPeso`, que retorne a frase: @@ -65,73 +85,81 @@ Crie um método chamado `mostrarPeso`, que retorne a frase: Crie um método chamado `mostrarAltura` que retorne a frase: - "Minha altura é [ALTURA]m." */ -? +pessoa.mostrarPeso = function(){ + return "Eu peso " + pessoa.peso +" Kg." +} /* Agora vamos brincar um pouco com o objeto criado: Qual o nome completo da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.nomeCompleto() // 'Olá! Meu nome é Luan Sousa' /* Qual a idade da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.mostrarIdade() // 'Olá, eu tenho 24 anos!' /* Qual o peso da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.mostrarPeso() // 'Eu peso 96 Kg.' /* Qual a altura da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.altura // 1.85 /* Faça a `pessoa` fazer 3 aniversários. */ -? +pessoa.fazerAniversario() +pessoa.fazerAniversario() +pessoa.fazerAniversario() + /* Quantos anos a `pessoa` tem agora? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.mostrarIdade() // 'Olá, eu tenho 27 anos!' /* Agora, faça a `pessoa` caminhar alguns metros, invocando o método `andar` 3x, com metragens diferentes passadas por parâmetro. */ -? +pessoa.andar(2) +pessoa.andar(2) +pessoa.andar(2) + /* A pessoa ainda está andando? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? +pessoa.andando // true /* Se a pessoa ainda está andando, faça-a parar. */ -? +pessoa.parar() /* E agora: a pessoa ainda está andando? (Use uma instrução para responder e comentários inline ao lado da instrução para mostrar a resposta retornada) */ -? +pessoa.andando // false /* Quantos metros a pessoa andou? (Use uma instrução para responder e comentários inline ao lado da instrução para mostrar a resposta retornada) */ -? +pessoa.caminhouQuantosMetros // 36 /* Agora vamos deixar a brincadeira um pouco mais divertida! :D @@ -150,8 +178,76 @@ deve conter no retorno da frase acima é "metro" no lugar de "metros". método), que será concatenada com a frase de retorno, mostrando a resposta correta, de acordo com os dados inseridos no objeto. */ -? + +pessoa.apresentacao = function () { + var sexo = "o"; + var anosIdade = "anos"; + var metrosCaminhados = "metros"; + + if (pessoa.sexo === "Femninino") { + sexo = "a"; + } + + if (pessoa.idade === 1) { + anosIdade = "ano"; + } + + if (pessoa.caminhouQuantosMetros === 1) { + metrosCaminhados = "metro"; + } + + return ( + "Olá, eu sou " + + sexo + + " " + + pessoa.nome + + " " + + pessoa.sobrenome + + ", tenho " + + pessoa.idade + + " " + + anosIdade + + ", " + + pessoa.altura + + ", meu peso é " + + pessoa.peso + + " e, só hoje, eu já caminhei " + + pessoa.caminhouQuantosMetros + + " " + + metrosCaminhados + + "!" + ); +}; + +// Utiizando o operador ternario: +pessoa.apresentacao = function () { + var sexo = pessoa.sexo === "Feminino" ? "a" : "o"; + var anosIdade = pessoa.idade === 1 ? "ano" : "anos"; + var metrosCaminhados = pessoa.caminhouQuantosMetros === 1 ? "metro" : "metros" + + return ( + "Olá, eu sou " + + sexo + + " " + + pessoa.nome + + " " + + pessoa.sobrenome + + ", tenho " + + pessoa.idade + + " " + + anosIdade + + ", " + + pessoa.altura + + ", meu peso é " + + pessoa.peso + + " e, só hoje, eu já caminhei " + + pessoa.caminhouQuantosMetros + + " " + + metrosCaminhados + + "!" + ); +}; // Agora, apresente-se ;) -? +pessoa.apresentacao() // 'Olá, eu sou o Luan Sousa, tenho 24 anos, 1.85, meu peso é 96 e, só hoje, eu já caminhei 350 metros!' ```