講評

各試験の講評です

平成30年度秋期

問12では、基準日から指定された日付までの日数を求めるプログラムについて出題した。

設問1
aの正答率は低く、あまり理解されていなかった。オと誤って解答した受験者が見受けられた。LAD命令とLD命令の違いを理解していれば、正答できた。
bとcの正答率は平均的で、おおむね理解されていた。
dの正答率は低く、あまり理解されていなかった。イと誤って解答した受験者が見受けられた。年を100で割り切れるかどうかを判定するために副プログラムDIVISIBLを呼び出し、その戻り値が0であれば、100で割り切れきれないことが分かり、うるう年であることが確定する。副プログラムLEAPYEARは、うるう年の場合、その戻り値が1でなければならないので、DIVISIBLの戻り値0を反転させ、1を戻り値として戻る。イでは、DIVISIBLの戻り値が変わらないので、正しい判定ができないことに注意が必要である。

設問2
eの正答率は低く、あまり理解されていなかった。GR0でその年の日数を求めるので、計算過程で1年の日数を超えない値であることが理解できれば、正答できた。
fの正答率は高く、よく理解されていた。

LAD命令とLD命令との違い、XOR命令によるビットの反転など、命令の機能を正しく理解して使用できるようにしてほしい。


平成30年度春期

問12では、整数を表す数字から成る文字列(数字列)の数値への変換、文字列からの数字列の抽出及び整数の乗算、を行うプログラムの作成について出題した。

設問1の正答率は平均的で、おおむね理解されていた。

設問2の正答率は低く、あまり理解されていなかった。
bでは、オ又はカと誤って解答した受験者が見受けられた。
取り出した文字が空白(数字列の区切り)でなければ、数字の処理を続けることに気がつけば、正答できた。

cでは、ウ又はオと誤って解答した受験者が見受けられた。
数字列の処理中でなければ(数値に変換する数字列がなければ)、副プログラムSETWDから何もせずに戻ることに気がつけば、正答できた。

dでは、イ又はウと誤って解答した受験者が見受けられた。
管理テープルに数字を格納したので、格納位置を次に進めなければならないことに気がつけば、正答できた。

設問3ではeの正答率は平均的で、おおむね理解されていた。
fの正答率は低く、あまり理解されていなかった。イ又はウと誤って解答した受験者が見受けられた。
整数の乗算の過程で、乗数の各ピットの値を下位桁から順に調べていることに気がつけば、正答できた。

コンピュータが周辺機器と数値のデータをやり取りする場合、文字列を介して行うことが多いので、アセンブラプログラムでの数字列の処理方法を習得しておいてほしい。また、アセンブラプログラムでは乗算プログラムを作成することが多々あるので、その処理方法を習得しておいてほしい。


平成29年度秋期

問12では、ビット列の検索・置換を行うプログラムの作成について出題した。

設問1の正答率は平均的で、おおむね理解されていた。
aでは、アと誤って解答した受験者が見受けられた。
二つのレジスタの内容一致をどのようにして判定するかが理解できれば、正答できた。

設問2の正答率は平均的で、おおむね理解されていた。

設問3の正答率は低く、あまり理解されていなかった。
cでは、ア又はウと誤って解答した受験者が見受けられた。cの次の行を実行した後でGR2の内容が"p-16"になることに気がつけば、正答できた。
dでは、ウ又はオと誤って解答した受験者が見受けられた。dの次の行でGR2の内容を格納していることから、最終的にGR2の内容がどのように構成されるのかを理解し、その過程を追跡できれば、正答できた。

設問4の正答率は低く、あまり理解されていなかった。ウと誤って解答した受験者が見受けられた。置換すべきビット列が2語にまたがったときの2語目用のマスクについて、具体的に考えてみれば、正答できた。

アセンブラプログラムにおいて、ビットを操作する処理はよく行われるので、シフトの使い方やマスクの使い方について習得しておいてほしい。


