アルゴリズム×擬似言語(大滝みや子)の応用例題
けんしろうさん
(No.1)
大滝みや子さん著書、アルゴリズム×擬似言語トレーニングブックの応用例題4-13が解説を読んでも全くもって理解できない状況にあります。
【わからない部分】
・文字型配列tblとはなんなのか
問題1行目で配列rpnが出てきていますが、これを使っていくのかと思いきやtblが出てきました。
その後7行目のWhile文にて、rpnとtblを比較しているいますけど、そもそもrpnの中身がわからないから何と比較すれば良いのかわかりません。
・while文について
解説では、while文によって文字型から数値に変換すると記載がありますが、while文を使うことで何故文字列から数値に変換できるのかもわかりません。
どなたかわかる方がいれば教えていただけないでしょうか?
また、こちらの大滝みや子さんの問題集全般の解説動画や記事があれば、教えていただけると凄く助かります。
試験も近づき本当に困っています。
お力添えいただけたら嬉しいです。
何卒宜しくお願い致します。
【わからない部分】
・文字型配列tblとはなんなのか
問題1行目で配列rpnが出てきていますが、これを使っていくのかと思いきやtblが出てきました。
その後7行目のWhile文にて、rpnとtblを比較しているいますけど、そもそもrpnの中身がわからないから何と比較すれば良いのかわかりません。
・while文について
解説では、while文によって文字型から数値に変換すると記載がありますが、while文を使うことで何故文字列から数値に変換できるのかもわかりません。
どなたかわかる方がいれば教えていただけないでしょうか?
また、こちらの大滝みや子さんの問題集全般の解説動画や記事があれば、教えていただけると凄く助かります。
試験も近づき本当に困っています。
お力添えいただけたら嬉しいです。
何卒宜しくお願い致します。
2026.05.30 11:48
おにじさんさん
(No.2)
旧版の4.9の問題かと思いますが、rpnはこれからrpnCalc関数を利用するひとが用意する配列です。
ぼくの版では左ページにrpnの例が載っていますが、たとえば
{"1", "2", "+"}
や
{"1", "2", "3", "×", "+"}
※大滝本からの引用です。よくあるただの配列なのでそのまま引用しました。
こういう配列を関数利用者自身がつくって、たとえば、
rpnCalc({"1", "2", "+"});
として使うというものです。
文字列をkという数字や演算子に置き換えて処理してます。文字列から数字への置き換えが大きなポイントです。
まずは
{"1", "2", "+"}
を関数rpnCalcにあたえてトレースしてみることをおすすめします。
ぼくの版では左ページにrpnの例が載っていますが、たとえば
{"1", "2", "+"}
や
{"1", "2", "3", "×", "+"}
※大滝本からの引用です。よくあるただの配列なのでそのまま引用しました。
こういう配列を関数利用者自身がつくって、たとえば、
rpnCalc({"1", "2", "+"});
として使うというものです。
文字列をkという数字や演算子に置き換えて処理してます。文字列から数字への置き換えが大きなポイントです。
まずは
{"1", "2", "+"}
を関数rpnCalcにあたえてトレースしてみることをおすすめします。
2026.05.30 13:05
strumさん
(No.3)
>思考手順の例
問題を解くにあたり前提知識の確認。
・逆ポーランド記法を理解しているか?
・スタック(データ構造)を理解しているか?
次に英略語からプログラムの目的や意味を再確認。
・rpn = 逆ポーランド記法(Reverse Poland Notation)
・calc = 計算(calclate)
・tbl = テーブル(table)
最後に検証。
表のデータ({"1","2","+"}等)を順次プログラムに入力し動作を確認。
この作業が所謂トレースにあたります。
筆算計算の挙動と比較しながらプラグラムを追うんですが、逆ポを理解してないと迷う気がします。
つまりコード読解出来るとか実務経験者とか関係無く正誤判定が曖昧になります。
>【わからない部分】
・文字型配列tblとはなんなのか
データを格納している配列。
内容は要素番号0-9が文字数字で、要素番号10-13が文字演算記号。
rpnは私達が任意に入力する値(上記でいう1,2,+)で、tblは電卓の値。
>・while文について
変数kを基に変換していますね。
ここは本問の根幹部分なので解説を読んで下さい。
そもそも何で文字数字に置き換えているのかというと逆ポの処理の問題です。
2026.05.30 14:48
けんしろうさん
(No.4)
おにじさん
strumさん
教えていただきありがとうございます。
参考にしながら理解を深めてまいります。
strumさん
教えていただきありがとうございます。
参考にしながら理解を深めてまいります。
2026.05.30 20:43
広告
返信投稿用フォーム
投稿記事削除用フォーム
広告