HOME»応用情報技術者試験掲示板»H27春期午後のプログラミング
投稿する

H27春期午後のプログラミング [1510]

 T.S.さん(No.1) 
空欄イでは、「rStringの長さ」、ウでは、「EncodeArray[k]がrStringに等しい」と解答し、
正解はrStringがInputStringとなってましたが、rStringだとエラーになるのでしょうか?
2019.03.21 22:30
 T.S.さん(No.2) 
この投稿は投稿者により削除されました。(2019.03.21 22:50)
2019.03.21 22:50
 T.S.さん(No.3) 
あともう1点あります。
空欄カは「nがLineに等しくない」でもOKでしょうか?
2019.03.21 22:50
助け人さん(No.4) 
AP ゴールドマイスター
空欄イ…「rStringの長さ」は「InputStringの長さ」と等しいので、OKです。

空欄ウ…この時点の「rString」は巡回シフトが1周していて「InputString」とたまたま等しいので、OKです。でも、仕様によると「InputString」です。

ただ、上の二つは、採点時に正解としてくれるか、いささか不安です(IPAが別解として載せていないので)。

空欄カ…「nがLineに等しくない」だと、表1の手順3で、6文字目のa(4)がOutputStringの末尾に追加されないので、NGです。
2019.03.23 16:28
 T.S.さん(No.5) 
空欄カについてですが、
問題文の例から、BlockSortString="yppaaa"、Line=4とすると、
最初にOutputStringが追加されるのはDecodeArray[1][Line]
つまりDecodeArray[1]の4番目の要素になる"p"になります。
また、nはDecodeArray[2][Line]=2と代入されます。
while文に入る時、n、DecodeArray[1][n]、DecodeArray[2][n]の値の更新は
以下のようになります。

n  DecodeArray{1][n]  DecodeArray[2][n]
4      "p"                  2
2      "a"                  5
5      "p"                  3
3      "a"                  6
6      "y"                  1
1      "a"                  4

nが1の時、OutputStringに"a"が追加された後に、nはDecodeArray[2][n]=4に更新されます。
この時のOutputStringは"papaya"となっています。
さらに、nが4で、Lineと等しくなったため、関数として成立していると思われますが、
違った部分はどこになるのでしょうか?
2019.03.23 21:42
助け人さん(No.6) 
AP ゴールドマイスター
申し訳ありません。勘違いがありました。T.S.さんのおっしゃる通りです。空欄カは「nがLineに等しくない」でOKです。

T.S.さんは、これまでの他の投稿を見て、別解が得意なようですが、IPAの解答例のように解けて、なおかつ、別解も考えているのですか?それとも、最初から別解が出てくるのですか?
2019.03.23 22:08
助け人さん(No.7) 
AP ゴールドマイスター
余談ですが、図4において、空欄エと空欄オを含む2行は、
n ← Line
の1行に置き換えれば、スッキリします。

ただし、この場合は、空欄カは「nがLineに等しくない」ではダメで、IPAの解答例のとおりになりますね。
2019.03.23 22:24
 T.S.さん(No.8) 
ご返信ありがとうございます。
私は別解を考えてないのですが、解答時に、違った書き方をすることが多いです。
2019.03.23 23:44

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop