Processamento condicional
Todo o processamento de um programa é baseado em testes
condicionais, ou seja, se algo for verdadeiro então faça
uma coisa, caso contrário siga adiante. Este teste é
produzido por uma instrução
IF .. THEN
No caso do Micro Bug não é preciso existir a declaração
THEN, já que o sistema entende que a instrução IF
implica em um procedimento alternativo. Resta saber quais
procedimentos alternativos são possíveis. A rigor, todas
as demais instruções podem ser usadas.
Estude o seguinte programa:
10 CLS
20 PRINT "Meu primeiro ";
30 LET vr=0
50 IF vr=5 GOTO 80
70 PRINT "programa."
75 STOP
80 PRINT "IF .. THEN."
85 STOP
Vamos entender passo a passo o processamento: vai ser
impressa a frase "Meu primeiro " e em seguida um complemento
para ela. Esse complemento vai depender da variável "vr",
criada na linha 30.
Portanto, na linha 50 será feito o teste e a tomada de
de decisão: se a variável "vr" for igual a 5, então (THEN)
faça um desvio (GOTO) para a linha 80. Caso contrário
execute a próxima linha.
Resumindo: se "vr" for igual a 5, a frase que veremos na
tela é "Meu primeiro IF..THEN.". Se não for, veremos a
frase "Meu primeiro programa.".
Mas, espere um pouco. A variável "vr" nunca será 5 pois
ela sempre recebe o valor "0", na linha 30. Não vai
adiantar nada acrescentarmos algum valor fixo a ela pois
o resultado seria o mesmo, até o final dos
tempos (ou até o equipamento queimar).
Vamos então adicionar à variável "vr" um valor aleatório
entre 0 e 10.
40 LET vr=vr&10
O operador "&" faz isso pra gente, ou seja, após ser
criada com o valor "0", a variável "vr" irá receber a
adição de um valor que pode ser qualquer um, de 0 a 10.
Dessa forma, em algum momento ela receberá o valor
5 e portando ocorrerá o desvio para a linha 80.
A linha 50, que testa a condição do desvio, pode
receber os principais operadores de condição, a saber:
"=", ">", "<", ">=", "<=" ou "<>".
Digite a listagem abaixo e a cada vez que ela for
executada (F5) será possível ver não apenas o desvio
acontecendo como também o valor que "vr" recebeu.
10 CLS
20 PRINT "Meu primeiro ";
30 LET vr=0
40 LET vr=vr&10
50 IF vr<>5 GOTO 80
70 PRINT "programa."
72 PRINT vr
75 STOP
80 PRINT "IF .. THEN."
82 PRINT vr
85 STOP
Experimente com os operadores de condição e também com
processamento a ser feito após a condição ter sido testada
como verdadeira (GOTO, GOSUB, LET, PRINT, etc).