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 armazenaTrue
ouFalse
emb
).
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.