Capitulo 3: INPUT e LINE INPUT
Um programa normalmente recebe informacoes do usuario, seja quando o usuario digita um texto, seja quando o usuario aperta uma tecla. E agora nos vamos estudar como se pede para o usuario digitar algo.
INPUT
Sintaxe:
INPUT "bla-bla-bla", variavel
Sendo que:
A digitacao do usuario e' finalizada quando ele pressiona ENTER.
Exemplo:
CLS
INPUT "Qual e' o seu nome? ", nome$
PRINT "Benvindo ao Qbasic, "; nome$
O LINE INPUT funciona exatamente da mesma maneira que o INPUT, porem ha' uma diferenca. Usando o INPUT, voce pode pedir que o usuario digite varios dados separados por virgulas. Quando o INPUT encontra uma virgula, ele para de gravar a variavel e passa a gravar na outra variavel especificada, se houver. Ja' o LINE INPUT grava tudo o que o usuario digitar em apenas uma variavel.
Exemplo:
CLS
INPUT "Digite seu nome e seu telefone, separados por virgulas: ", nome$, tel$
PRINT "Seu nome e' "; nome$; " e seu telefone e' "; tel$
Capitulo 4: IF, WHILE, FOR
Voce ja sabe como fazer operacoes matematicas, comparacoes, escrever na tela e pedir que o usuario digite alguma coisa. O que esta' faltando? Esta' faltando voce processar essas informacoes. Isso e' feito com o comando IF (SE, em portugues, ou seja, indica condicao).
Sintaxe:
IF condicao THEN faca_alguma_coisa ELSE faca-outra_coisa
Pode parecer complicado, mas se nos traduzirmos o comando fica mais simples:
SE condicao ENTAO faca_alguma_coisa CASO CONTRARIO faca-outra_coisa
Sendo que:
OBSERVACAO: O ELSE e' opcional.
Exemplo:
CLS
INPUT "Digite 1 ou 2: ", numero
IF numero = 1 THEN PRINT "Voce digitou o numero UM!"
IF numero = 2 THEN PRINT "Voce digitou o numero DOIS!"
Mas, vamos supor que voce queira executar mais de um comando se uma condicao for verdadeira. Entao voce usa END IF no final:
IF condicao THEN
bla-bla-bla
bla-bla-bla
bla-bla-bla
ELSE
bla-bla-bla
bla-bla-bla
bla-bla-bla
END IF
Lembrando, o uso do ELSE e' opcional. Entao voce pode usar:
IF condicao THEN
bla-bla-bla
bla-bla-bla
bla-bla-bla
END IF
Ha' tambem o ELSEIF.
IF condicao1 THEN
bla_bla_bla
ELSEIF condicao2 THEN
bla_bla_bla2
ELSE
bla_bla_bla3
END IF
No modelo acima, se a condicao1 for verdadeira e' executado o trecho bla_bla_bla. Se a condicao1 for falsa, o programa analisa a condicao2. Entao, se a condicao2 for verdadeira (considerando que a condicao1 e' falsa), e' executado o trecho bla_bla_bla2. Mas, se condicao1 e condicao2 forem falsas, e' executado bla_bla_bla3
Exemplo:
INPUT "Digite sua idade: ", idade
IF idade > 80 THEN PRINT "Voce ja esta' bem velhinho(a)!"
ELSEIF idade > 40 PRINT "Voce ja' passou dos quarenta, hein?"
ELSEIF idade >= 18 PRINT "Voce e' adulto(a)"
ELSEIF idade >= 4 PRINT "Voce ' crianca"
ELSE PRINT "gu-gu-da-da"
END IF
WHILE
Sintaxe:
WHILE condicao
bla-bla-bla
WEND
WHILE significa ENQUANTO. Portanto o comando WHILE executa tudo o que estiver entre WHILE e WEND enquanto a condicao for verdadeira.
Exemplo:
CLS
WHILE numero >= 10
INPUT "Digite um numero menor que 10: ", numero
WEND
Tente digitar um numero maior ou igual a dez quando rodar o exemplo acima. O programa vai pedir que voce digite novamente enquanto o numero for maior ou igual a 10. Ele so' vai parar quando voce digitar um numero menor que dez.
FOR
Sintaxe:
FOR variavel = valor1 TO valor2 STEP acrescimo
bla-bla-bla
NEXT variavel
FOR repete tudo o que esta' entre FOR e NEXT determinado numero de vezes.
Sendo que:
Eu acredito que voce deve ter achado meio complicado. Mas eu vou exemplificar:
FOR i = 1 to 20 STEP 1
PRINT i
NEXT i
PRINT "Fim"
Esse exemplo executa PRINT i 20 vezes. Na primeira vez que FOR e' executado, o valor de i e' 1. Entao e' executado o comando PRINT i. Depois o FOR e' executado novamente, e o valor de i e' alterado para 2 (afinal 1 + 1 = 2), e assim por diante, ate' 20. Ai' o programa executa o comando PRINT "Fim".