![](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); ```