1.Quick Basic文法の基礎

(1)注釈行
’(クォテーションマーク)で始まる文(ステートメント)は,プログラムの実行に無関係な注釈行として扱われる。通常,プログラムの説明に使用される。
ステートメントの途中から’を付けて注釈を書き込むことも可能。

(2)入出力文
・INPUT文(キーボードからデータを入力)
@ INPUT [”プロンプト文字列”;] 変数 [,変数,……]  ?を表示
A INPUT [”プロンプト文字列”,] 変数 [,変数,…・・]  ?を表示せず
  ”  ”で囲まれたプロンプト文字列(入力を促す文字列)を画面に表示。
  キーボードから,変数に文字データを与える場合,文字列を ” ” で囲む必要はない。
  ただし,空白文字,カンマ,コロンを合む場合は ” ” で囲む。

・READ文(プログラム中のDATA文からデータを読み込む)
  READ 変数 [,変数,・…・]
  DATA 定数 [,定数,…・]

・PRINT文(ディスプレイヘの出カ)
@ PRINT [データ;データ; ……] データの区切りを;とした場合
       文字データの場合:各データの間隔が狭い状態で出カされる
       数値データの場合:前に符号(+の符号は空白),後ろに区切り記号を出力する。
A PRINT [データ,データ,…・…] データの区切りを,とした場合
       1データ当り14桁分使用,1行当り5データ分表示
B PRINT  ・・・PRINTの後ろに何も記述しない場合
           改行のみ行う

   ※上記のデータには,変数,算術式,数値定数,文字列などを含む。
     LPRINTとすると出力先はプリンターとなる。

(3)データの型(変数と定数を合わせてデータと呼ぶ)
  文字データと数値データ(整数型と実数型)に大別される。
    文字データ(文字列)
    整数データ   (−32768〜32767)          …・・整数型データ
    長整数データ (−2147483648〜2147483647) ・・・整数型データ
    単精度データ (−3.4E+38〜3.4E+38)         ……浮動小数点(実数)型データ
    倍精度データ (−1.7D+308〜1.7D+308)       ……浮動小数点(実数)型データ

(4)変数
     変数名の規則    ・変数名の先頭は英字で始まる
                  ・2文字目以降は英字,数字,ピリオドが使用可能
                  ・変数名の長さは最大40文字まで。ただし,他言語への
                   移植を考慮すると6文字程度の長さまでとするのが無難
                  ・大文字と小文字の区別はしない(小文字にするとキーワードとの識別が容易)
                  ・先頭がFNで始まると関数名とみなされるので使用不可
                  ・予約語(別表参照)は使用不可
     変数の型 ・・・・・・・ データの型に対応して夫々の変数にも型がある。
                  変数名の後ろに識別記号を付けて区別(その記号も含めて変数名と考える)する。

                  識別記号   文字型変数   OOOO$  (可変長,固定長)
                           整数型変数   OOOO%     (2バイト)
                           長整数型変数 OOOO&      (4バイト)
                           単精度型変数 OOOO!      (4バイト)
                           倍精度型変数 OOOO#      (8バイト)

               ※1   後ろの記号($,%,&,!,#)は型宣言文字。この
                    記号を省略すると,次に示す型宣言文がない限り,デフォ
                    ルトの単精度変数とみなされる。
               ※2   1 byte=8 bit,1 word=4 byte

       型宣言文    DEFINT :整数型変数を宣言
                 DEFLNG:長整数型変数を宣言
                 DEFSNG:単精度型変数を宣言(デフォルト)
                 DEFDBL:倍精度型変数を宣言
                 DEFSTR:文字型変数を宣言

              例) DEFINT A−C,R
                変数名の先頭の英字がA〜CおよびRで始まる変数はすべて整数型変数であると宣言。

(5)定数(数値定数と文字定数に大別)
      文字定数     :文字列で与えられる。この文字列のことをストリング(String)とも呼ぶ。
      整定数       :−25,100
      実定数       :−10.37(単精度),3.14159265358979(倍精度)
                  有効桁数は,単精度:7桁,倍精度:15桁
   指数部付き実定数  :2.125678E−15(単精度),2.14589658742128D+25(倍精度)

(6)算術演算子
         演算子            機能           演算             結果
          +              加算
          −              減算
          *              乗算
          /              除算           2/3          0.6666667
          ^               べき乗
          \             整数の除算       9.6\2.4          5
                      (小数点以下切り捨て) オペランド(9.6,2.4の数値のこと)にあらかじめ
                                     四捨五入の処理をしてから計算実行
         MOD            整数の除算の余り  11 MOD 4          3

   ・算術演算の優先順位
        べき乗 −−>負符号 −−>乗除算 −−>\,MOD−>加減算
           ( )を用いることにより,計算順序を変更できる。

