Comando Se (CONDICAO_eh_Verdadeira) COMANDO1 [senao COMANDO2]
Esse comando é essencial para permitir que sob determinada condição (uma expressão lógica) o fluxo de execução
siga um ou outro caminho.
Por exemplo, pode-se construir um programa para computar a soma de todas as entradas de um extrato
bancário correspondente aos créditos separadas dos lançamentos de débito.
Desse modo, para cada entrada do extrato, deve-se verificar se é um valor positivo, nesse caso ele é acumulado em uma
variável para crédito, senão deve-se acumular em uma variável para débito.
Ou seja, de acordo com o resultado da avaliação de uma expressão lógica (valor positivo?),
deve-se seguir determinado fluxo de execução (um "caminho" de instruções).
Assim, nesse comando, pode-se subordinar a execução de um bloco de comandos por alguma expressão lógica EL
e, opcionalmente, pode-se complementar o comando com um bloco Senao,
se a EL resultar falso, o bloco senão será executado.
Sintaxe
A sintaxe desse comando em Portugol é:
se ( CONDICAO ) {
BLOCO_DE_COMANDOS;
}
ou
se ( CONDICAO ) {
BLOCO_DE_COMANDOS;
}
senao {
BLOCO_DE_COMANDOS;
}
Exemplo.
Abaixo está um código Portugol para que o usuário digite
2 valores inteiros, que serão armazenados nas variáveis a e b,
se o valor de a for menor (estrito) que o valor de b, então
será impresso "valor de a" eh menor que "valor de b", senão (ou seja, a condição resultou falso)
será impresso "valor de a" eh maior ou igual a "valor de b".
Por exemplo, se forem digitados 2 e 3, nesta ordem (como na figura 2), será impresso no console/terminal
2 eh menor que 3.
programa {
funcao vazio inicio ( ) {
inteiro a <- 0
inteiro b <- 0
leia ( a )
leia ( b )
se ( a < b ) {
escreva(a, " ", "eh menor que", " ", b, "\n")
}
senao {
escreva(a, " ", "eh maior ou igual a", " ", b, "\n")
}
}
}
|
|
 |
Fig. 1. Diagrama de fluxo de execução do comando de seleção 'se/senao'. |
|
Mais detalhes
Usando uma expressão lógica, esse comando permite selecionar a execução de um conjunto de comandos (pode ser apenas um)
de acordo com o resultado da expressão lógica EL.
Simbolicamente: Se EL resultar verdadeiro, então execute comandos.
Opcionalmente pode-se utilizar um complemento do tipo senao, ou seja, se a
expressão lógica resultar falso, um segundo conjunto de comandos será executado.
Simbolicamente:
Se (EL_resultar_verdadeiro), então EXECUTE_COMANDOS_VERDADEIRO, senao EXECUTE_COMANDOS_FALSO.
No exemplo da fig. 2 a expressão lógica EL é para verificar se o valor guardado na variável a é estritamente menor que o valor guardado na variável b.
Ali usamos apenas um comando subordinado a cada opção de fluxo, mas poderia-se se usar vários ou mesmo nenhum comando subordinado ao se
ou ao senao.
Exemplo Visual.
Na figura 2 está o código visual corresponente ao
Portugol do exemplo acima.
Fig. 2. Código visual correspondente ao código do exemplo acima.