#99 Article 1039 Posted at 1995/12/16 23:13:41 by たぐれっと (MAP4870) [SAHOU.3]

Subject: Re: プログラミング作法・お題3 /1029

ソートですかぁ。では、こんなところで。N88-BASIC(86) です。


100 '"sort",a
110 KEY 2,"system"+CHR$(13)
120 '
130 PRINT "文字を入れてね。区切りは半角スペース。"
140 LINE INPUT MOJI$
150 OPTION BASE 1 : DIM MOJI$(127)
160 PO=1 : CO=1
170 *WAKERU
180  UMA=INSTR(PO,MOJI$," ")
190  IF UMA=0 THEN MOJI$(CO)=MID$(MOJI$,PO) : GOTO *SORT
200  IF MID$(MOJI$,PO,1)=" " THEN PO=PO+1 : GOTO *WAKERU
210  MOJI$(CO)=MID$(MOJI$,PO,UMA-PO)
220  PO=UMA+1 : CO=CO+1
230  GOTO *WAKERU
240 '
250 *SORT
260  FOR I=1 TO CO-1
270   IF MOJI$(I)>MOJI$(I+1) THEN SWAP MOJI$(I),MOJI$(I+1) : F=1
280  NEXT
290  IF F=1 THEN F=0 : GOTO *SORT
300 '
310 '結果発表~
320 PRINT
330 FOR I=1 TO CO
340  PRINT MOJI$(I)
350 NEXT
360 END


 ソート部より文字列分割のほうに労力を割いています(笑)

 ローカル? 命令解説。
 OPTION BASE。。。配列変数の添字の始まりを指定。0 か 1。
 あとは普通の命令。かな。

 ルーチンはへぼいけど(笑) IF文 (290行) で逃げてるし(^^;
---

 あ。前回のプログラムですが、
           ↑ |
250   GOTO *UNI  ――+ |
260 GOTO *ROOP    ここと |
270 CLOSE        ここ |
280 *OWARI    ←―――+

 260 と 270 は通らないので意味ないです(^^;
 あと "file not found" もチェックしてません(^^;


たぐれっと