¡¢£¤¥ ¦§¨© ¨ !"#
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