これは設問の図(フローチャート)の中にある、白抜きの四角2か所(今は<と≧が入っている)が空欄になっていて、答えに書かれている内容から、「その答えを導き出せるような動きになるように図を完成させる」ものですよね。
まずフローチャートに出てくる変数(A、S、N)が何を表しているかを考えましょう。
そうすると、
- ループがN>100までということは、Nは1~100までのループで、問題から100とはそもそもの値の個数であることが分かります
- N を添え字に使っている A は配列ですから、これが入力元の配列であることが分かります
- S は1ずつ増えるだけで減らない(減る処理がどこにもない)ので、何かのカウンタだと分かります
次にフローチャート内の菱形部分(A[N]:0)を考えます。これは分岐ですから、この比較結果によって処理が二通りに分かれていますね。一方のときのみ「S+1 → S」を通ります。これはつまり、「ある条件を満たしたら、S を1増やす」わけです。
そして答えとして欲しいのは「負数の数」ですから、この「ある条件」は「負数であること」となります。
このことから、このルートの条件は、A[N] と 0 との関係で、A[N]が負数であるときに成立する比較ですから、A[N] < 0 となることが分かります。
これで一方のルートが確定しましたから、もう一方はその逆、すなわち A[N] ≧ 0 のときとなります。
余談:
このフローチャートだと、最終結果として何を出力するかが書いてないので、問題としては不適切ですね。
実のところ、□の中身を逆にしても(正もしくは0の数をカウントしても)よいのです。最終出力を「100-S」としてしまえばよいのですから。