回答終了
基本情報技術者の勉強をしています。 この問題のループのところが根本的に理解できません。 iはまずどこからきたのか。 何をループさせようとしているのか。 増分がなぜ-1なのか。本当に何もかも意味がわかりません。
48閲覧
チャートの下に ==== ループにおける条件は 変数名:初期値、増分、終値 を示す ==== と書かれていますので、 ループにおける条件は 変数名(i):初期値(n-1)、増分(-1)、終値(0) を示すことになります。 従って、 変数iは 1回転目はn-1(初期値) 2回転目はn-2 … n-1回転目は1 n回転目は0(終値) となりループから外れます。 以上のことから、 ①iはまずどこからきたのか。 → ループにおける条件の定義からきております。 ②何をループさせようとしているのか。 → ループの回数をコントロールさせようとしています。 ③増分がなぜ-1なのか。 → ループにおける条件の定義に当てはめているからです。
まず、「TANGO[1]からTANGO[n]まで入っている。」 から、TANGO[0]は、ワーク領域でTANGO[n]→TANGO[0]は TANGO[n]を退避させている⇒TANGO[n]は何かで上書きされる。 と解釈すべき。 >iはまずどこからきたのか。 ループの中だけで使用するカウンタでしょう。 >何をループさせようとしているのか。 具体例を当てはめて考えてみる。 やりたいことは、例えば TANGO[1]=リンゴ TANGO[2]=バナナ TANGO[3]=イチゴ だったものを TANGO[1]=イチゴ TANGO[2]=リンゴ TANGO[3]=バナナ にすること。 ①TANGO[3]=イチゴをTANGO[0]に退避する。 TANGO[0]=イチゴ TANGO[1]=リンゴ TANGO[2]=バナナ TANGO[3]=イチゴ になる。 ここからループ ②TANGO[2]=バナナをTANGO[3]にコピーする。 TANGO[0]=イチゴ TANGO[1]=リンゴ TANGO[2]=バナナ TANGO[3]=バナナ になる。 ③TANGO[1]=リンゴをTANGO[2]にコピーする。 TANGO[0]=イチゴ TANGO[1]=リンゴ TANGO[2]=リンゴ TANGO[3]=バナナ になる。 ④TANGO[0]=イチゴをTANGO[1]にコピーする。 TANGO[0]=イチゴ TANGO[1]=イチゴ TANGO[2]=リンゴ TANGO[3]=バナナ になる。 できあがり。 >増分がなぜ-1なのか。 バナナを移動する前にリンゴを移動すると バナナがリンゴで上書きされてしまい消えてしまうから。
< 質問に関する求人 >
求人の検索結果を見る
< 平日勤務で週末はリフレッシュしたい人におすすめ >
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
求人の検索結果を見る