-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ca58af3
commit 97021d3
Showing
8 changed files
with
236 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"liveServer.settings.port": 5501 | ||
} |
Submodule trilha-css-desafio-01
added at
03ede5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// Funções são objetos | ||
function main() { | ||
return 'say my name'; | ||
} | ||
console.log(main); | ||
|
||
const main2 = main; | ||
console.log(main2()); | ||
|
||
const princ = function() { | ||
console.error("pane no sistema"); | ||
} | ||
|
||
princ(); | ||
|
||
// Funções invocadas imediatamente | ||
(function () { | ||
console.log("SAY MY NAME"); | ||
})(); | ||
|
||
|
||
// Funções que não devolvem nada são chamadas de procedimentos |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
function EscrevaMeuNome(nome) { | ||
return 'Olá! ' + nome; | ||
} | ||
|
||
EscrevaMeuNome("Douglas"); | ||
|
||
// Função sobre função | ||
function serMaior(idade) { | ||
if (idade >= 18) { | ||
return "Maior de idade"; | ||
} else { | ||
return "Menor de idade"; | ||
} | ||
} | ||
|
||
serMaior(10); | ||
|
||
|
||
// Misto | ||
function cumprimentos(nome, idade) { | ||
console.log(EscrevaMeuNome(nome) + ' você é ' + serMaior(idade)); | ||
} | ||
|
||
cumprimentos("Douglas", 18); | ||
|
||
// Calcular preço | ||
function precoEtiqueta(formaPagamento, preco) { | ||
switch (formaPagamento) { | ||
case 1: | ||
return preco - (preco * 0.1); | ||
case 2: | ||
return preco - (preco * 0.15); | ||
case 3: | ||
return preco; | ||
case 4: | ||
return preco + (preco * 0.1); | ||
default: | ||
return undefined; | ||
} | ||
} | ||
|
||
function formaPagamento(formaPagamento) { | ||
switch (formaPagamento){ | ||
case 1: | ||
return "Débito"; | ||
case 2: | ||
return "Dinheiro/Pix"; | ||
case 3: | ||
return "Dividido em 2 vezes"; | ||
case 4: | ||
return "Dividido em mais de 2 vezes"; | ||
default: | ||
return undefined; | ||
} | ||
} | ||
|
||
const formPgmt = 5; | ||
const preco = 10; | ||
|
||
console.log("Pagando através do " + formaPagamento(formPgmt, preco) + " com o produto por R$" + preco); | ||
console.log("O preço fica R$" + precoEtiqueta(formPgmt, preco)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
// E se eu quiser criar várias pessoas? -> Cria uma classe | ||
|
||
// Classe - modelo de como deveria ser (Isso não seria interface?) | ||
// Instância - Aplicação da classe (Ocorrência da classe) | ||
|
||
class Pessoa { | ||
nome; | ||
idade; | ||
anoDeNascimento; | ||
|
||
// Construtor é o que vai definir quando a classe é instanciada | ||
// Chamadas de contratos | ||
constructor (nome, idade){ | ||
this.nome = nome; | ||
this.idade = idade; | ||
const anoHoje = new Date; | ||
this.anoDeNascimento = anoHoje.getFullYear() - idade; | ||
} | ||
|
||
// Não se faz nescessário escrever function dentro de uma classe | ||
descrever (){ | ||
console.log(`Meu nome é ${this.nome} e tenho ${this.idade} anos de idade e nasci no ano de ${this.anoDeNascimento}`); | ||
} | ||
} | ||
|
||
const douglas = new Pessoa('Douglas', 20); | ||
douglas.descrever(); | ||
|
||
const lusca = new Pessoa('Lusca', 34); | ||
lusca.descrever(); | ||
|
||
function compararPessoa(p1, p2) { | ||
if (p1.idade > p2.idade) { | ||
console.log(`${p1.nome} é mais velho(a) do que ${p2.nome}`); | ||
} else if (p1.idade < p2.idade) { | ||
console.log(`${p2.nome} é mais velho(a) do que ${p1.nome}`); | ||
} else { | ||
console.log(`${p2.nome} e ${p1.nome} tem a mesma idade`); | ||
} | ||
} | ||
|
||
compararPessoa(douglas, new Pessoa('Felca', 20)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
class Carro { | ||
marca; | ||
cor; | ||
gastoCombustivelMedio; // KM/litro | ||
tipoCombustivel; | ||
|
||
constructor(marca, cor, gastoCombustivelMedio, tipoCombustivel = 'Gasolina'){ | ||
this.marca = marca; | ||
this.cor = cor; | ||
this.gastoCombustivelMedio = (gastoCombustivelMedio).toFixed(5); | ||
this.tipoCombustivel = tipoCombustivel | ||
} | ||
|
||
dinheiroNaViagem (qntKM, precoCombustivel){ | ||
let litros = this.gastoCombustivelMedio * qntKM; | ||
return (precoCombustivel * litros).toFixed(2); | ||
} | ||
|
||
descrever () { | ||
console.log(`Carro da marca ${this.marca} e a cor ${this.cor} e roda ${this.gastoCombustivelMedio} KM por litro, sendo ${this.tipoCombustivel} o combustível dele.`); | ||
} | ||
} | ||
|
||
let chervrolet = new Carro('Chevrolet', 'Prata', 1/12, 'Alcool'); | ||
chervrolet.descrever(); | ||
console.log(`Você vai gastar R$${chervrolet.dinheiroNaViagem(70, 5)}`); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
class Pessoa{ | ||
nome; | ||
peso; | ||
altura; | ||
|
||
constructor(nome, peso, altura){ | ||
this.nome = nome; | ||
this.peso = peso; | ||
this.altura = altura; | ||
} | ||
|
||
calcularIMC(){ | ||
return (this.peso / Math.pow(this.altura, 2)).toFixed(2); | ||
} | ||
|
||
classificarIMC(){ | ||
let imc = this.calcularIMC(); | ||
let classificacao = ''; | ||
|
||
if (imc < 18.5 ) { | ||
classificacao = 'Abaixo do peso'; | ||
} else if (imc > 18.5 && imc < 24.9) { | ||
classificacao = 'Peso normal'; | ||
} else if (imc > 25 && imc < 29.9){ | ||
classificacao = 'Sobrepeso'; | ||
} else if (imc > 30 && imc < 34.9){ | ||
classificacao = 'Obesidade grau I'; | ||
} else if (imc > 35 && imc < 39.9){ | ||
classificacao = 'Obesidade grau II (Severa)'; | ||
} else if (imc > 40){ | ||
classificacao = 'Obesidade grau III (Mórbida)'; | ||
} | ||
|
||
return classificacao; | ||
} | ||
|
||
descrever (){ | ||
console.log(`Nome: ${this.nome} \nAltura: ${this.altura} cm\nPeso: ${this.peso} kg`); | ||
console.log(`${this.nome} tem ${this.calcularIMC()} de IMC e está ${this.classificarIMC()}`); | ||
} | ||
} | ||
|
||
|
||
const jose = new Pessoa('José', 70, 1.75 ); | ||
jose.descrever(); | ||
// IMC abaixo de 18,5: Abaixo do peso | ||
// IMC entre 18,5 e 24,9: Peso normal | ||
// IMC entre 25,0 e 29,9: Sobrepeso | ||
// IMC entre 30,0 e 34,9: Obesidade grau I | ||
// IMC entre 35,0 e 39,9: Obesidade grau II (severa) | ||
// IMC 40,0 ou superior: Obesidade grau III (mórbida) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// Alusão a um map | ||
|
||
// Função dentro de um objeto = método | ||
const pessoa = { | ||
nome: 'Douglas', | ||
idade: 20, | ||
|
||
// Pq não posso utilizar função anonima? | ||
// Pois função anônima só herda os própios atributos, ou seja, ele não reconhece o 'nome' da função anterior | ||
// Poderia ser utilizado caso as variáveis fossem usadas no escopo da arrow function. | ||
descrever : () => console.log(`Seu nome é ${this.nome} e sua idade é ${this.idade}`) | ||
}; | ||
|
||
// -- Adicionando valores | ||
// pessoa.altura = 1.90; | ||
// console.log(pessoa); | ||
|
||
// -- Deletando valores | ||
// delete pessoa.nome; | ||
// console.log(pessoa); | ||
|
||
// -- Chamando métodos | ||
// pessoa.descrever(); | ||
|
||
// -- Acessar dinamicamente os atributos | ||
// console.log(pessoa['nome']); | ||
// pessoa['nome'] = 'Lusca'; | ||
// console.log(pessoa['nome']); | ||
// A outra forma é estática. |