でこのロジックを記述することができ、次のルールで仮想的なプログラミング言語を考えてみましょう:各関数は、各関数の最後に「BEGIN」とその名前 キーワードで始まりどのように私はC
、キーワードが存在しなければなりません"終わり"。
関数を呼び出すには、関数の名前の直前にキーワード "CALL"を使用します。キーワード "EXECUTE"は、 "別の関数の助けを借りずに作業を行う"ことを意味します。
「完了」という単語は、この課題で私たちの関心事ではありません。 プログラムは常に "BEGIN Main"という行で始まります。
上記のルールに関していくつかのコードが記述され、 "code.prog"というファイルに格納されているものとします。このファイルでは、各行の先頭に "行番号"が存在すると仮定します。
このコード(code.prog)を読み取って実行を行番号で出力するCプログラムを作成します。 このジョブでは、関数呼び出しの行番号のスタックを作成することになっています。したがって、さらに、「関数呼び出し」と「関数終了」ごとにスタックの内容を出力します。コードの
EXAMPLE
code.prg // this is the file
1 BEGIN Fun1
2 CALL Fun2
3 EXECUTE
4 END
5 BEGIN Fun2
6 EXECUTE
7 END
8 BEGIN Main
9 EXECUTE
10 CALL Fun1
11 END
出力:
Execution Order of Lines:
8
9
10 Stack = 10
1
2 Stack = 2 10
5
6
7 Stack = 10
3
4 Stack =
11 --- END ---
問題を解決してユーザーに解決させるプログラミングコンテストサイトではありません。多くのチュートリアルとオンラインプログラミングコンテストサイトがあります。それを試してみてください。もしあなたが間違っていたら、そのエラーを解決しようとします。 –
[this](http://ideone.com/QotaSJ) – BLUEPIXY