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:
- Pedir o primeiro número.
- Pedir o segundo número.
- Somar os dois números.
- 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).
- Variável
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 ema).b = (a > 5)(verifica seaé maior que 5 e armazenaTrueouFalseemb).
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ódigo
idade = 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ódigo
contador = 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ódigo
for 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ódigo
lista_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ódigo
dicionario = {"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:
- Peça ao usuário o primeiro número.
- Peça ao usuário o segundo número.
- Peça ao usuário o terceiro número.
- Some os três números.
- Divida a soma por 3.
- 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:
- Crie um algoritmo que receba cinco números e mostre o maior deles.
- Passos:
- Peça cinco números ao usuário.
- Compare cada número para descobrir qual é o maior.
- Mostre o maior número.
- Passos:
- Crie um algoritmo que verifique se um número é par ou ímpar.
- Passos:
- Peça um número ao usuário.
- Use a operação de módulo (%) para verificar se o número é divisível por 2.
- Mostre se o número é par ou ímpar.
- Passos:
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.
