Estrutura de seleção

Origem: Wikipédia, a enciclopédia livre.

Na ciência da computação, estrutura de seleção (ou expressão condicional, ou construção condicional, ou função se-então-senão) é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes ações/computações dependendo se a condição/seleção é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Nas linguagens de programação, usamos as palavras em inglês para expressar uma estrutura de seleção, como if, else if e else.[1]

Seleção simples e composta[editar | editar código-fonte]

A condição "se-então(-senão)" é uma estrutura de seleção comum em diversas linguagens de programação. Sua estrutura básica é a seguinte:

Se (condição) Então
    (bloco de código)
Senão
    (bloco de código)
Fim Se

Quando o interpretador encontra o identificador "Se", ele espera em seguida uma condição booleana sob forma de expressão relacional (como por exemplo, "x > 0"), que pode ser verdadeira ou falsa. Se a condição é verdadeira, o bloco de código seguido de "Então" é executado. Caso a condição seja falsa, o bloco de código seguido de "Senão" é executado. Em ambos os casos, após a execução do bloco de código, o fluxo do programa é retornado para o ponto indicado por "Fim Se". Note que a parte do "Senão" é opcional e pode ser omitida. Caso omitida, a estrutura é chamada de seleção simples; caso contrário é chamada seleção composta.

Fluxograma de ramificação de condicionais

A estrutura "Senão Se" é formada pela composição de estruturas de seleção, e um exemplo de sua estrutura é o seguinte:

Se (condição) Então
    (bloco de código)
Senão
    Se (condição) Então
        (bloco de código)
    Fim Se
Fim Se

No exemplo acima, caso a primeira condição seja falsa, o fluxo do programa é desviado para o bloco de código do "Senão", onde há o processamento de outra estrutura de seleção.

Operador ternário[editar | editar código-fonte]

Ver artigo principal: operador ternário

O operador ternário é uma estrutura de seleção composta presente em linguagens de programação derivadas de C, e sua estrutura básica é a seguinte:

(condição) ? (bloco de código do Então) : (bloco de código do Senão)

Seleção de múltipla escolha[editar | editar código-fonte]

A seleção de múltipla escolha compara um dado valor a constantes, desviando o fluxo de código para o ponto indicado pela primeira constante onde há casamento. Sua estrutura básica é:

Escolha X
    Caso V1:
        (bloco de código)
    Caso V2:
        (bloco de código)
    Caso V3, V4:
        (bloco de código)
    Caso V5…V10:
        (bloco de código)
    Caso contrário:
        (bloco de código)
Fim Escolha

No exemplo acima, X é uma variável e os identificadores Vx são constantes. Essa sintaxe é genérica e muitas vezes não está disponível em algumas linguagens de programação. No primeiro e no segundo caso são feitos um casamento simples. No terceiro caso é feito um casamento com V3 ou V4. No quarto caso, é feito um casamento com valores entre V5 e V10: V5, V6, V7, V8, V9 e V10. No quinto e último caso é feito um casamento por defeito (que é opcional), isto é, um casamento que é usado caso nenhum outro seja feito.

O término de um bloco de código dentro de uma estrutura de múltipla escolha depende da implementação. Tipicamente, uma palavra reservada é usada no final do bloco. Quando encontrada, o fluxo de código é desviado para "Fim Escolha", terminando a estrutura. Caso a palavra não seja encontrada, várias linguagens de programação especificam que o fluxo de execução de código é continuado no próximo caso encontrado.

Casamento de padrões[editar | editar código-fonte]

Ver artigo principal: casamento de padrões

O casamento de padrões é uma alternativa mais sofisticada para as estruturas tradicionais de seleção, sendo disponibilizada em algumas linguagens funcionais. Um exemplo é dado abaixo:

case fruta com
| "maçã"  (bloco de código)
| "coco"  (bloco de código)
| "banana"  (bloco de código)

Asserto[editar | editar código-fonte]

Um asserto é uma estrutura de seleção usada em programação que indica que o desenvolvedor asserta que a condição dada é sempre verdadeira. Sua estrutura básica é a seguinte:

Asserte (condição)

É uma estrutura usada para auxiliar a especificação de programas, e para indicar pré-requisitos de blocos de códigos. Por exemplo, uma pré-condição é um asserto adicionado no início de um bloco de código, e determina o conjunto de estados em que o código é esperado ser executado. Da mesma forma, uma pós-condição é um asserto adicionado no final de um bloco de código, determinando o conjunto de estados em que o código é esperado após ser executado (essa técnica é parte do paradigma de programação por contratos).

No uso prático, diversas linguagens de programação modernas oferecem essa estrutura, que é verificada em tempo de execução. Caso a condição seja falsa, a execução é abortada, facilitando a depuração de um sistema.

Notas e Referências

  1. Mark Summerfield (2013). Programação em Python 3. [S.l.]: Alta Books. 495 páginas. ISBN 9788576083849 

Ver também[editar | editar código-fonte]