¡¢£¤¥ ¦§¨© ¨ !"#

Transcrição

¡¢£¤¥ ¦§¨© ¨ !"#
4EDVLF
*XLD
5iSLGR
Elaborado pelo Prof. Cristian Machado Goularte
Revisão: 01/Set/2005
PRINT
Exibe uma mensagem na tela.
Exemplo:
PRINT "CIMOL"
PRINT 2004
Obs.: Veja que palavras devem ficar entre aspas duplas, para números, não se usa aspas.
INPUT
Captura uma letra, palavra ou número do teclado.
Exemplo 1:
INPUT "Digite a sua idade:", IDADE
PRINT IDADE
Exemplo 2:
INPUT "Digite o seu nome:", NOME$
PRINT NOME$
Obs.: Se a variável poderá receber número e letras, utiliza-se $ no fim da variável, não é
possível realizar cálculos com variáveis $.
CLS
Limpa a tela
CALCULOS
Aritméticas mais comuns:
+ :soma
- :subtração
/ :divisão
* :multiplicação
^ :Expoente
SQR(numero) :raiz quadrada
Exemplos:
CLS
INPUT "Digite o valor de A: ", A
INPUT "Digite o valor de B: ", B
PRINT A+B
PRINT SQR(A+B)
2
SALVANDO UMA INFORMAÇÃO EM ARQUIVO (modo texto):
No Qbasic é possível guardar uma informação lida ou gerada pelo programa:
Exemplo 1:
CLS
LINE INPUT "Digite o seu nome:", NOME$
LINE INPUT "Digite a sua idade:", IDADE$
INPUT"DESEJA SALVAR?(1=SIM/2=NAO)",SALVAR$
IF SALVAR$="1" THEN
OPEN "C:\TESTE.TXT" FOR OUTPUT AS #1
PRINT #1, NOME$
PRINT #1, IDADE$
ELSE
CLOSE #1
ENDIF
END
Traduzindo:
Abrir "C:\TESTE.TXT" para saída (gravar) como arquivo 1
Grava no arquivo 1, Nome Digitado
Grava no arquivo 1, Idade Digitada
Fechar o arquivo 1
Por que usar AS #1?
Suponha que você queira gravar cada informação em arquivos diferentes, ex.:
Exemplo 2:
CLS
LINE INPUT "Digite o seu nome:", NOME$
LINE INPUT "Digite a sua idade:", IDADE$
OPEN "C:\NOME.TXT" FOR OUTPUT AS #1
OPEN "C:\IDADE.TXT" FOR OUTPUT AS #2
PRINT #1, NOME$
PRINT #2, IDADE$
CLOSE #1
CLOSE #2
END
3
LENDO A INFORMAÇÃO DE UM ARQUIVO (modo texto):
Para que este programa funcione, você deve executar o Exemplo 1 do tópico anterior.
CLS
OPEN "C:\TESTE.TXT" FOR INPUT AS #1
LINE INPUT #1, NOME$
LINE INPUT #1, IDADE$
CLOSE #1
PRINT "O NOME SALVO ERA: ";NOME$
PRINT "A IDADE ERA: ";IDADE$
PRINT "DAQUI A UM ANO, A IDADE SERÁ: ";VAL(IDADE$)+1
END
SALVANDO UMA INFORMAÇÃO EM ARQUIVO (modo binário):
Este programa converte um número em um caractere da tabela ASCII e depois, salva em
modo binário (utilizado para transferencia de dados)
OPEN "teste.txt" FOR BINARY AS #1
DIM s AS STRING * 1 ' define s com variável tipo string
FOR cont& = 0 TO 255 'até 255 por que é toda tab ASCII
s = CHR$(cont&)
'converte numero cont& para string e
'guarda em s.
PUT #1, cont&, s
'grava no arquivo teste.txt,
'o caractere de s na posição cont&
NEXT cont&
'incrementa
cont&,para
'Caractere ASCII, até 255
CLOSE #1
'fecha teste.txt
gerar
próximo
VAL
Quando se utiliza uma variável Alfanumérica (com $ no final) para armazenar letra e
números, o programa interpreta tudo como letras, portanto, não realiza cálculos:
Errado (tipo incompatível):
INPUT "Digite um número e receba o dobro:", NUMERO$
PRINT NUMERO$ * 2
Correto:
INPUT "Digite um número e receba o dobro:", NUMERO
PRINT NUMERO * 2
Correto:
INPUT "Digite um número e receba o dobro:", NUMERO$
PRINT VAL (NUMERO$) * 2
4
SLEEP
Gera um atraso no programa pelo tempo determinado em segundos.
Máximo: 2.099.999.999 seg (67,5 anos)
PRINT
SLEEP
PRINT
SLEEP
PRINT
END
"ESPERE 2 SEGUNDOS"
(2)
"ESPERE 3 SEGUNDOS"
(3)
"PASSARAM 5 SEGUNDOS... FIM"
FOR ... NEXT
Executa uma seqüência de instruções até atingir a repetição programada.
O programa abaixo executa a instrução de mostrar a mesma variável 10 vezes:
CLS
TEMPO = 0
FOR A = 1 TO 10
PRINT "TEMPO DECORRIDO:";TEMPO; " segundos..."
SLEEP 1
NEXT TEMPO
END
Para iniciar a contagem em 5, por exemplo, basta modificar a linha 3 do exemplo
anterior:
FOR A = 5 TO 10
Pode-se ainda, definir o incremento da variável, se será de 2 em 2, 3 em 3....
FOR A = 1 TO 10 STEP 2 (incremento 2 em 2)
Contagem decrescente:
FOR A = 10 TO 1 STEP - 1
A variável A e TEMPO utilizadas no laço FOR... NEXT deve ser do tipo numérica e
incorreto).
pode receber qualquer nome, desde que não termine com $ (tipo A$
5
LOCATE
Posiciona o cursor em uma determinada coordenada da tela.
CLS
LOCATE 1,5:PRINT "TEXTO NA LINHA 1, COLUNA 5"
FOR A=2 TO 10
LOCATE A,5:PRINT "TEXTO NA LINHA ";A;"COLUNA 5"
NEXT A
END
ENVIANDO DADOS PARA PORTA PARALELA
O valor enviado pode ser de 0 a 255, que corresponde aos 8 bits do endereço 378.
CLS
FOR A = 0 TO 255
LOCATE 12, 30: PRINT "VALOR ENVIADO: "; A
OUT &H378, A
SLEEP 1
NEXT A
END
6

Documentos relacionados