Estrutura de Condição Composta: se-então-senão

O algoritmo 8 resolve o nosso problema quando a pessoa é maior de idade, porém não nos dá nenhum retorno para quando a mesma for menor de idade. Para contornar esse tipo de situação, a estrutura de condição se-então, oferece a possibilidade de executarmos uma determinada ação ou comando se o resultado da expressão lógica for verdadeiro e de executarmos uma ação diferente se o resultado da expressão lógica for falso. Para essas situações é utilizado o comando senão, como mostrado abaixo.


se <expressão-lógica> então:
<bloco de comandos verdade>
senão:
<bloco de comandos falsidade>
fim-se


Figura 6.1: Estutura de um comando se-então.

Na estrutura se-então-senão, o bloco verdade é executado se a expressão lógica é verdadeira e o bloco falsidade, que vem após senão, é executado se a expressão lógica é falsa. A Figura 6.1 mostra esquematicamente como funciona uma estrutura de condição se-então. de modo geral. Quando o processamento do algoritmo chega numa estrutura se-então a expressão lógica nela contida é avaliada; se o seu valor é verdadeiro ( $ \mathbb{V}$ ) então o bloco de comandos seguinte ao se, chamado bloco-verdade, é executado. Caso o resultado da expressão lógica seja o bloco de comandos posterior ao comando senão, chamado de bloco-falso, é executado. Se a estrutura de condição não possui uma cláusula senão, então no caso da expressão lógica ser falsa, a execução do algoritmo continua na linha subsequente ao bloco se-então.

O algoritmo 9 mostra como escrever que a pessoa é maior de idade quando tem 18 anos ou mais, ou que a pessoa é menor de idade quando essa condição não é atendida.


\begin{algorithm}
% latex2html id marker 1908\caption{Condição: maior ou meno...
...de idade'')}
\ENDIF
\PRINT{(\lq\lq Boa Sorte'')}
\end{algorithmic}\end{algorithm}

Neste caso, a expressão lógica é (idade>=18). Se for verdadeira então o bloco-verdade (linha 5) será executado; isto depende da variável idade lida na linha 3. Caso contrário, o bloco-falso (linha 7) seria executado. A seguir, o processamento segue na linha seguinte à estrutura de condição, neste caso a linha 9 seria executada independente do valor da variável idade.



Subsections
root 2009-03-12