私が知っている大学の新入生は、コンピュータサイエンスのクラスの紹介を受けて、宿題の1つについて助けを求めてきました。私は何度か読み通しましたが、彼らが何を求めているのかわからないことを認めるのは恥ずかしいです。ここに質問があります:
以下にループの概要を示します。プログラムを終了して、x値とy値を読み取り、それらを検証し(正しい値を入力するまでユーザーにプロンプトを表示し続けることにより)、指定されたアサーションが常にtrueになるように実行します。プログラムの真でなければならない4つのポイントにループ不変アサーションを含めます。指定されたassert(...)ステートメントを除いて、乗算演算子を使用することはできません。
assert(x>0 && y>0);
while(...)
{
assert(sum == i*(x+1));
...
...
}
assert(sum == y*(x+1));
ループ不変条件が何であるかわからなかったので、グーグルでウィキペディアの記事を読みました。それから、最初のassertステートメントは、ループの期間中、xとyが負になることを許可してはならないことを示しています。正直なところ、私はこの時点で立ち往生しています。誰かが私がここで何を求めているのか理解するのを手伝ってもらえますか?