Sequência é a estrutura mais básica da programação imperativa. Ela executa comandos um após o outro, na ordem escrita. Primeiramente, cada linha aguarda a anterior terminar. Por exemplo, três atribuições rodam em sequência estrita. Além disso, a sequência é a base de todo programa Python. Assim, você precisa dominá-la antes de tudo. Consequentemente, a depuração se torna muito mais simples. Quando utilizar sequência pura? Em scripts lineares e simples. Também em cálculos diretos sem decisões ou repetições. Por outro lado, para lógica complexa, adicione condicionais. Toda programação começa com a compreensão da sequência. Então, vamos explorar características, exemplos e aplicações. Três subtítulos guiarão você pela execução linear. Portanto, ao final, você dominará o fluxo mais fundamental.
Execução linear: passo a passo
Python executa o código de cima para baixo. Cada comando completa antes do próximo começar. Quando usar execução linear? Em cálculos sequenciais. Por exemplo, fórmulas matemáticas ou processamento de dados. Além disso, você pode rastrear facilmente cada etapa. Exemplo de execução sequencial:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# Execução linha a linha (sequência pura) print("=== Sequência Pura ===") # Passo 1: Definir variáveis x = 10 y = 5 # Passo 2: Realizar operações soma = x + y subtracao = x - y multiplicacao = x * y divisao = x / y # Passo 3: Exibir resultados print(f"x = {x}, y = {y}") print(f"Soma: {soma}") print(f"Subtração: {subtracao}") print(f"Multiplicação: {multiplicacao}") print(f"Divisão: {divisao}") # Sequência em cálculos encadeados print("\n=== Cálculos Encadeados ===") a = 5 b = 3 c = a + b # Primeiro calcula a+b d = c * 2 # Depois usa o resultado e = d - 4 # Depois usa o resultado anterior print(f"a={a}, b={b}, c={c}, d={d}, e={e}") # Sequência com entrada e saída print("\n=== Interação Sequencial ===") nome = input("Digite seu nome: ") idade = input("Digite sua idade: ") print(f"Olá {nome}, você tem {idade} anos!") |
Sequência é intuitiva e fácil de depurar. Cada passo pode ser verificado individualmente. Portanto, comece seus programas sempre com sequência.
Sequência em algoritmos do dia a dia
Muitos problemas reais seguem uma sequência natural. Por exemplo, fazer um bolo segue uma receita passo a passo. Quando usar sequência no dia a dia? Em tarefas lineares. Também em scripts de automação e processamento de dados. Assim, você resolve problemas sem complicação desnecessária. Exemplo de algoritmos sequenciais:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# Conversão de temperatura (sequência pura) print("=== Conversão de Temperatura ===") celsius = 25 fahrenheit = (celsius * 9/5) + 32 kelvin = celsius + 273.15 print(f"{celsius}°C = {fahrenheit}°F = {kelvin}K") # Cálculo do IMC (sequência pura) print("\n=== Cálculo do IMC ===") peso = 70 # kg altura = 1.75 # metros imc = peso / (altura ** 2) print(f"Peso: {peso}kg, Altura: {altura}m") print(f"IMC: {imc:.2f}") # Área de figuras geométricas print("\n=== Área de Figuras ===") # Retângulo largura = 10 altura_ret = 5 area_retangulo = largura * altura_ret print(f"Retângulo {largura}x{altura_ret}: área = {area_retangulo}") # Círculo import math raio = 4 area_circulo = math.pi * raio ** 2 print(f"Círculo raio {raio}: área = {area_circulo:.2f}") # Triângulo base = 8 altura_tri = 6 area_triangulo = (base * altura_tri) / 2 print(f"Triângulo base {base}, altura {altura_tri}: área = {area_triangulo}") # Sequência em processamento de strings print("\n=== Processamento de Strings ===") frase = " Python é incrível " frase_limpa = frase.strip() # Remove espaços frase_maiuscula = frase_limpa.upper() # Converte para maiúsculo palavras = frase_maiuscula.split() # Divide em palavras print(f"Original: '{frase}'") print(f"Após strip: '{frase_limpa}'") print(f"Após upper: '{frase_maiuscula}'") print(f"Palavras: {palavras}") |
A sequência reflete o pensamento linear humano. Ela é perfeita para problemas que não exigem ramificações. Portanto, use sequência para tarefas diretas.
Depuração e rastreamento sequencial
Depurar código sequencial é simples e direto. Você pode adicionar prints entre cada passo. Quando usar depuração sequencial? Em código linear. Também para entender o fluxo de valores passo a passo. Além disso, você inspeciona cada estado intermediário. Exemplo de rastreamento sequencial:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# Rastreamento com prints print("=== Rastreamento Sequencial ===") # Função para simular processamento def processar_dados(dados): print(f"1. Entrada: {dados}") # Passo 1: Filtrar valores negativos dados_positivos = [x for x in dados if x > 0] print(f"2. Após filtro (positivos): {dados_positivos}") # Passo 2: Calcular quadrados quadrados = [x ** 2 for x in dados_positivos] print(f"3. Quadrados: {quadrados}") # Passo 3: Calcular soma soma = sum(quadrados) print(f"4. Soma dos quadrados: {soma}") # Passo 4: Calcular média media = soma / len(quadrados) if quadrados else 0 print(f"5. Média: {media:.2f}") return media dados_teste = [-3, 2, -5, 4, 6, -1, 8] resultado = processar_dados(dados_teste) print(f"Resultado final: {resultado:.2f}") # Depuração com variáveis de rastreamento print("\n=== Depuração com Acumulador ===") def calcular_estatisticas_sequenciais(valores): """Calcula várias estatísticas sequencialmente.""" print(f"Processando {len(valores)} valores...") # Soma e contagem (para média) soma = 0 contador = 0 for v in valores: soma += v contador += 1 print(f" Após adicionar {v}: soma={soma}, cont={contador}") media = soma / contador if contador > 0 else 0 # Encontrar máximo e mínimo maximo = valores[0] if valores else 0 minimo = valores[0] if valores else 0 for v in valores: if v > maximo: print(f" Novo máximo: {v} (era {maximo})") maximo = v if v < minimo: print(f" Novo mínimo: {v} (era {minimo})") minimo = v return {"soma": soma, "media": media, "max": maximo, "min": minimo} numeros = [5, 2, 8, 1, 9, 3] stats = calcular_estatisticas_sequenciais(numeros) print(f"\nResultados: {stats}") # Ordem das operações importa print("\n=== Importância da Ordem ===") # Exemplo correto a = 5 b = a + 2 c = b * 3 print(f"Ordem correta: a={a}, b={b}, c={c}") # Ordem trocada (daria erro se executado) # c = b * 3 # b ainda não foi definido # b = a + 2 # a = 5 print("A ordem das instruções define o resultado!") |
Sequência é a base para entender fluxogramas. A fórmula da execução sequencial é trivial: \(S = \text{linha}_1 \to \text{linha}_2 \to \text{linha}_3 \to \dots\) Domine a sequência antes de aprender condicionais e loops. Todo programa é uma sequência de instruções executadas. Portanto, seu código será mais claro se você respeitar a ordem natural. Finalmente, pratique sequência em todos os seus primeiros programas.