#Lógica

Introdução à Lógica de Programação

O que é lógica?

Lógica é a arte de pensar corretamente. É o conjunto de métodos utilizados para organizar pensamentos, raciocínios e argumentos de forma clara e objetiva.

Por que estudar lógica?

Apreender os conceitos de lógica permite-nos:

Principais conceitos

O que é um algoritmo?

Um algoritmo é uma sequência finita e bem definida de instruções que visam atingir um objetivo específico. Imagine ser o mestre de uma receita culinária: cada passo precisa estar especificamente definido para obter o resultado desejado.

O que é um padrão de comportamento?

Padrão de comportamento nada mais é do que um algoritmo aplicado repetidamente a diferentes situações. É como aprender um ritual mágico: seguindo os mesmos passos, você obtém resultados previsíveis em contextos similares.

Complexidade

A complexidade representa o número de possíveis variações que um problema pode ter. No desenvolvimento de software, nosso objetivo principal é minimizar essa complexidade:

Questionamento errôneo

Um erro comum que aumenta a complexidade é fazer perguntas inadequadas ao resolver um problema. Em vez de "Como implementar isso?", devemos nos concentrar em:

  1. Definir claramente o objetivo
  2. Identificar os dados necessários
  3. Estabelecer as relações entre eles

Construindo algoritmos

Método para construção de algoritmo

Para criar um bom algoritmo, siga estes passos:

  1. Leia atentamente o problema (enunciado)
  2. Identifique todas as entradas necessárias
  3. Defina claramente quais são os resultados esperados
  4. Determine como transformar as entradas nas saídas
  5. Escreva o algoritmo passo a passo

Exemplo prático em JavaScript

Vamos criar um exemplo simples de função que utiliza lógica para resolver um problema:

function calcularMedia(nota1, nota2, nota3) {
  // Calcula a média das três notas fornecidas pelo usuário
  const media = (nota1 + nota2 + nota3) / 3;
  
  // Verifica se o aluno foi aprovado ou reprovado com base na média
  if (media >= 7.0) {
    return "Aprovado";
  } else if (media >= 5.0 && media < 7.0) {
    return "Recuperação";
  } else {
    return "Reprovado";
  }
}

// Testando a função
console.log(calcularMedia(8, 9, 10)); // Saída: Aprovado
console.log(calcularMedia(5.5, 6.5, 7.5)); // Saída: Recuperação

Tratamento de informações

O que são informações?

Informações são os dados que utilizamos para construir soluções computacionais. Elas podem ser:

Tipos primitivos de dados

JavaScript possui os seguintes tipos básicos de dados:

  1. number: para números inteiros e reais
  2. string: para textos e caracteres
  3. boolean: para valores lógicos (true/false)
  4. null e undefined: representando ausência de valor

Trabalhando com variáveis

let nome = "Maria"; // Variável do tipo string
const idade = 25;    // Constante numérica
var notaFinal = null; // Variável que pode receber diferentes valores no futuro

// Verificando tipos de dados usando typeof
console.log(typeof nome);     // Saída: 'string'
console.log(typeof idade);    // Saída: 'number'
console.log(typeof notaFinal); // Saída: 'undefined' (até então)

// Convertendo tipos de dados
let populacao = "50.2";       // Inicialização como string
populacao = Number(populacao); // Conversão para número

console.log(populacao + 100); // Agora será uma operação numérica: 600.2

Princípios fundamentais de programação lógica

Modularização

É importante quebrar problemas grandes em partes menores e mais gerenciáveis:

function somar(a, b) {
  return a + b;
}

// Função principal que utiliza o módulo acima
function calcularTotal(precoProduto, quantidade) {
  const subtotal = somar(precoProduto * quantidade);
  
  // Outros cálculos ou validações poderiam ser adicionados aqui
  
  return `O total da compra é R$ ${subtotal}`;
}

console.log(calcularTotal(25.90, 3)); // Saída: O total da compra é R$ 77.7

Clareza e objetividade

No desenvolvimento de software, cada linha de código deve transmitir um único propósito:

// Exemplo de código claro para validação de CPF
function validarCPF(cpf) {
  // Remove caracteres não numéricos do CPF informado pelo usuário
  const cpfLimpo = cpf.replace(/\D/g, '');
  
  // Verifica se o CPF possui 11 dígitos válidos
  if (cpfLimpo.length !== 11 || isNaN(Number(cpfLimpo))) {
    return false;
  }
  
  // Adicionaria aqui a lógica completa de validação
  
  return true; // Placeholder para demonstrar clareza no código
}

// Uso da função
console.log(validarCPF("123.456.789-09")); // Saída: true ou false dependendo do CPF válido/inválido

Usando Formulários HTML

Se você quer entender a lógica de programação com JavaScript usando formulários HTML como entrada e exibindo a saída em campos do DOM, aqui está um guia prático e direto com os principais conceitos, exemplos e dicas:

1. Estrutura Básica do Formulário HTML

Um formulário HTML convencional inclui campos de entrada (como <input>, <select>, <textarea>) onde o usuário pode digitar ou escolher dados.

<form id="formularioExemplo">
  <label for="num1">Número 1:</label>
  <input type="number" id="num1" name="num1">

  <label for="num2">Número 2:</label>
  <input type="number" id="num2" name="num2">

  <button type="submit">Somar</button>
</form>

<div id="resultado"></div>

2. Ligando o JavaScript ao Formulário

O JavaScript permite capturar os valores digitados, processá-los e mostrar o resultado na própria página sem recarregar.

<script>
document.getElementById('formularioExemplo').addEventListener('submit', function(event) {
  event.preventDefault(); // Evita o recarregamento da página
  // Captura dos valores de entrada
  const num1 = parseFloat(document.getElementById('num1').value);
  const num2 = parseFloat(document.getElementById('num2').value);
  // Lógica de programação (exemplo: soma)
  const soma = num1 + num2;
  // Exibindo a saída no campo DOM
  document.getElementById('resultado').textContent = `O resultado é: ${soma}`;
});
</script>

3. Explicação dos conceitos usados

4. Exemplos de entrada e saída em campos DOM

Você pode tanto mostrar resultados em uma <div>, quanto em outros <input> ou <textarea>:

<input type="text" id="saida" readonly>
document.getElementById('saida').value = soma;

5. Dicas práticas para lógica de programação com formulários

6. Recursos para estudo

Com esses conceitos, você pode fazer desde um simples somador até lógicas mais complexas (validações, exibir mensagens de erro, calcular médias, cadastrar dados etc.), sempre usando formulários HTML para entrada de dados e manipulando o DOM para exibir a saída – base fundamental da programação web interativa com JavaScript[1:1][3:1][2:2].

Conclusão

A lógica de programação é uma habilidade essencial para qualquer desenvolvedor. Ao dominá-la, você:

Lembre-se: cada vez que você se depara com um problema, pergunte primeiro:

  1. Qual é o objetivo principal?
  2. Quais são as entradas necessárias?
  3. Como transformar essas entradas nos resultados desejados?

Essa mentalidade lógica ajudará você a construir soluções cada vez mais eficientes!

Referências


  1. https://developer.mozilla.org/pt-BR/docs/Learn_web_development/Getting_started/Your_first_website/Adding_interactivity ↩︎ ↩︎

  2. https://blog.openreplay.com/pt/manuseio-entrada-formulario-javascript-vanilla/ ↩︎ ↩︎ ↩︎

  3. https://pt.scribd.com/document/17582325/Formularios ↩︎ ↩︎

  4. https://www.alura.com.br/artigos/eventos-do-dom ↩︎