A 回答 (8件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
プログラムの構成を、(1)数字の読み込み→(2)サブルーチンの行き先処理→(3)各サブルーチン→(4)最後に数字データでまとめてみました。
10 DIM N(16)
20 FOR I=1 TO 16
30 READ N(16)
40 NEXT I
50 FOR I=1 TO 16
61 IF N(I)=1 THEN GOSUB 81
62 IF N(I)=2 THEN GOSUB 82
63 IF N(I)=3 THEN GOSUB 83
64 IF N(I)=4 THEN GOSUB 84
65 IF N(I)=5 THEN GOSUB 85
66 IF N(I)=6 THEN GOSUB 86
70 NEXT I
80 END
81 PRINT "(1)" :RETURN
82 PRINT "(2)" :RETURN
83 PRINT "(3)" :RETURN
84 PRINT "(4)" :RETURN
85 PRINT "(5)" :RETURN
86 PRINT "(6)" :RETURN
90 DATA 1,2,3,4,5,2,3,4,5,2,3,4,5,2,3,6
このプログラムで、81~86のサブルーチンを、(各命令の一まとめ)で置き換えれば、求めるものが出来ると思います。また、DIM(配列)とデータの数値を変えることにより、別の流れを自由に作ることが出来ます。
No.6
- 回答日時:
N88BASICですかぁ~幼稚園の頃からやってたのでうろ覚えになりますが↓ではないでしょうか?
10 (1)の処理
20 FOR I=1 TO 3
30 (2)の処理
30 (3)の処理
40 IF I=3 THEN 80
50 (4)の処理
60 (5)の処理
70 NEXT
80 (6)の処理
90 END
これが一番スマートかと思います。
ちなみに処理が長い時は10~90の数字が増えますが
THEN 80 の 80 を処理6の先頭行にすれば動くかと思います。
No.5
- 回答日時:
まず「繰り返しの規則性に注目」します、今回の場合は、
「1」で始まり「2→3→4→5」を3セット実行し「2→3→6」で終わっているようなので…
1000 gosub 1100
1010 for i=1 to 3
1020 gosub 1200
1030 gosub 1300
1040 gosub 1400
1050 gosub 1500
1060 next
1070 gosub 1200
1080 gosub 1300
1090 goto 1600
1100 (1の処理)
1190 return
1200 (2の処理)
1290 return
1300 (3の処理)
1390 return
1400 (4の処理)
1490 return
1500 (5の処理)
1590 return
1600 (6の処理)
1700 (処理終了)
こんな感じでよろしいのではないかと思います。
No.4
- 回答日時:
2次元配列のT(i,j)でコントロール用のテーブルを作る。
iはフェーズ。問題の1,2・・はサブルーチン化する。
(1)(2)(3)(4)(5)(6)<--サブi=1..1..1..1..1..1..0 ルーチン
i=2..0..1..1..1..1..0 の別
i=3..0..1..1..0..1..0
i=4..0..1..1..0..0..1
(以下省略)
(・・はOKWEBでの桁ズレを防ぐために入れただけ。ないものとして読んでください。)
For i=1 to 4
Gosub s1
Gosub s2
Gosub s3
Gosub s4
Gosub s5
Next i
として
Gosub のs1,s2,...s5の各先頭ステップに
If T(i,1)=0 then Exit sub
(処理)
Return
0がテーブルに立っていると、処理をせず素通りさせる。
Exit subはないだろうから、Returnの前の点にGoto。
No.3
- 回答日時:
こんにちは。
[2]->[3]->[4]->[5]
([]で命令の一まとまりを表しています)
という繰り返しが3回ありますので、次の例はどうでしょうか?
[1]
for i=1 to 3
[2]
[3]
[4]
[5]
next i
[2]
[3]
[6]
No.1
- 回答日時:
ループの仕方は、
For a=1 to 5
next a
といった感じですが、
ループの仕方が特殊なので、その仕様をまとめたほうがいいですね。
最後の 2→3→6 が 特殊。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF文に時間(何時から何時ま...
-
【C#/Java?】try-catchでcatch...
-
ExcelのVBAで、選択したファイ...
-
マクロで、次のコードへ行く前...
-
特定の名前のオートシェイプの...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
private subモジュールを他のモ...
-
どう増強すべきか
-
エクセル VBAで複数セル選択時...
-
VB6のロストフォーカス時の処理...
-
VB.NET SPRED(チェックボック...
-
起動しているIEをVBSで閉じると...
-
特定のファイルを他のプロセス...
-
ListViewから選択中の文字列を取得
-
winsockの非同期処理について
-
順番に処理させたい
-
タイマーの使い方
-
Form オブジェクトの戻り値の設定
-
c# の try の入れ子
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
Excel VBA セルの名前があるか...
-
特定の名前のオートシェイプの...
-
どうやってもFor文を抜けてしま...
-
特定のファイルを他のプロセス...
-
ExcelのVBAで、選択したファイ...
-
VB6にてネットワーク上にある共...
-
VBA 複数の行を高速で削除する...
-
Word VBA。各マクロの間に待ち...
-
フォルダのアクセス権確認について
-
エクセル VBAで複数セル選択時...
-
VBA For Each 〜 複数条件について
-
【C#】Page_Loadさせない方法に...
-
StatusStripの表示が更新されな...
おすすめ情報