• 締切済み

プログラミングについて

次の問題と似た問題が試験で出るのですがまず例となる問題の答えにどうしてもたどりつけませんどなたか教えてくださいお願いします。 逆ポーランド記法による完全な整数電卓を作成すること仕様は以下の通り INで逆ポーランド記法入力をする OUTで結果を入力する 数値は複数桁対応(3桁まででよい) 数値と数値の間は1つ以上のスペースで区切られる 乗算は、シフト命令をうまくかうこと 除算は、商だけでよい スタック、サブルーチンをうまく活用すること たとえば、文字列を数値に変換する部分や、各演算部分をサブルーチン化するシュミレータによる動作確認をすること

みんなの回答

  • foofoo0
  • ベストアンサー率42% (39/92)
回答No.4

試験なんだから以前に講義などで習ったことを前提に出題されるのですから、 それを思い出して考えれば分かるはずですよね? 聞くにしてもどこでつまずいているのかを明確にしないで丸投げでは、教え る方も面倒に思ってしまいますよ。 まずは上記の問題を実現するために必要な機能の細分化をしてみましょう。 例えば、入力データを複数スペースで分割する機能、文字列を数値に変換す る機能、数値をスタックする機能…などなど。 それらの機能がサブルーチンとなります。 あとは、そのサブルーチンを組み合わせて、処理を組み立てていけばよい のです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

本質的には既に言われている通りだが, なんというか謎仕様. まず「INで逆ポーランド記法入力をする」とか「OUTで結果を入力する」というのがどういうことかよくわからん. 1つの解釈としては「IN と入力した後で逆ポーランドな入力を与える」とか「OUT と入力するとその直前の式の計算結果が出力される」が考えられるが, そんなまどろっこしいことするのか? ほかには「日本語がおかしい」部分もある. 「乗算は、シフト命令をうまくかうこと」とか「文字列を数値に変換する部分や、各演算部分をサブルーチン化するシュミレータによる動作確認をすること 」とか. 「各演算部分をサブルーチン化するシュミレータ」ってなんだよ....

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

まずは、どうして「たどりつけない」のか あなたが「できること」と「できないこと」をまとめましょう。そうすれば、何を勉強しなおせばいいかはっきりするはずです。質問するときもピンポイントでできるし、答える方も楽です。 それに、教えようにも、不明な点が多すぎて無理です。 ・これをどんな言語で作れと?何の指定もなければ Forth を使いますよ? ・IN,OUTって何? ・「乗算は、シフト命令を」って、乗算は普通にできないの?(となるとアセンブリ?)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>逆ポーランド記法による完全な整数電卓を作成すること これは、構文解析でよく例題にされるものですね。試験に出るということですので、情報系の学部に通われているのでしょうね。 「構文解析」とか「lex」「yacc」などをキーワードにネットで検索するとか、大きな書店で書籍を探してみれば、ほぼ似たような回答例が見つかると思いますよ。 ただ、そういう例題が見つかったとしても、実際に打ち込んで動かしてみないとなかなか理解できないのではないかと思います。 ちなみに、以前、設計は終わったが、実装が半年かかっても完成しないプログラムが某所であって、ヘルプに呼ばれたとき、構文解析の考えを応用して仕上げたことがあります。 この構文解析関連は、一度理解するとコンパイラーやインタプリタも作れるようになります。活躍する場面はわりと少ないとは思いますが重要なものですので、試験で点数を取ることも大事ですが、きちんと理解しておくほうがいいと思います。

関連するQ&A