O que são estruturas condicionais?

TL;DR

Estruturas condicionais selecionam um caminho de execução conforme uma condição. O artigo usa testes de idade e classificação de nota para comparar como C, Java e Python 3 escrevem esses desvios de fluxo.

  • Por que importa: Uma condição pode selecionar uma instrução ou um bloco e mudar o caminho da execução.
  • Como funciona: O else acrescenta um ramo alternativo quando o primeiro ramo não é selecionado.
  • Na prática: O artigo contrasta um caso simples com uma cadeia que classifica uma nota em etapas.
  • Ponto de atenção: C, Java e Python 3 usam formas de if, mas diferem nas regras para a condição e na sintaxe dos blocos.

Dominar os principais conceitos da lógica de programação é um requisito para quem pretende atuar na área de desenvolvimento. Graças à crescente tendência de digitalização dos processos e modernização dos negócios dentro das empresas, os profissionais de desenvolvimento se tornaram cada vez mais requisitados e valorizados dentro do mercado.

Entre os aspectos mais importantes de qualquer linguagem de programação estão as estruturas condicionais. Elas representam decisões que o código deve tomar de acordo com as condições verificadas — mais ou menos da forma que fazemos nossas escolhas pessoais.

Quer saber mais e dominar de uma vez por todas as estruturas condicionais? É só continuar a leitura deste post!

Neste post 3

O que são estruturas condicionais?

Quando falamos em lógica de programação, as estruturas condicionais são recursos oferecidos pelas linguagens para que seja possível verificar uma condição e alterar o fluxo de execução do algoritmo. Assim, é possível definir uma ação específica para diferentes cenários e obter exatamente o resultado esperado durante o desenvolvimento de um site ou de uma aplicação.

O uso das estruturas condicionais é praticamente indispensável na maioria dos projetos, já que elas são capazes de realizar diferentes funções de forma prática. Elas permitem, por exemplo, controlar o conteúdo que será exibido, criar formulários dinâmicos, desenvolver mídias interativas e tornar páginas responsivas.

As estruturas condicionais estão entre os conceitos básicos das linguagens de programação. Ainda assim, conhecer a fundo suas aplicações e as diferentes possibilidades que ela oferece é uma excelente maneira de se tornar um profissional mais completo e se destacar em suas criações.

Como funcionam as estruturas condicionais?

Estruturas condicionais permitem selecionar um caminho de execução conforme uma condição. Em C, ‘if’/‘else’ e ‘switch’ são formas de seleção. As seções seguintes mostram ‘if’/‘else’ e cadeias de condições em C, Java e Python.

Uma estrutura com apenas ‘if’ associa uma condição a uma instrução ou bloco. Quando a condição não seleciona esse ramo, a execução prossegue sem executar esse trecho.

Quando há ‘else’, a estrutura inclui um ramo alternativo. Em C e Java, a cláusula ‘else’ é seguida por uma instrução; em Python 3, a cláusula ‘else’ é opcional e, quando presente, termina com dois-pontos e é seguida por um bloco de código.

Na prática, quando você está aprendendo a programar, é muito comum se confundir nas primeiras tentativas de estruturar um código com várias condições. Aquela lógica na cabeça parece perfeita e elegante, mas depois aparecem bugs bobos — como esquecer um ‘else’ ou engessar o fluxo todo num só caminho. Todo mundo já passou por isso (não deve ter programador que escape), então errar faz parte e, curioso, costuma ser o jeito mais eficiente de entender realmente como as ramificações funcionam. Com o tempo, esses tropeços vão diminuindo e a construção das condicionais se torna quase automática, meio no piloto automático, mas sempre com espaço para um novo erro ou outro, porque afinal, código é quase vivo.

Por falar nisso, vale também perceber como diferentes projetos podem exigir abordagens distintas. Você pode programar em um contexto bem direto, tipo lidar só com escolhas simples para mostrar um botão ou esconder um campo, enquanto em sistemas mais complexos chega um momento em que as condicionais encadeadas ficam difíceis de ler. Nessas horas, começar a pensar melhor na clareza, talvez até separar partes em funções, acaba sendo tão importante quanto entender a sintaxe. Dá para pegar exemplos disso em repositórios públicos, como no GitHub, onde sistemas grandes mostram tantos níveis de decisão que quase parecem um labirinto — e aí a gente vê como uma estrutura condicional bem pensada faz falta.

Para tratar mais de dois caminhos, encadeie condições conforme as regras da linguagem. C e Java permitem outro ‘if’ após ‘else’; Python permite zero ou mais cláusulas ‘elif’ e uma cláusula ‘else’ opcional.

As regras para a condição não são iguais nas três linguagens. Em C, a expressão de controle de ‘if’ deve ter tipo escalar e é comparada com zero; em Java, a expressão deve ser ‘boolean’ ou ‘Boolean’; em Python, a condição usa o valor de verdade de um objeto.

Como declarar estruturas condicionais em diferentes linguagens?

Os exemplos seguintes apresentam declarações de estruturas condicionais em C, Java e Python.

