2021/11/27

ヒューマン・リソース・マシーン 入社29年目−間接的な指定

 目次

1)課題

左側の各数値は、カーペット上の番号を示しています。各番号の場所におかれている文字を取得し、右側に運んで下さい。

「データの間接指定」が出来るようになりました。下記の例を実行して、直接していとの違いを感じてみましょう。

2)解説

この課題では, カーペットの12番に対して2種類のCOPYFROMを配置しています. ステップ実行してみます. 

2行目のCOPYFROMコマンドを実行すると, カーペットの12番に置いてあるパネルの値をカーペットの番号とみなして, カーペットの8番に置いてあるパネルを取ります. これが, 「データの間接指定」と呼ばれる理由です.

この結果を使って課題に取り組みます. 手順としては次のようになります.

  1. INBOXコマンドを使って左のコンベアからパネルを取り出し, カーペットの12番に置く. 
  2. COPYFROMコマンドを「間接指定」でカーペットの12番に対して実行する. 
  3. OUTBOXコマンドを使ってパネルを右のコンベアに運ぶ. 

この通りにプログラムを作ってみました. これを実行すると課題をクリアーできます. 

3)間接指定の注意事項

間接指定をする場合, 上司に怒られないように細心の注意が必要となります.

間接指定である/なしにかかわらず, パネルを置いていないカーペットを指定すると上司に怒られます.

間接指定の場合, 数値以外のパネルを置いてあるカーペットを指定しても上司に怒られます.

カーペットの12番に置いてあった8を使って16に増やしました. カーペットは0番から14番までしかありません. その範囲外を指定しても上司に怒られます. 実務でこういうことをやらかすと対応が難しいので注意が必要です. 「注意しましょう」で解決するなら苦労はしません. 実務での解決法については, 別の機会に. 

目次

0 件のコメント:

コメントを投稿

ヒューマン・リソース・マシーン 入社41年目−並べ替えよ

目次 1)課題 0を終端とした文字列がいくつか流れてきます。各文字列に対してソート(並べ替え)を行い、小さい順(昇順)に右側へ運んでください。 2)状況の確認 この問題では, 予めコードが入っています. このコードを実行して, 何をするコードなのか確かめます.  左のコンベアから...