1)課題
左側のコンベアのパネルが無くなるまで、右側に運んでください。運ぶ時はパネルが2つごとに逆になるようにしてください。[COPYTO]コマンドが使用可能になりました。データのコピー品を、カーペットの指定した場所に置くことが出来ます。問題文がわかりにくい場合はそこにいる上司に解答例を聞いてみましょう。
2)解説
COPYTOコマンドはCOPYFROMコマンドの対となるコマンドです. COPYFROMコマンドと同じようにCOPYTOコマンドにもカーペットの位置を示す番号が付きます.
まず, COPYTOコマンドの動作を確認してみます. INBOXコマンドとCOPYTOコマンドを実行してみました. 左のコンベアからパネルを取り, カーペットの0番にパネルのコピーを置いています. カーペットに置くのはパネルのコピーであり, 左のコンベアから取ったパネルをそのまま持っていることに注意してください.
ここで解答例を見て, 上司が要求していることを確認します. 先頭2枚のパネルだけを考えます. 左のコンベアに4, 9とパネルが並んでいるなら, 右のコンベアに9, 4の順にパネルを運べば上司の求めに応じられます.
上司の要求に応えるための手順を整理してみます.
- 左のコンベアからパネルを取りだす.
- カーペットの0番にパネルのコピーを置く.
- 左のコンベアからパネルを取りだす.
- そのままパネルを右のコンベアに運ぶ.
- カーペットの0番に置いたパネルを取りだす.
- 右のコンベアに運ぶ.
この手順通りにコマンドを並べてみます.
この内容で実行してみます. 上司に怒られてしまいましたが, 左のコンベアに4, 8とあったパネルが, 右のコンベアに8, 4の順に運んでいます. パネル2枚だけですが, 上司の要求を満たせています.
JUMPコマンドを使ってループさせれば, 上司の要求を満たせますので, この問題はクリアーできます.
3)補足
COPYFROMコマンドとCOPYTOコマンドがエラーとなる, つまり, 上司に怒られる条件を確認しておきます.
パネルを持たずにCOPYTOコマンドを実行するとエラーとなり, 上司に怒られます. カーペットにコピーするパネルを持っていないのですから, 当然です.
パネルを置いていないカーペットに対してCOPYFROMコマンドを実行するとエラーとなり, 上司に怒られます. コピーしようとするパネルが無いのですから, 当然です.
4)まとめ
- この課題では, COPYTOコマンドを使ってカーペットにパネルのコピーを置く方法を学びました. つまり, COPYTOコマンドを使えば持っているパネルを退避できます.
- パネルを持たずにCOPYTOコマンドを実行するとエラーとなります.
- パネルを置いていないカーペットに対してCOPYFROMコマンドを実行するとエラーとなります.
0 件のコメント:
コメントを投稿