1
resposta

[Sugestão] Lista de Exercícios 1 a 4

Procurei usar os exercícios como base e tentei explorar um pouco mais para praticar conforme segue:

// ==================== EXERCÍCIO 1: SISTEMA BANCÁRIO ====================
let saldo = 1000; // Saldo inicial
const historico = []; // Array para armazenar o histórico de transações

// Função para depositar dinheiro
function operacaoDepositar(valor) {
    console.log("=======EXERCÍCIO 1 HISTÓRICO BANCÁRIO")
    if (valor <= 0) {
        
        console.log("Erro: Valor inválido para depósito.");
        return;
    }
    saldo += valor;
    historico.push({
        tipo: "Depósito",
        valor: valor,
        data: new Date().toLocaleString('pt-BR')
    });
    console.log(`Depósito de R$${valor} realizado. Novo saldo: R$${saldo}`);
}

// Função para sacar dinheiro
function operacaoSacar(valor) {
    if (valor <= 0) {
        console.log("Erro: Valor inválido para saque.");
        return;
    }
    if (valor > saldo) {
        console.log("Saldo insuficiente!");
        return;
    }
    saldo -= valor;
    historico.push({
        tipo: "Saque",
        valor: valor,
        data: new Date().toLocaleString('pt-BR')
    });
    console.log(`Saque de R$${valor} realizado. Novo saldo: R$${saldo}`);
}

// Função para transferir dinheiro
function operacaoTransferir(valor, destinatario) {
    if (valor <= 0) {
        console.log("Erro: Valor inválido para transferência.");
        return;
    }
    if (valor > saldo) {
        console.log("Saldo insuficiente para transferência!");
        return;
    }
    saldo -= valor;
    historico.push({
        tipo: "Transferência",
        valor: valor,
        destinatario: destinatario,
        data: new Date().toLocaleString('pt-BR')
    });
    console.log(`Transferência de R$${valor} para ${destinatario} realizada. Novo saldo: R$${saldo}`);
}

// Função para ver saldo
function verSaldo() {
    console.log(`Seu saldo atual é: R$${saldo}`);
}

// Função para ver histórico
function verHistorico() {
    console.log("\n---- HISTÓRICO DE TRANSAÇÕES ----");
    if (historico.length === 0) {
        console.log("Nenhuma transação registrada.");
    } else {
        historico.forEach((transacao, index) => {
            console.log(
                `${index + 1}. ${transacao.tipo} | ` +
                `Valor: R$${transacao.valor} | ` +
                (transacao.destinatario ? `Destinatário: ${transacao.destinatario} | ` : "") +
                `Data: ${transacao.data}`
            );
        });
    }
}

// Testes
operacaoDepositar(600);
operacaoSacar(200);
operacaoTransferir(400, "Paulo");
verSaldo();
verHistorico();

// ==================== EXERCÍCIO 2: PAR OU ÍMPAR ====================
function verificarParImpar(numero) {
    console.log("\n====EXERCÍCIO 2 VERIFICAR SE É PAR OU ÍMOAR")
    if (isNaN(numero)) {
        console.log("Erro: Digite um número válido!");
    } else {
        const resultado = numero % 2 === 0 ? "Par" : "Ímpar";
        console.log(`O número ${numero} é ${resultado}.`);
    }
}

verificarParImpar("abc"); // Erro
verificarParImpar(236552); // Par

// ==================== EXERCÍCIO 3: BAÚ DO TESOURO ====================
const temChaveLogica = false;
const temChaveFisica = false;
const podeAbrirBau = temChaveLogica && temChaveFisica;

console.log("\n=== EXERCÍCIO 3 BAÚ DO TESOURO ===");
console.log(`Chave Lógica: ${temChaveLogica ? "Sim" : "Não"}`);
console.log(`Chave Física: ${temChaveFisica ? "Sim" : "Não"}`);

if (podeAbrirBau) {
    console.log("Parabéns! Você abriu o baú!");
} else {
    console.log("O baú está trancado!");
}

// ==================== EXERCÍCIO 4: SISTEMA DE ALARME ====================
const sensorPorta = false;
const sensorJanela = true;
const sensorPortaGaragem = false;
const alarmeAtivado = sensorPorta || sensorJanela || sensorPortaGaragem;

console.log("\n===EXERCÍCIO 4 SISTEMA DE ALARME ===");
console.log(`Porta: ${sensorPorta ? "Aberta" : "Fechada"}`);
console.log(`Janela: ${sensorJanela ? "Aberta" : "Fechada"}`);
console.log(`Porta da Garagem: ${sensorPortaGaragem ? "Aberta" : "Fechada"}`);

console.log(alarmeAtivado ? "ALARME DISPARADO!" : "Tudo seguro.");
1 resposta

Olá, Paulo. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou os exercícios e criou funções reutilizáveis. A parte do histórico de transações ficou bem organizada e simula de maneira interessante um sistema bancário simples.

Uma dica interessante para o futuro é usar o método toFixed para limitar casas decimais em valores monetários.Veja este exemplo:


let valor = 123.456;
console.log("Valor formatado: R$" + valor.toFixed(2));

Esse código imprime Valor formatado: R$123.46, deixando a saída mais parecida com o que vemos em sistemas reais.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!