• 締切済み

repeat文

{int i; i := 0;  repeat {i := g(i,y); x := h(x);} until (x <= 0)  z := i; } 以上のrepeat文ですが、 repeat後ろのブロック文何の意味でしょうか、すなわち、{i := g(i,y); x := h(x);} はよく理解できません。ご教授お願いいたします。

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.4

#3さんへの補足を読んだけど、結局何が分からないの? >すなわち、{i := g(i,y); x := h(x);} はよく理解できません。 この g とか h とかの意味が分からないというのであれば、何の意味もないですよ。 ただ単にほかで定義している関数というだけです。 その中身は誰にも分かりようがありません。

  • KI401
  • ベストアンサー率53% (44/82)
回答No.3

repeat A until B は、「Bになるまで(Bを満たすまで)Aを繰り返せ」の意味。 今Aはブロック文{~}で記述されているが、 gやhが具体的に何なのか分からないのでこれ以上の解説は不可能。 gやhについて定義している式がある筈なので、更に解説が必要ならば プログラム全体を補足として提示してください。

kitaguti_2
質問者

補足

repeat <ブロック文> until (< 論理式>) 次の ブロック文をC言語 の範囲で書き直せ。 {int i; i := 0;  repeat {i := g(i,y); x := h(x);} until (x <= 0)  z := i; } ただし,変数x, y, z はこのブロックを通用範囲に含む位置で宣言されており,また,関数g, h の定義は,C の関数定義として別途与えら れているとする.

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

私が回答できる訳ではありませんが、言語が何なのかを 記述すると、良い回答が得られるかと思います。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

どの言語かくらい普通書くよね?

kitaguti_2
質問者

補足

pascal言語かな