Tcl - Decisões

As estruturas de tomada de decisão exigem que o programador especifique uma ou mais condições a serem avaliadas ou testadas pelo programa, juntamente com uma instrução ou instruções a serem executadas se a condição for determinada como verdadeira e, opcionalmente, outras instruções a serem executadas se a condição está determinado a ser falso.

A seguir está a forma geral de uma estrutura típica de tomada de decisão encontrada na maioria das linguagens de programação -

A linguagem Tcl usa o comando expr internamente e, portanto, não é necessário usarmos a instrução expr explicitamente.

A linguagem Tcl fornece os seguintes tipos de declarações de tomada de decisão -

Sr. Não. Declaração e descrição
1 declaração if

Uma declaração 'if' consiste em uma expressão booleana seguida por uma ou mais declarações.

2 declaração if ... else

Uma instrução 'if' pode ser seguida por uma instrução opcional 'else', que é executada quando a expressão booleana é falsa.

3 instruções if aninhadas

Você pode usar uma instrução 'if' ou 'else if' dentro de outra instrução 'if' ou 'else if'.

4 declaração switch

UMA switch declaração permite que uma variável seja testada quanto à igualdade em relação a uma lista de valores.

5 instruções switch aninhadas

Você pode usar um switch declaração dentro de outra switch afirmações).

O ? : Operador

Nós cobrimos conditional operator ? : no capítulo anterior, que pode ser usado para substituir if...elseafirmações. Tem a seguinte forma geral -

Exp1 ? Exp2 : Exp3;

Onde Exp1, Exp2 e Exp3 são expressões. Observe o uso e a localização do cólon.

O valor de um '? expressão 'é determinada assim: Exp1 é avaliada. Se for verdade, então Exp2 é avaliado e se torna o valor de '? expressão.' Se Exp1 for falso, então Exp3 é avaliado e seu valor se torna o valor da expressão. Um exemplo é mostrado abaixo.

#!/usr/bin/tclsh

set a 10;
set b [expr $a == 1 ? 20: 30]
puts "Value of b is $b\n"
set b [expr $a == 10 ? 20: 30]
puts "Value of b is $b\n"

Quando você compila e executa o programa acima, ele produz o seguinte resultado -

Value of b is 30
Value of b is 20