Dia 6: Lógica de Programação e Algoritmos

O que é Lógica de Programação?

Lógica de programação é o conjunto de regras e princípios que orientam a criação de soluções computacionais. Basicamente, é como você organiza seus pensamentos para resolver um problema usando um computador. Antes de escrever código em uma linguagem de programação, você precisa planejar como o computador vai resolver o problema passo a passo.

A lógica de programação é essencial porque o computador só faz o que você mandar, seguindo as instruções de maneira rigorosa.


1. Conceitos Básicos da Lógica de Programação

1.1. Algoritmo

Um algoritmo é uma sequência de passos para resolver um problema. Ele pode ser simples, como uma receita de bolo (onde você segue as etapas para obter o resultado), ou mais complexo, como resolver uma equação matemática.

  • Exemplo prático: Para somar dois números em um algoritmo, você seguiria os seguintes passos:
    1. Pedir o primeiro número.
    2. Pedir o segundo número.
    3. Somar os dois números.
    4. Exibir o resultado.

Isso é um exemplo de algoritmo simples.

1.2. Variáveis

As variáveis são locais na memória do computador onde você pode armazenar valores que podem mudar durante a execução do programa. Cada variável tem um nome e um tipo (como números inteiros, decimais ou texto).

  • Exemplo prático:
    • Variável a = 5 (número inteiro).
    • Variável nome = "João" (texto).

Você usa variáveis para armazenar dados temporariamente enquanto o programa é executado.

1.3. Tipos de Dados

Os tipos de dados representam os diferentes tipos de valores que uma variável pode armazenar. Alguns tipos comuns são:

  • Inteiro (int): Números inteiros (ex.: 5, -3, 100).
  • Ponto flutuante (float): Números com decimais (ex.: 3.14, -2.5).
  • Texto (string): Sequências de caracteres (ex.: “Olá”, “Maria”).

Cada linguagem de programação tem suas formas de declarar e manipular esses tipos de dados.

1.4. Operadores

Os operadores são símbolos que indicam uma operação a ser realizada entre variáveis ou valores.

  • Operadores aritméticos: + (soma), – (subtração), * (multiplicação), / (divisão).
  • Operadores de comparação: == (igual a), != (diferente de), > (maior que), < (menor que).
  • Exemplo prático:
    • a = 10 + 5 (soma 10 e 5, e armazena o resultado em a).
    • b = (a > 5) (verifica se a é maior que 5 e armazena True ou False em b).

2. Estruturas de Controle

As estruturas de controle são usadas para decidir quais partes do código serão executadas, dependendo de certas condições ou repetições.

2.1. Estruturas Condicionais (IF)

A estrutura if permite que o programa tome decisões com base em condições. Se a condição for verdadeira, um bloco de código é executado; se for falsa, outro bloco pode ser executado.

  • Exemplo prático:pythonCopiar códigoidade = 18 if idade >= 18: print("Você é maior de idade.") else: print("Você é menor de idade.")

Nesse exemplo, se a variável idade for maior ou igual a 18, a mensagem “Você é maior de idade” será exibida; caso contrário, “Você é menor de idade” será exibida.

2.2. Estruturas de Repetição (LOOPs)

As estruturas de repetição permitem que um conjunto de instruções seja executado várias vezes. Isso é útil quando você precisa fazer a mesma coisa várias vezes, como somar números em uma lista.

  • While (enquanto): Executa um bloco de código enquanto a condição for verdadeira.pythonCopiar códigocontador = 0 while contador < 5: print(contador) contador += 1

Esse código imprime os números de 0 a 4.

  • For (para): Repete um bloco de código um número específico de vezes.pythonCopiar códigofor i in range(5): print(i)

Esse código também imprime os números de 0 a 4, mas usa um loop for.


3. Estruturas de Dados Básicas

Para manipular grandes quantidades de dados, você precisa usar estruturas de dados, como listas e dicionários.

3.1. Listas

Uma lista armazena vários valores em uma única variável.

  • Exemplo prático:pythonCopiar códigolista_numeros = [1, 2, 3, 4, 5] print(lista_numeros[0]) # Imprime o primeiro número da lista (1)

3.2. Dicionários

Um dicionário armazena pares de chave-valor, onde cada chave tem um valor associado.

  • Exemplo prático:pythonCopiar códigodicionario = {"nome": "Ana", "idade": 25} print(dicionario["nome"]) # Imprime "Ana"

4. Algoritmos: Como Resolver Problemas com Lógica de Programação

Agora que você entende as bases da lógica de programação, vamos ver como criar um algoritmo para resolver problemas.

Exemplo: Calcular a Média de Três Números

Vamos criar um algoritmo simples que pede ao usuário três números e calcula a média.

Passos do algoritmo:

  1. Peça ao usuário o primeiro número.
  2. Peça ao usuário o segundo número.
  3. Peça ao usuário o terceiro número.
  4. Some os três números.
  5. Divida a soma por 3.
  6. Mostre o resultado ao usuário.

Código em Python:

pythonCopiar códigonumero1 = float(input("Digite o primeiro número: "))
numero2 = float(input("Digite o segundo número: "))
numero3 = float(input("Digite o terceiro número: "))

media = (numero1 + numero2 + numero3) / 3

print("A média dos três números é:", media)

Esse código segue os passos que descrevemos no algoritmo e calcula a média dos três números fornecidos.


5. Prática e Desenvolvimento de Algoritmos

Agora é a sua vez! Tente desenvolver pequenos algoritmos que resolvam problemas simples do dia a dia, como calcular a soma de números ou verificar se um número é par ou ímpar. Quanto mais você pratica, melhor ficará em pensar em soluções lógicas e organizadas.

Exercício para Praticar:

  1. Crie um algoritmo que receba cinco números e mostre o maior deles.
    • Passos:
      1. Peça cinco números ao usuário.
      2. Compare cada número para descobrir qual é o maior.
      3. Mostre o maior número.
  2. Crie um algoritmo que verifique se um número é par ou ímpar.
    • Passos:
      1. Peça um número ao usuário.
      2. Use a operação de módulo (%) para verificar se o número é divisível por 2.
      3. Mostre se o número é par ou ímpar.

Resumo Final

  • Lógica de Programação é como você organiza seus pensamentos para resolver problemas usando um computador.
  • Algoritmos são sequências de passos que resolvem problemas.
  • Variáveis, operadores, estruturas condicionais e loops são os blocos de construção para qualquer algoritmo.
  • Praticar pequenos problemas e criar algoritmos vai te ajudar a desenvolver habilidades essenciais para resolver problemas mais complexos.