Aula 03 - Estruturas de Decisão Condicional e Controle de Fluxo

Navegação Rápida

Metadados da Aula

  • Área: 06 Computação e Telecomunicações
  • Carga Horária Equivalente: 4 horas-aula teóricas e práticas
  • Pré-requisitos: Aula 02 - Tipos e Operadores
  • Palavras-chave: Estruturas Condicionais, Avaliação de Curto-Circuito, Complexidade Ciclomática de McCabe, Grafo de Fluxo de Controle, Casamento de Padrões Estrutural (match-case), PRODIST Módulo 8, Função ANSI 25

📌 Sumário da Aula

  1. 🧭 1. Contextualização e Objetivos de Aprendizagem
  2. 📋 2. Sumário Executivo dos Tópicos
  3. ⚡ 3. Fundamentação Teórica e Modelagem Matemática
  4. 🖼️ 4. Diagrama Técnico Integrado
  5. 💻 5. Implementação Prática em Engenharia Elétrica
  6. 📝 6. Banco de Questões de Fixação e Concursos Auditados
  7. 📚 7. Referências Bibliográficas e Normas Técnicas

🧭 1. Contextualização e Objetivos de Aprendizagem

O comportamento inteligente de qualquer sistema cibernético reside na sua habilidade de bifurcar a execução de tarefas a partir da interpretação de sinais do ambiente físico. Em subestações de energia elétrica, centros de controle operacional e plantas de geração eólica ou solar, decisões críticas — como o disparo instantâneo de disjuntores por curto-circuito, a partida de grupos geradores de emergência ou o alívio de carga por subtensão — dependem da avaliação determinística e segura de proposições lógicas encadeadas.

Esta aula estuda a formalização matemática das estruturas de desvio condicional (if, elif, else e match-case), as propriedades assintóticas e de segurança proporcionadas pela técnica de avaliação de curto-circuito (short-circuit evaluation), e introduz a métrica de engenharia de software de Complexidade Ciclomática de McCabe, fundamental para auditar a confiabilidade de softwares críticos e planejar suítes exaustivas de testes unitários.

Ao término desta aula, o engenheiro será capaz de:

  • Projetar árvores de decisão determinísticas e completas, garantindo cobertura total do espaço amostral de variáveis de processo e prevenindo estados indefinidos.
  • Aplicar a avaliação de curto-circuito para otimizar o tempo de processamento de CPUs embarcadas e prevenir exceções catastróficas de execução (como divisões por zero ou referências a ponteiros nulos).
  • Calcular a métrica de Complexidade Ciclomática de McCabe a partir do Grafo de Fluxo de Controle (), determinando o número de casos de teste necessários para homologação de software conforme normas de segurança funcional.
  • Implementar algoritmos modernos de desempacotamento estrutural e tratamento de telemetria utilizando a sintaxe match-case do Python 3.10+.

📋 2. Sumário Executivo dos Tópicos

  • Bifurcação de Fluxo: Desvio condicional baseado no valor de verdade de predicados booleanos ().
  • Curto-Circuito Lógico: Regra de otimização em que o segundo operando é avaliado apenas se o primeiro for insuficiente para determinar o resultado final: em A and B, se for falso, não é executado; em A or B, se for verdadeiro, não é executado.
  • Expressão Condicional Ternária: Síntese em uma única linha de atribuição funcional: x = valor_se_verdadeiro if condicao else valor_se_falso.
  • Complexidade Ciclomática (): Métrica quantitativa formulada por Thomas McCabe: , representando a quantidade de caminhos linearmente independentes no grafo de fluxo de controle. Define o número mínimo de testes unitários para cobertura de ramos.
  • Limites de Risco de McCabe: indica software de baixo risco e alta confiabilidade; denota código perigoso e inaceitável em engenharia de sistemas críticos.
  • Casamento de Padrões Estrutural (PEP 634): Estrutura match-case que combina inspeção de tipo, desempacotamento de dicionários/tuplas e filtros de guarda (if), substituindo sequências densas de if-elif-else.

⚡ 3. Fundamentação Teórica e Modelagem Matemática

3.1 Álgebra Booleana de Predicados e Estruturas Condicionais

Em lógica de programação, uma estrutura condicional mapeia o estado das variáveis de um sistema em trajetórias distintas de computação. Formalmente, seja o vetor de estado contendo as grandezas elétricas medidas (tensões, correntes, frequências e temperaturas). Um predicado é uma função booleana:

A estrutura canônica encadeada if - elif - else:

undefined