
# 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);
```