アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在春の基本情報技術者試験に向けて勉強してますが、アルゴリズムで悪戦苦闘しています。
平成23年秋の問題ですが、問8のアルゴリズムですが、設問2の構文解析処理ですの解き方が解説を見ても分かりません。解説には「優先度の高いコードを検索する流れ」となってますが、それがこの流れに繋がる所が飲み込めません。
何か良い解説本orサイトはありますでしょうか?

A 回答 (1件)

「表1 文字とコードの対応」において,数値が大きいほど優先度(priority)が高い


(具体例で言うなら,数値11が対応づけられた+-より,数値12が対応づけられた*/の方が優先度が高い)
という知識が必要なだけで,
副プログラム1・副プログラム2はどちらも一次元配列の線形探索アルゴリズムです。

解答欄c・dに正解を埋めた上で,
[代入文の構文解析](2) で図示された配列のイラストを用いて,
[副プログラム1]ならば i←1 ですから配列の1番目に指を置き,1つずつ後ろに指をずらしていく(i←i+1),
[副プログラム2]ならば i←Getpos(S[], "≫")-1 ですから配列の12番目に指を置き,1つずつ前に指をずらしていく(i←i-1),
上記のような走査を試してみてください。
もっとも優先度が高い12が発見された要素の添字が,最終的にnextに格納されているはずです。
    • good
    • 1
この回答へのお礼

ありがとうございます。
言葉ではわかりやすいのですが、実際に問題文をなぞっていくとどうしても・・・。

お礼日時:2012/02/19 22:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!