平成29年度春期

問12では、1語が16ビットであるコンピュータのアセンブラ言語において、32ビット長や64ビット長の整数の演算を行うプログラムの作成について出題した。

設問1ではaの正答率は平均的で、おおむね理解されていた。

bの正答率は低く、あまり理解されていなかった。イと誤って解答した受験者が見受けられた。(GR3)の初期値が(GR1)+3であることや、ループの繰返し回数が4回であることに気がつけば、正答できた。

cの正答率は高く、よく理解されていた。設問2の正答率は低く、あまり理解されていなかった。ウと誤って解答した受験者が見受けられた。16進数も10進数と同様に、同じ桁同士を加算し、基数(16)以上の値になれば桁上がりすることを理解していれば、正答できた。アセンブラ言語では16進数による表現を多用するので、慣れておいてほしい。

設問3の正答率は低く、あまり理解されていなかった。

eでは、ウ又はエと誤って解答した受験者が見受けられた。eに当てはめた条件分岐命令の条件成立時、不成立時それぞれにおいてアクセスするメモリアドレスに注目すれば、正答できた。

fでは、キと誤って解答した受験者が見受けられた。乗算は左シフトと加算で、1ビット左シフトは被シフト数の加算でそれぞれ実現できることを踏まえ、fの次のCALLADD64が1ビット左シフトに相当することに気がつけば、正答できた。ある演算を別の演算に置き換える手法はアセンブラ言語によるプログラミングでは頻繁に用いられるので、よく理解しておいてほしい。



平成28年度秋期

問12では、リストに対して、要素を挿入又は削除するプログラムの作成について出題した。
全ての設問において、正答率は低く、あまり理解されていなかった。

設問1のaではイと誤って解答した受験者が多く見受けられた。
また、ウ又はオと誤って解答した受験者が見受けられた。
GR1とGR2の役割と“要素をたどる"という操作の意味が理解できれば、正答できた。
bではア又はイと誤って解答した受験者が見受けられた。
直前の命令で、GR2に、新たに挿入される要素の先頭アドレスが得られていることに気がつけば、正答できた。
cではウ又はエと誤って解答した受験者が見受けられた。
ここでも、GR2の役割が理解できれば、正答できた。

設問2では、ア又はイと誤って解答した受験者が見受けられた。
GR2は、但し、GR4に退避された後、行番号15で新たに挿入される要素の1語目が設定されることに気がつけば、正答できた。

設問3では、オ以外に解答が分散した。
主記憶上に展開されたリストを、図示するなどの工夫をしてイメージできれば、正答できた。
リストは最も基本的なデータ構造の一つであり、実装と操作について理解しておくことは非常に重要である。
ぜひ習得しておいてほしい。




平成28年度春期

問12では、10,000m競走のチーム別成績を上位から順に出力するプログラムの作成について出題した。

設問1では、a、bの正答率は平均的で、おおむね理解されていた。

設問2の正答率は低く、あまり理解されていなかった。アと誤って解答した受験者が多く見受けられた。
領域を後ろから検査しているので、チーム番号の降順に出力されることに気がつけば、正答できた。

設問3では、d、eの正答率は平均的で、おおむね理解されていた。

設問4の正答率は低く、あまり理解されていなかった。イ又はウと誤って解答した受験者が見受けられた。
2708のうちの、2と7を求めるためには、2+7=9回実行する必要があることに気がつけば、正答できた。
アセンブラプログラムにおいて、データの検索や、2進数から文字列への変換は、基本的な処理なので、身につけておいてほしい。


0 件のコメント:

コメントを投稿

基本情報技術者試験 アセンブラ(CASL) 原稿 20210529

  基本情報技術者試験 アセンブラ(CASL) 簡単に5割 平成21年春期,平成21年秋期 平成21春期 平成21秋期 平成22春期 平成22秋期 平成21春期 概要 解き方 設問1-a 設問1-b 設問1-c 設問2-d...