# #Lógica - A4 - 15/07 ###### Aluno: Pedro Ciccone ###### tags: `Logica de Programação` ### Exercícios LiveHelp **Tipos, condicionais e operadores** ``` const variavel = null; if (typeof variavel === "number") { console.log("Número"); } else if (typeof variavel === "string") { console.log("Texto"); } else if (typeof variavel === "boolean") { console.log("Booleano"); } else { console.log("Outro tipo"); }; ``` ``` switch (typeof variavel) { case "number": console.log("Número"); break; case "string": console.log("Texto"); break; case "boolean": console.log("Boolean"); break; default: console.log("Outro tipo"); break; }; ``` **Evento para maiores (exercício sem acompanhar o vídeo)** Imprima se a pessoa vai pagar inteira, meia ou não pode comprar ingresso. ``` const pessoa = { nome: "Pedro", idade: 26, estudante: false }; const inteira = 20; const meia = 10; if (pessoa.idade >= 18) { if (pessoa.estudante === true) { console.log("Meia"); } else { console.log("Inteira"); }; } else { console.log("Não pode comprar ingresso."); }; ``` **Exercício acompanhando o vídeo** ``` const pessoa = { nome: "Pedro", idade: 16, estudante: true, temComprovante: false, nomeNaLista: true }; const inteira = 20; const meia = 10; const desc = 5; let valorAPagar; if (pessoa.idade >= 18) { if (pessoa.estudante && pessoa.temComprovante) { valorAPagar = meia; } else { valorAPagar = inteira; }; if (pessoa.nomeNaLista) { valorAPagar = valorAPagar - desc; }; console.log(pessoa.nome + " tem que pagar " + valorAPagar + " reais.") } else { console.log(pessoa.nome + " não pode comprar ingresso."); }; ``` ### Exercícios para casa **1. Pedra, papel ou tesoura.** Duas pessoas estão jogando pedra, papel ou tesoura. Você deve imprimir o nome da jogadora vencedora, ou "empate", em caso de empate. ``` const jogadora1 = { nome: "Maria", jogada: "papel" } const jogadora2 = { nome: "Clara", jogada: "papel" } //seu código aqui if (jogadora1.jogada === jogadora2.jogada) { console.log("Empate"); } else if (jogadora1.jogada === "pedra" && jogadora2.jogada === "tesoura") { console.log("Maria"); } else if (jogadora1.jogada === "tesoura" && jogadora2.jogada === "pedra") { console.log("Clara"); } else if (jogadora1.jogada === "pedra" && jogadora2.jogada === "papel") { console.log("Clara"); } else if (jogadora1.jogada === "papel" && jogadora2.jogada === "pedra") { console.log("Maria"); } else if (jogadora1.jogada === "tesoura" && jogadora2.jogada === "papel") { console.log("Maria"); } else { console.log("Clara"); }; ``` **2. Par ou ímpar.** Duas pessoas estão jogando par ou ímpar. Você deve imprimir o nome da jogadora vencedora. ``` const jogadora1 = { nome: "Maria", jogada: 5, escolha: "par" }; const jogadora2 = { nome: "Clara", jogada: 3, escolha: "impar" }; //seu código aqui const resultado = jogadora1.jogada + jogadora2.jogada; let ehPar; if (resultado % 2 === 0) { ehPar = true; } else { ehPar = false; }; if (jogadora1.escolha === "par" && ehPar === true) { console.log("Maria"); } else if (jogadora1.escolha === "impar" && ehPar === false) { console.log("Maria"); } else { console.log("Clara"); }; ``` **3. Dominó.** Num jogo de dominó toda pedra tem dois números. Quando uma pedra tem o mesmo número dos dois lados, dizemos que essa pedra é uma bucha. Faça um programa que imprima se uma pedra é uma bucha ou não. ``` const pedra1 = { ladoA: 5, ladoB: 3 }; const pedra2 = { ladoA: 4, ladoB: 4 }; //seu código aqui if (pedra1.ladoA === pedra1.ladoB) { console.log("A pedra 1 é uma bucha."); } else { console.log("A pedra 1 não é uma bucha.") }; if (pedra2.ladoA === pedra2.ladoB) { console.log("A pedra 2 é uma bucha."); } else { console.log("A pedra 2 não é uma bucha.") }; ``` **4. Dando nome as pedras.** Modifique o código anterior para que, quando a pedra for uma bucha, digamos qual o "nome" da bucha. Para quem não constuma jogar dominó, segue um glossário: ``` const pedra1 = { ladoA: 5, ladoB: 3 }; const pedra2 = { ladoA: 4, ladoB: 4 }; //seu código aqui if (pedra1.ladoA === pedra1.ladoB) { if (pedra1.ladoA === 0) { console.log("A pedra 1 é a bucha de branco."); } else if (pedra1.ladoA === 1) { console.log("A pedra 1 é a bucha de ás."); } else if (pedra1.ladoA === 2) { console.log("A pedra 1 é a bucha de duque."); } else if (pedra1.ladoA === 3) { console.log("A pedra 1 é a bucha de terno."); } else if (pedra1.ladoA === 4) { console.log("A pedra 1 é a bucha de quadra."); } else if (pedra1.ladoA === 5) { console.log("A pedra 1 é a bucha de quina."); } else { console.log("A pedra 1 é a bucha de sena."); }; } else { console.log("A pedra 1 não é uma bucha.") }; if (pedra2.ladoA === pedra2.ladoB) { if (pedra2.ladoA === 0) { console.log("A pedra 2 é a bucha de branco."); } else if (pedra2.ladoA === 1) { console.log("A pedra 2 é a bucha de ás."); } else if (pedra2.ladoA === 2) { console.log("A pedra 2 é a bucha de duque."); } else if (pedra2.ladoA === 3) { console.log("A pedra 2 é a bucha de terno."); } else if (pedra2.ladoA === 4) { console.log("A pedra 2 é a bucha de quadra."); } else if (pedra2.ladoA === 5) { console.log("A pedra 2 é a bucha de quina."); } else { console.log("A pedra 2 é a bucha de sena."); }; } else { console.log("A pedra 2 não é uma bucha.") }; ``` **4.1 Variando.** Modifique o código anterior para utilizar switch case (ou if, caso já tenha usado switch). ``` const pedra1 = { ladoA: 2, ladoB: 3 }; const pedra2 = { ladoA: 3, ladoB: 3 }; //seu código aqui if (pedra1.ladoA === pedra1.ladoB) { switch (pedra1.ladoA) { case 0: console.log("A pedra 1 é a bucha de branco.") break; case 1: console.log("A pedra 1 é a bucha de ás."); break; case 2: console.log("A pedra 1 é a bucha de duque."); break; case 3: console.log("A pedra 1 é a bucha de terno."); break; case 4: console.log("A pedra 1 é a bucha de quadra."); break; case 5: console.log("A pedra 1 é a bucha de quina."); break; case 6: console.log("A pedra 1 é a bucha de sena."); break; }; } else { console.log("A pedra 1 não é uma bucha.") }; if (pedra2.ladoA === pedra2.ladoB) { switch (pedra2.ladoA) { case 0: console.log("A pedra 2 é a bucha de branco.") break; case 1: console.log("A pedra 2 é a bucha de ás."); break; case 2: console.log("A pedra 2 é a bucha de duque."); break; case 3: console.log("A pedra 2 é a bucha de terno."); break; case 4: console.log("A pedra 2 é a bucha de quadra."); break; case 5: console.log("A pedra 2 é a bucha de quina."); break; case 6: console.log("A pedra 2 é a bucha de sena."); break; }; } else { console.log("A pedra 2 não é uma bucha.") }; ```