アプリ版:「スタンプのみでお礼する」機能のリリースについて

擬似言語についての繰り返し処理にかんする質問です。

[要約]
擬似言語の繰り返し処理の条件部分に2つの条件がある場合は、2つの判断条件を表しているものなのか?

[詳細]
下記のような、擬似言語のループがありますが、繰り返しにもかかわらず、条件の部分に、2つの条件があるので、混同していましたが、この擬似言語の流れ図を見ると、選択構造が2つあり(if文の中にif文という構造)、なぜ、擬似言語の繰り返し条件として表しているのかが理解できませんでした。仮説ですが、こちらの擬似言語の引用は15年前に出版された書籍からのなので、昔は、こういう書き方をされていたのかな? という理解をしていますが、実際とのころはどうなのか? 分かりません。


■ J<M かつ N - I >= M- J
|
| (処理)
|



(補足)
流れ図より擬似言語化してみると、下記のように、IFで分岐さていました。

▲ J<M
| ▲ N - I >= M- J
|  | -------------
| ▼
|----------------------
|

A 回答 (4件)

J>M と N - I >= M - J の条件に対して、それぞれ別の処理が発生するなら下のようにしますし、


同じ処理しか無いのなら上の処理でいいのではないのでしょうか?

■ J<M かつ N - I >= M- J
|
| (処理)        #ループに入った場合、必ず実行される
|


▲ J<M
| ▲ N - I >= M- J
|  | -------------   #ここは、実行されるかどうかは条件に合うかによって変わる
| ▼
|---------------------- #この部分の処理が必ず実行される
|


このようにそれぞれのコードは、全く同じ実行結果になるとは限りません。
    • good
    • 0

その流れ図というのは、次のようになってないですか?



Label1: /* この疑似言語にはラベルが無いみたいだけど便宜上こうしておく */
▲ J<M
| ▲ N - I >= M- J
|  |(処理)
|  | Label1へ戻る /* GoToも無いみたいだけど便宜上こうしておく */
|  | -------------
| ▼
|----------------------
|


もしそうなら、同じことを表しています。


実際のプログラムでも「複数の条件を同時に(あるいは、少なくともどれか一つを)満たす場合」という判定はよくあります。
    • good
    • 0
この回答へのお礼

ありがとうございます。とても参考になります。
時々擬似言語で分からない書き方が出てくくるので非常にたすかりました。

お礼日時:2017/04/12 06:11

そのような書き方がどこでされているのかわからないので憶測で書くけど,


■ J<M かつ N - I >= M- J
の部分は
「J<M かつ N - I >= M- J」という 1つの条件
と解すべきじゃないかなぁ.

まあ, もう 1つの質問を読むと怪しくなるんだけど, 普通はそう考えるものだと思うよ.
    • good
    • 0
この回答へのお礼

ありがとうございます。
どのような箇所で使われているかによってということは、
ケースバイケースの部分もりそうです。

お礼日時:2017/04/12 05:51

While (条件) ~ Wend、Do ~ Loop Until (条件)


#VBの場合
等の場合は、条件文として複数条件が指定できます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そう思うと、擬似言語は言語によって解釈が変わってきますね。とても参考になります。

お礼日時:2017/04/12 05:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!