今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re^3: SOSU6 素数を表示、カウントするテスト6
投稿日: 2024/03/05(火) 14:12
投稿者としき
参照先http://toshiki.la.coocan.jp/
 番 号 11138    11133 番 konno さんへのコメント    コメント数 1

LOCATEなんていう、割と基本的なところからして違うものなのですね。

> LOCATE 縦位置,横位置,カーソル表示スイッチ,カーソル開始位置,カーソル終了位置
> 
> 私がN88系と違うと思ったのは、縦と横が逆なところです。
> 他の構文は、横、縦なので、間違えやすいですね。MS系の歴史でしょうか。

えと、LOCATEが縦、横の順というのは、Turbo Basic と TBasic の両方ですか?
それともどちらかだけ?
ちなみに、N88の場合は

LOCATE 横位置,縦位置,カーソル表示スイッチ

だけです。
カーソルの開始位置、終了位置ってなんだろう。
横長のカーソルを表示できるのかな。
それとも、その制限の範囲にカーソルがこない場合は表示されない、とか。

> 移植するなら、他の素数プログラムが良いと思います。

konnoさんの新しいのもリリースされたし、そっちを狙おうかな。
とりあえず、SOSU6の方を移植するとなると気になる部分がひとつ。
もしかしたら16ビットのBASICでは改善されているかもしれませんが。

loop2:			' 数値を確定した素数で割り切れれば合成数
  for ii!=1 to co!-1
    b!=int(i!/co1%(ii!)):if b!=i!/co1%(ii!) then noflg=1:goto lpend2
  next ii!
lpend2:

8ビット時代のBASICでは、こういうループの脱出方法をは推奨されなかった。
FORのループを完了させずに途中で脱出すると、スタックにデータが詰みあがった
ままになってしまうのだそうで。
たしか、新しくRUNするとクリアされるのだったかなぁ。
もしかしたら、明示的にCLEARというコードを書かないとクリアされなかったかも
しれない。
この辺は処理系によって違うかもしれないし、当時のBASICのリストを見ると、DEFINT
と同様、ソースの先頭でおまじないのようにCLEARを入れているものが多かったので、
この辺で混同している部分もあるかもしれない。
で、結局どうするのがよいかというと

*LOOP2
FOR II!=1 TO CO!-1
    IF INT(I!/CO1%(II!))=I!/CO1%(II!) THEN NOFLG=1:II!=CO!-1
NEXT

こんな感じで無理やり強制的にループの制御変数の値を書き換えてしまう、という
ワザが使われていました。

    - No.11138 一括表示へ   -   コメント元:11133 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11097.素数を表示、カウントするテスト - konno 24/02/20-23:45
  ┣11115.Re: 素数を表示、カウントするテスト - としき 24/02/26-13:22
  ┃┗11117.Re^2: 素数を表示、カウントするテスト - konno 24/02/26-22:12
  ┃ ┗11119.Re^3: 素数を表示、カウントするテスト - としき 24/02/27-23:55
  ┃  ┗11121.Re^4: 素数を表示、カウントするテスト - konno 24/02/28-01:23
  ┃   ┗11122.Re^5: 素数を表示、カウントするテスト - としき 24/02/28-17:45
  ┣11120.素数表示、カウント SOSU5.EXE 更新 - konno 24/02/28-00:47
  ┃┣11123.Re: 素数表示、カウント SOSU5.EXE 更新 - konno 24/02/29-18:45
  ┃┗11126.Re: 素数表示、カウント SOSU5.EXE 更新 - としき 24/03/01-01:28
  ┃ ┗11127.Re^2: 素数表示、カウント SOSU5.EXE 更新 - konno 24/03/01-23:46
  ┗11128.SOSU6 素数を表示、カウントするテスト6 - konno 24/03/02-00:03
   ┣11129.Re: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/03-16:48
   ┗11131.Re: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/04-23:23
    ┗11133.Re^2: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-00:03
     ┗11138.Re^3: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/05-14:12
      ┗11141.Re^4: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-16:55
       ┗11143.Re^5: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/05-17:58
        ┗11145.Re^6: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-23:15

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]