Controle do Programa no Visual Basic – Parte 1

Os pequenos programas que você escreveu são extremamente simples: executam instruções seqüenciais, realizam tarefas sem grandes desvios e, via de regra, são relativamente descomplicados. Este capítulo introduz conceitos que lhe ajudarão a ter um controle adicional sobre como um programa é executado, permitindo-lhe criar mecanismos que possam tratar de várias condições, repetidamente e com ampla variedade de dados.

Fazendo Escolhas

Os programas escritos nos capítulos anteriores eram formados exclusivamente por instruções e expressões, o equivalente a frases imperativas da língua portuguesa. Porém, ninguém, nem mesmo o mais exaltado ditador vitalício, pode passar a vida inteira apenas dando ordens. Na vida real, as pessoas precisam fazer escolhas. A ferramenta principal do Visual Basic para tratamento de escolhas é a instrução If.

A Instrução If

Suponhamos que você esteja ensinando a um amigo como obedecer aos sinais de tráfego. Em particular, o que deve ser feito quando se encontra um sinal de Atenção. Você pode explicar o sinal de Atenção da seguinte forma: “Reduza a velocidade para 20 Km/hora. Caso não venha ninguém, continue o seu caminho; do contrário, pare e deixe o carro passar”. Em Visual Basic, essas instruções poderiam ser transformadas em:

Figura 6.1

Figura 6.1

 A forma clássica da instrução If especifica uma escolha entre duas opções. Na vida real, é costume escolher-se uma alternativa, deixando de lado a outra e suas possíveis conseqüências. Como programador, é necessário seguir todas as alternativas possíveis, até suas últimas conseqüências. Como programador, você tem de orientar o computador. Como você não sabe exatamente quais condições o programa encontrará a cada momento quando estiver em processamento, torna-se necessário incluir instruções para tratamento de todos os casos. No exemplo do sinal de Atenção, você não sabe quando seu amigo encontrará ou não carros trafegando, assim forneça as instruções adequadas para as duas possibilidades. Na codificação de seu programa, aplique um mecanismo conhecido como desvio condicional, usando a instrução If.

Eis aqui a sintaxe da instrução If em Visual Basic:

If expressão booleana Then
[Instrução] ..
Else
[Instrução] …
End If

A palavra-chave If é seguida por uma expressão booleana, que (como você se recorda do Capítulo 4) é uma expressão avaliada como Verdadeira (True) ou Falsa (False). Isso é um outro exemplo da representação do mundo em termos binários: True ou False, Desvio à esquerda ou à direita, If ou Else. Caso a expressão booleana seja True, todas as instruções que seguem a palavra Then até a palavra-chave Else serão executadas. (As reticências na descrição da sintaxe indicam que pode haver mais de uma instrução.) O programa então saltará as próximas instruções, continuando a sua execução após as palavras-chave End If. Se a expressão booleana for False, as instruções imediatamente após a palavra Then serão saltadas. Quando for encontrada a parte Else da instrução If, o programa continuará a executar as instruções. Os dois possíveis caminhos de execução são mostrados a seguir:

Figura 6.2

Figura 6.2

A instrução If é uma instrução composta – isto é, apesar de ser avaliada como um todo, ela contém várias instruções dentro de si. A maioria dos programadores costuma colocar essas instruções internas recuadas, para melhorar a sua visualização. Observe como seria difícil ler o primeiro exemplo se isso não fosse feito.

Figura 6.3

Figura 6.3

Se você examinar a definição da sintaxe da instrução If, poderá ver que a parte Else da instrução é opcional. Isso evita codificação desnecessária quando não houver instruções para serem colocadas para a cláusula Else. Assim, estes dois fragmentos de programa são equivalentes:

Figura 6.4

Figura 6.4

Múltiplas Escolhas

A instrução If permite ao seu programa tratar da escolha entre duas opções. Mas como o seu programa pode tratar uma escolha entre muitas opções? Vejamos como utilizar a instrução If para tratar múltiplas escolhas.
A título de exemplo, considere o problema de identificação de cada um dos Três Patetas. Obviamente, você tem três possibilidades de escolha. Neste caso, o tipo de cabelo pode ser usado como característica de identificação. Você pode construir um teste simples, como mostrado na Figura 6.5.

Figura 6.5

Figura 6.5

O uso da instrução If para construção de uma seleção múltipla pode trazer à lembrança o jogo das Vinte Questões, onde uma pessoa pensa em alguma coisa de um tipo previamente combinado e as outras pessoas tentam adivinhar de que se trata, fazendo perguntas que recebem sempre uma resposta do tipo “Sim” ou “Não”. A cada resposta, certas características vão sendo eliminadas, e o processo de adivinhação se encaminha para uma certa direção.

A codificação a ser implementada em Visual Basic para fazer o teste dos Três Patetas, da Figura 6.5, é mostrada aqui; a segunda instrução If é uma instrução aninhada integralmente contida na primeira:

if Cabelo = “Nenhum” Then
Pateta = “Curly”
Else
lf Cabelo = “Preto” Then
Pateta = “Moe”
Else
Pateta = “Larry”
End If
End If

Como o aninhamento de mais de duas ou três instruções If torna-se complexo, o Visual Basic oferece uma variante para a cláusula Else, chamada ElseIf. A cláusula ElseIf combina a cláusula Else com a funcionalidade de outra instrução If. Veja a seguir uma versão da codificação precedente, refeita para usar ElseIf. Ao lado, encontra-se a sintaxe completa para as instruções If do Visual Basic.

Figura 6.6

Figura 6.6

Conforme indicado pela sintaxe da instrução, a cláusula ElseIf pode ser repetida muitas vezes, eliminando a necessidade de colocação de múltiplas instruções If aninhadas.

Artigo gentilmente cedido por Codelines

Compatilhe esse artigo!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.