As três linguagens usam formas de ‘if’, mas diferem nas regras para a condição e na sintaxe dos blocos. Os exemplos mostram uma estrutura com dois ramos e uma cadeia de condições em cada linguagem.

Linguagem C

Inicialmente desenvolvida em 1972, a linguagem C é uma das mais antigas e também mais populares em uso até hoje. Ela é utilizada em diversos tipos de projeto, como criação de aplicativos, jogos e sistemas operacionais.

A linguagem C se destaca por ser simples e contar com uma boa portabilidade. Isso fez com que ela influenciasse diretamente na criação de outras tecnologias que dividem o mercado de linguagens de programação atualmente.

Em C, ‘if’ e ‘else’ compõem uma estrutura de seleção. A expressão de controle deve ser escalar:

#include <stdio.h>

int main(void) {
    int idade = 18;

    if (idade >= 18) {
        puts("maior");
    } else {
        puts("menor");
    }

    return 0;
}

Em C, uma instrução associada a ‘else’ pode ser outro ‘if’. O exemplo encadeia as condições e mantém um ‘else’ final opcional:

#include <stdio.h>

int main(void) {
    int nota = 7;

    if (nota >= 7) {
        puts("aprovado");
    } else if (nota >= 5) {
        puts("recuperacao");
    } else {
        puts("reprovado");
    }

    return 0;
}

Java

Com uma sintaxe derivada da C, o Java é uma linguagem de programação orientada a objetos. Java também distingue tipos primitivos de tipos de referência; portanto, nem todo valor usado no código é um objeto.

Por esses e outros motivos, o Java é também uma das linguagens mais utilizadas por programadores em todo o mundo. É possível encontrá-la em projetos de smartphones, consoles de jogos, datacenters e até supercomputadores científicos.

Em Java, ‘if’ e ‘else’ formam uma estrutura de seleção. A condição precisa resultar em ‘boolean’ ou ‘Boolean’:

public class CondicionalJava {
    public static void main(String[] args) {
        boolean inscricaoAtiva = true;

        if (inscricaoAtiva) {
            System.out.println("inscricao ativa");
        } else {
            System.out.println("inscricao inativa");
        }
    }
}

Para encadear condições em Java, uma instrução ‘if’ pode aparecer como o ramo de ‘else’. Uma cláusula ‘else’ final continua opcional:

public class ClassificacaoJava {
    public static void main(String[] args) {
        int pontuacao = 72;

        if (pontuacao >= 80) {
            System.out.println("alto");
        } else if (pontuacao >= 60) {
            System.out.println("medio");
        } else {
            System.out.println("baixo");
        }
    }
}

Python

A linguagem Python surgiu em 1991 também com a premissa de simplificar a escrita e a leitura dos algoritmos. Graças ao seu atual modelo de desenvolvimento comunitário, sua comunidade de usuários é uma das que mais crescem hoje em dia.

Em Python 3, uma cláusula ‘if’ termina com dois-pontos. Quando o bloco ocupa mais de uma linha, ele é indicado por indentação. A gramática também admite ‘elif’ e uma cláusula ‘else’ opcional:

idade = 18

if idade >= 18:
    print("maior")
else:
    print("menor")

Em Python 3, ‘elif’ é uma cláusula intermediária opcional; ela não substitui uma cláusula ‘else’ final, que também é opcional.

O exemplo a seguir, em Python 3, usa ‘if’, ‘elif’ e ‘else’:

nota = 7

if nota >= 7:
    print("aprovado")
elif nota >= 5:
    print("recuperacao")
else:
    print("reprovado")

Como vimos neste conteúdo, as estruturas condicionais são muito fáceis de utilizar e também fundamentais no desenvolvimento de sites e aplicativos. Dominando esse e outros conceitos de programação, certamente você será capaz de criar projetos incríveis e conseguir seu espaço no mercado.

Perguntas frequentes

Como Python 3 organiza um bloco condicional?

Em Python 3, a linha de if termina com dois-pontos. Se o bloco tiver mais de uma linha, a indentação define quais instruções pertencem a ele. O exemplo simples declara idade como 18 e imprime uma mensagem diferente conforme a comparação; os ramos ficam visíveis pela indentação.

O que uma condição de if precisa produzir em Java?

Em Java, a expressão usada no if precisa resultar em boolean ou Boolean. O artigo mostra uma variável boolean chamada inscricaoAtiva e, em outro exemplo, comparações de pontuacao com 80 e 60. Esses valores alimentam a expressão de seleção antes de cada chamada a System.out.println.

Como C interpreta a condição de um if?

Em C, a expressão de controle do if deve ter tipo escalar e é comparada com zero. Uma expressão diferente de zero seleciona o primeiro ramo; uma expressão igual a zero seleciona o else, caso ele exista. Os exemplos usam comparações de idade e nota para produzir essa expressão de controle.

Como organizar várias condições em sequência?

Uma cadeia permite testar um caso e seguir para o próximo somente quando o anterior não foi selecionado. Em C e Java, um if pode aparecer após else. Em Python 3, a sequência usa elif entre o if inicial e um else opcional. Os exemplos de classificação mostram esse encadeamento com uma nota.

MM Matt Montenegro