(7)算術代入文(変数=式)
   右辺の算術式を計算して左辺に代入(この場合の=は,左向きの矢印←の意味)
  通常は,右辺の式の変数の型と左辺の変数の型を一致させる。

         一致していない場合の取扱い
      左辺     右辺     =の動作               例
     整数型    実数型   整数化して代入       a%=l.41(a%は1となる)
     実数型    整数型   実数化して代入        a=1(aは1.0となる)


(8)配列変数
    異なる変数名が同一プログラム中に多数存在すると,プログラムが複雑で分
   かりにくくなる。これを避けるために,性格が同じ変数をひとまとめにして添
   字付きの変数とし,添字の違いで個々の変数を区別する。

      例)1次元配列変数  x(1),x(2),・・・,x(1000)
        2次元配列変数  y(1,1),y(1,2),・・・,y(1,10)
                    y(2,1),y(2,2),・・・,y(2,10)
                    y(10,1),y(10,2),・・・,y(10,10)
        3次元配列     z(1,1,1),・・・,z(10,10,3)

       ※添字が異なると,その変数に割り当てられるメモリーのアドレスは異なる。

     ・配列宣言〜配列変数を使用するためには,使用する前にあらかじめプログ
             ラムの先頭で配列宣言を行い,必要なメモリー空間の領域を確保
             する必要がある。宣言に際しては,予想される最大の大きさの添
             字の値,あるいはそれ以上の適当に丸められた値とする。

         例)  DlM x(1000),y(100,10),z(10,10,3)

目次へ戻る

              別表 Quick Basicの予約語一覧

           ABS           ACCESS        ALIAS          AND
           ANY           APPEND        AS            ASC
           ATN           BASE          BEEP          BINARY
           BLOAD         BSAVE         BYVAL         CALL
           CALLS         CASE          CDBL          CDBL$
           CDECL         CHAIN         CHDIR          CHR$
           CINT          CIRCLE         CLEAR         CLNG
           CLOSE         CLS           COLOR         COM
           COMMAND$      COMMON       CONST         COS
           CSNG          CSNG$        CSRLIN          CVD
           CVDMBF        CVI           CVL            CVS
           CVSMBF        DATA          DATE$          DECLARE
           DEF           DEFDBL         DEFINT         DEFLNG
           DEFSNG        DEFSTR         DIM            DO
           DOUBLE        DRAW          ELSE           ELSEIF
           END           ENDIF          ENVIRON        ENVIRON$
           EOF           EQV           ERASE          ERDEV
           ERDEV$         ERL           ERR           ERROR
           EXIT           EXP           FIELD          FILEATTR
           FILES          FIX            FOR           FRE
           FREEFILE        FUNCTION       GET           GOSUB
           GOTO          HEX$          JIS$           IF
           IMP            INKEY$        INP            INPUT
           INPUT$         INPUT\        INSTR           INT
           INTEGER        IOCTL         IOCTL$          IS
           KEXT$         KEY           KILL            KLEN
           KMID$         KPOS$         KTN$            LBOUND
           LCASE$        LEFT$          LEN            LET
           LINE          LIST          LOC             LOCAL
           LOCATE        LOCK         LOF             LOG
           LONG          LOOP         LPOS            LPRINT
           LSET          LTRIM$        MID$            MKD$
           MKDIR         MKDMBF$       MKI$            MKL$
           MKS$         MKSMBF$       MOD            NAME
           NEXT          NOT          OCT$            OFF
           ON            OPEN         OPTION           OR
           OUT           OUTPUT       PAINT            PALETTE
           PCOPY         PEEK          PEN             PLAY
           PMAP          POINT         POKE            POS
           PRESET         PRINT         PSET            PUT
           RANDOM        RANDOMIZE      READ            REDIM
           REM           RESET         RESTORE         RESUME
           RETURN         RIGHT$        RMDIR           RND
           RSET           RTRIM$        RUN            SADD
           SCREEN         SEEK         SEG             SELECT
           SETMEM         SGN         SHARED           SHELL
           SIGNAL          SIN          SINGLE           SLEEP
           SOUND          SPACE$       SPC             SQR
           STATIC          STEP        STICK            STOP
           STR$           STRIG        STRING           STRING$
           SUB            SWAP        SYSTEM           TAB
           TAN            THEN        TIME$             TIMER
           TO             TROFF       TRON             TYPE
           UBOUND         UCASE$       UEVENT           UNLOCK
           UNTIL           USING        VAL              VARPTR
           VARPTR$         VARSEG       VIEW             WAIT
           WEND           WHILE        WIDTH             WINDOW
           WRITE           XOR

目次へ戻る