Em
Octave temos três opções de uso para a declaração de controle if. A primeira e mais simples é:
if condição
codigoParaExecução
endif
No trecho acima a condição fornecida é verificada. Se for verdadeira, as ações indicadas no código para execução são realizadas. Semelhante a outras linguagens, Octave considera a condição como sendo verdadeira se seu valor é diferente de zero. Ou seja, para a condição ser considerada falsa é necessário que seu valor seja zero. Também é possível indicar um vetor/matriz como condição. Nesse caso, somente se todos os elementos do vetor/matriz forem zero a condição será considerada falsa.
A segunda opção de uso para a declaração de controle if é:
if condição
codigoParaExecução
else
codigoAlternativo
endif
No caso acima, se condição for verdadeiro, será executado o codigoParaExecução. Se não, o codigoAlternativo será executado.
A terceira e última opção de uso para if é:
if condição
codigoParaExecução
elseif condição
codigoAlternativo
else
outroCodigoAlternativo
endif
A diferença desse caso para o anterior é a existência de mais testes, seguindo o termo elseif, que pode aparecer quantas vezes você quiser. Cada condição é testada, e a primeira a ser considerada verdadeira terá seu código correspondente executado. Por último, um único else pode estar presente, indicando o código se todas as outras opções falharem.
Vejamos alguns exemplos do uso de if. Suponhamos que você fez uma pergunta ao usuário, sobre a dimensão (L) de uma rede quadrada (representada por uma matriz REDE). Se a rede tiver dimensão maior que 10, o programa deve "transformar" os valores da rede em inteiros. Se não, deve deixar como está. O código em Octave pode ficar assim:
if (L>10)
int32(REDE);
endif
Simples, não? Este uso de if é realmente simples, mas também igualmente útil. O código acima pode ser usado para criar "chaves", um ótimo conceito muito bem abordado por
Aurélio Marinho em seu livro
Shell Script - Profissional. Tal livro obviamente não é sobre Octave, mas o conceito de chaveamento é importante também aqui.
E como usar o "chaveamento"? Pense em uma rede de trens urbanos, com os seus trilhos indo para todos os lados. Como comandar o fluxo dos trens? Se você já viu os cruzamentos dos trilhos, seja ao vivo ou em filmes, sabe que há aparelhos em cada cruzamento, onde uma alavanca comando o fluxo: se a alavanca estiver virada para um lado, o trem segue um caminho, e se a alavanca estiver virada para outro lado, o trem seguirá outro caminho diferente. Esse mesmo conceito pode ser usado em programação.
Se o programa deve executar ou não uma sequência dependendo do valor de uma variável, é um ótimo momento para pensar no uso de chaves, como fizemos no exemplo acima. Perceba que não alteramos de forma alguma o tamanho L da REDE. A variável serviu apenas para verificação. É como se tivéssemos uma chave, um interruptor: se estiver ligada, fluxo para um lado, e se estiver desligada o fluxo vai para o outro. Simples.