スゴ技

平成25年度 秋 基本情報技術者試験 【問8】(その1)

Blog:IT・情報処理BLOG |

ソフトⅡコース担当 ブログのおにーさまこと高橋です。

今日は平成25年度秋期基本情報技術者試験午後問題、問8の解説です。問題は、IPAのサイトをご覧ください。

問8は文字列の圧縮・展開に関するアルゴリズム問題です。この問題は、プログラムの説明が5ページにも及んでいます。諦めてしまいそうな気になるかもしれませんが、説明が長いということは、それだけヒントが多いということでもあります。諦めないことです。

設問1
空欄a
圧縮処理の説明(4)の2より、最初の比較文字位置は、圧縮文字位置の4文字前になります。これが、空欄aの繰り返しの直前のDistanceに4を代入している処理に該当します。圧縮処理の説明(4)の3より最大26文字前まで移動しながら比較を行うので、繰り返しの条件は、Distanceが26以下です。また、問題には書いてありませんが、先頭位置よりも前を比較することはできません。従って、繰り返しの条件としてDistanceがPindex以下も満たす必要があります。空欄aにはアが入ります。

空欄b
圧縮処理の説明(4)の3(a)より、圧縮文字位置と比較文字位置から文字列の後方に向かって何文字一致するか調べます。つまり、一致しなくなるまでの文字数をカウントします。空欄bと比較しているPlaindata[Pindex+Fitnum]は圧縮文字列の文字なので、空欄bには対応する比較文字列の文字が入ります。圧縮文字位置と比較文字位置はDistanceだけ離れてるので、Distance分前方の文字になります。空欄bにはエが入ります。

空欄c
比較文字位置を前方に1つ進めて次の比較を行います。イが入ります。

空欄d
Maxfitnumが-1でなければ、圧縮できるの圧縮列に置き換えます。その後、圧縮文字位置を次の位置に進めることなりますが、その量は一致したMaxfitnum分です。エが入ります。

残りは次回に...

2013年(平成25年度)秋期の解説

Date:

神戸電子の
IT・情報処理学科
についてもっと知りたい!

Webアプリケーション等のシステム管理、設計、開発が行える総合的なITエンジニアを育成する学科です。

学科紹介を見る (神戸電子サイト)

学科紹介イメージ
Info神戸電子からのお知らせ

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

オープンキャンパスなどの
誰でも参加OKの楽しいイベント
やブログの最新記事などお届けします!

ページの上へ移動