Estrutura de seleção

na ciência da computação, estrutura de seleção a uma estrutura de desvio do fluxo de controle presente em linguagem de programação
(Redirecionado de Expressão condicional)

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

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

 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

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

 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

Um asserto é uma estrutura de seleção usada em programação que indica que o desenvolvedor asserta que a condição dada é sempre verdadeira. Suaestrutura 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