Estrutura de seleção

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Estrutura de seleção (expressão condicional ou ainda construção condicional) é, na ciência da computação, uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano.

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 ver 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.

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]

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]

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.

Referências[editar | editar código-fonte]

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