---
# System prepended metadata

title: Aula 11 - Lógica de Programação

---

![](https://i.imgur.com/xG74tOh.png)

# Aula 11 - Lógica de Programação


# Questão em aula
```JS
function darBoasVindas() {
    console.log('Desejamos boas vindas a Cubos Academy!');
  }
  
  function darBoasVindasAoAluno(nome) {
    console.log(`Desejamos boas vindas a Cubos Academy a ${nome}!`);
  }
  
  function darBoasVindasAoAluno(nome, genero) {
    if (genero === 'Masculino') {
      console.log(`Olá ${nome}! Seja bem vindo a Cubos Academy!`);
    } else if (genero === 'Feminino') {
      console.log(`Olá ${nome}! Seja bem vinda a Cubos Academy!`);
    }
  }
  
  function areaRetangulo(base, altura) {
      const area = base * altura;
      return area; 
  }
  
  function calculoPotencia (base, expoente) {
    if (expoente === 0) {
      return 1;
    } else if (expoente === 1) {
      return base;
    } else {
      let potencia = 1;
      for (let i = 0; i < expoente; i++) {
        potencia = potencia * base;
      }
      return potencia;
    }
  }
```  
# Exercício em sala
**Questão 1**
  
```JS
function imprimitResumoDoCarrinho (carrinho) {
  
}
```

**Questão 2**
```JS
const carrinho = {

nomeDoCliente: "Guido Bernal",
produtos: [
{
id: 1,
nome: "Camisa",
qtd: 3,
precoUnit: 3000
},
{
id: 2,
nome: "Bermuda",
qtd: 2,
precoUnit: 5000
}
]
}

function imprimirResumoDoCarrinho (carrinho) {
let totalDeItens = 0;
let totalAPagar = 0;

for (j = 0; j < carrinho.produtos.length; j++) {
totalDeItens += carrinho.produtos[j].qtd;
totalAPagar +=  (carrinho.produtos[j].precoUnit * carrinho.produtos[j].qtd);
}

console.log(`Cliente: ${carrinho.nomeDoCliente}`);
console.log(`Total de itens: ${totalDeItens} itens`);
console.log(`Total a pagar: R$ ${(totalAPagar)/100}`);
}

imprimirResumoDoCarrinho (carrinho);
```

**Questão 3 e 4**

```JS
function addProdutoAoCarrinho (carrinho, produto) {
let produtoAdd = false
for (i = 0; i < carrinho.produtos.length; i++){
  if (produto.id === carrinho.produtos[i].id ) {
    carrinho.produtos[i].qtd = carrinho.produtos[i].qtd + produto.qtd;
    produtoAdd = true
  }
}
if (produtoAdd === false) {
  carrinho.produtos.push(produto);
}
}

const novaBermuda = {
          id: 2,
          nome: "Bermuda",
          qtd: 3,
          precoUnit: 5000
      }
addProdutoAoCarrinho(carrinho, novaBermuda);
imprimirResumoDoCarrinho(carrinho);

console.log('-----------------------')

const novoTenis = {
          id: 3,
          nome: "Tenis",
          qtd: 1,
          precoUnit: 10000
      }
addProdutoAoCarrinho(carrinho, novoTenis);
imprimirResumoDoCarrinho(carrinho);

console.table(carrinho.produtos);
```

**Questão 5**

```JS
function imprimirDetalhesDoCarrinho (carrinho) {

let totalDeItens = 0;
let totalAPagar = 0;

console.log(`Cliente: ${carrinho.nomeDoCliente}`);

for (k = 0; k < carrinho.produtos.length; k++) {
  totalDeItens += carrinho.produtos[k].qtd;
  totalAPagar +=  (carrinho.produtos[k].precoUnit * carrinho.produtos[k].qtd);

  console.log(`Item ${carrinho.produtos[k].id} - ${carrinho.produtos[k].nome} - ${carrinho.produtos[k].qtd} und - R$ ${carrinho.produtos[k].precoUnit/100}`);
}

console.log(`Total de itens: ${totalDeItens} itens`);
console.log(`Total a pagar: R$ ${(totalAPagar)/100}`);

}

imprimirDetalhesDoCarrinho(carrinho);
```

**Questão 6**

```JS
function calcularTotalDeItens (carrinho) {
let totalDeItens = 0;
for (a = 0; a < carrinho.produtos.length; a++) {
  totalDeItens += carrinho.produtos[a].qtd;
}  

return totalDeItens;
}

function calcularTotalAPagar (carrinho) {
let totalAPagar = 0;
for (b = 0; b < carrinho.produtos.length; b++) {
  totalAPagar +=  (carrinho.produtos[b].precoUnit * carrinho.produtos[b].qtd);
}  
return totalAPagar/100;
}

function imprimirResumoDoCarrinho (carrinho) {
  console.log(`Cliente: ${carrinho.nomeDoCliente}`);
  console.log(`Total de itens: ${calcularTotalDeItens(carrinho)} itens`);
  console.log(`Total a pagar: R$ ${calcularTotalAPagar(carrinho)}`);
}

function imprimirDetalhesDoCarrinho (carrinho) {

  console.log(`Cliente: ${carrinho.nomeDoCliente}`);

for (k = 0; k < carrinho.produtos.length; k++) {
  console.log(`Item ${carrinho.produtos[k].id} - ${carrinho.produtos[k].nome} - ${carrinho.produtos[k].qtd} und - R$ ${carrinho.produtos[k].precoUnit/100}`);
}

  console.log(`Total de itens: ${calcularTotalDeItens(carrinho)} itens`);
  console.log(`Total a pagar: R$ ${calcularTotalAPagar(carrinho)}`);

}

imprimirResumoDoCarrinho(carrinho);
imprimirDetalhesDoCarrinho(carrinho);
```

**Questão 7**

```JS
function calcularDesconto (carrinho) {
let descontoItens = 0; 
let descontoReais = 0;
let menorPreco = carrinho.produtos[0].precoUnit;

const totalDeItens = calcularTotalDeItens(carrinho);
const totalAPagar = calcularTotalAPagar(carrinho);

if (totalDeItens > 4) {
for (f = 0; f < carrinho.produtos.length; f++) {
if (menorPreco > carrinho.produtos[f].precoUnit) {
menorPreco = carrinho.produtos[f].precoUnit;
}
}
descontoItens = menorPreco;
}

if (totalAPagar > 100) {
descontoReais = totalAPagar / 0.1;
}

if (descontoItens > descontoReais) {
return(descontoItens/100);
} else {
return(descontoReais/100);
}
}

calcularDesconto(carrinho);
```

**Questão 8**

```JS
function imprimirResumoDoCarrinho (carrinho) {
  console.log(`Cliente: ${carrinho.nomeDoCliente}`);
  console.log(`Total de itens: ${calcularTotalDeItens(carrinho)} itens`);
  console.log(`Sub-Total: R$ ${calcularTotalAPagar(carrinho)}`);
  console.log(`Desconto: R$ ${calcularDesconto(carrinho)}`);
  console.log(`Total a pagar: R$ ${calcularTotalAPagar(carrinho) - calcularDesconto(carrinho)}`);
}

imprimirResumoDoCarrinho(carrinho);
```
